You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure B2C客户端凭据流抛出invalid_grant AADB2C90085错误求助

排查Azure B2C客户端凭据流中的invalid_grant(AADB2C90085)错误

环境与配置信息

  • 受保护Web API:
    • 暴露API的App ID URI:https://{my tenant name}.onmicrosoft.com/{protected web api client id}/.default
  • 守护程序控制台应用:
    • API权限配置:
      • 目标API:受保护Web API
      • 权限:access_as_application
      • 权限类型:Application
      • 已完成管理员同意:是

令牌请求详情

使用OAuth客户端凭据流发起POST请求:

POST https://{my tenant name}.b2clogin.com/{my tenant name}.onmicrosoft.com/{a basic user flow SUSI policy}/oauth2/v2.0/token

scope=https://REDACTED.onmicrosoft.com/{protected web api client id}/.default&
grant_type=client_credentials&
client_id={daemon console app client id}&
client_secret={daemon console app client secret}

错误响应

{
    "error": "invalid_grant",
    "error_description": "AADB2C90085: The service has encountered an internal error. Please reauthenticate and try again.\r\nCorrelation ID: REDACTED\r\nTimestamp: REDACTED\r\n"
}

排查方向与解决方法

1. 替换请求中的用户流为自定义策略

客户端凭据流不支持用户流(如SUSI策略),必须使用包含ClientCredentialsIssuer技术配置的自定义策略。用户流仅适用于交互式认证场景,非交互式的客户端凭据流需要自定义策略提供支持。

2. 修正Scope参数

确保请求中的scope值与受保护Web API配置的App ID URI完全匹配,替换所有占位符(如{my tenant name}、{protected web api client id})为实际有效值,避免保留REDACTED这类未替换内容。

3. 重新确认管理员同意

即使已标记“已请求管理员同意”,仍需重新操作验证:

  • 进入守护程序应用的API权限页面
  • 点击「授予管理员同意」按钮,确认租户管理员权限已成功生效

4. 校验客户端凭证有效性

  • 确认client_id和client_secret是守护程序应用的正确值,client_secret未过期或被重置
  • 若使用证书替代客户端密钥,检查证书配置是否正确、是否在有效期内

5. 检查租户与应用状态

  • 确认Azure B2C租户处于正常状态,无限制措施
  • 受保护Web API和守护程序应用均处于启用状态,未被禁用

6. 查看B2C详细日志

在Azure门户的B2C租户中,进入监控 > 日志,通过错误中的Correlation ID搜索详细日志,获取更具体的错误触发原因,比如权限配置疏漏、策略规则错误等。

内容的提问来源于stack exchange,提问作者Exegesis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 04:06:21