应用注册更新Client Secret后WebApp无法读取新值报错求助
解决AADSTS7000215无效客户端密钥问题
针对你遇到的Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException: AADSTS7000215错误,以下是针对性的排查和解决步骤:
确认Client Secret的正确性
确保你复制的是应用注册中Client Secret的值(创建时显示的一次性字符串),而非Secret的ID(应用注册列表里的名称/ID)。同时检查该Secret状态为「启用」,过期时间设置正确,复制时不要包含首尾空格或换行符,建议直接从Azure门户的Secret创建弹窗复制完整值。检查WebApp配置与同步
- 直接在WebApp配置中设置的:更新配置后必须重启WebApp,确保新配置生效,避免读取旧的内存缓存配置。
- 使用Azure Key Vault的:
- 验证Key Vault中存储的Secret值是否为新的Client Secret值,确认没有存错。
- 检查WebApp的托管身份是否被授予Key Vault的「Secret读取」权限,权限范围覆盖目标Secret。
- 确认应用读取的是Key Vault中Secret的最新版本,而非旧版本。
排查代码中的缓存与硬编码
- 检查代码中是否存在硬编码的旧Client Secret值,尤其是初始化ADAL认证上下文的位置。
- 确认应用没有在内存中缓存旧认证凭证,比如ADAL的
TokenCache是否长期缓存失效密钥,必要时重启应用清空缓存。 - 验证配置读取逻辑是否正确,比如配置项名称是否拼写无误,读取路径是否正确。
验证请求中的实际Secret值
启用WebApp详细日志,捕获发送到Azure AD的认证请求,检查请求中client_secret参数是否为新值,确认没有被中间逻辑篡改。确认应用注册匹配
核对WebApp配置中的Client ID与应用注册的Client ID完全一致,确保没有误操作其他环境的应用注册实例。
内容的提问来源于stack exchange,提问作者vikashk
相关产品推荐
相关产品推荐

