遵循SO步骤操作Azure认证时遭遇AADSTS7000218错误求助
解决AADSTS7000218认证异常的方案
具体排查与修复步骤
确认MSAL客户端构建类型
即使Azure后台开启了公共客户端流,若代码中使用ConfidentialClientApplicationBuilder构建机密客户端实例,仍会强制要求client_secret或client_assertion。必须改用PublicClientApplicationBuilder来创建公共客户端实例。复查Azure应用注册配置
进入Azure应用注册的「身份验证」页面,确认已添加对应公共客户端平台(如移动和桌面应用),且「允许公共客户端流」选项已勾选。保存配置后等待5-10分钟,让设置全局生效。校验认证请求参数
抓包查看实际发送的认证请求,确保请求中未错误携带client_secret等机密类参数。公共客户端的授权请求仅需包含client_id,不应出现机密相关字段。升级MSAL版本
部分旧版Microsoft.Identity.Client包对公共客户端流的支持存在兼容性问题,尝试升级至最新稳定版。
异常原文:
Microsoft.Identity.Client.MsalServiceException: (...) AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret' (...)
内容的提问来源于stack exchange,提问作者Marc
相关产品推荐
相关产品推荐

