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

为何Web API需要配置SignUpSignInPolicyId?

关于Azure AD B2C中Web API配置SignUpSignInPolicyId的疑问解答

先看示例中的Web API配置:

"AzureAdB2C": {
  "Instance": "https://fabrikamb2c.b2clogin.com",
  "ClientId": "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6",
  "Domain": "fabrikamb2c.onmicrosoft.com",
  "SignedOutCallbackPath": "/signout/B2C_1_susi_reset_v2",
  "SignUpSignInPolicyId": "B2C_1_susi_reset_v2"
  //"CallbackPath": "/signin/B2C_1_sign_up_in"  // defaults to /signin-oidc
},

你的困惑点非常准确:Web API确实不控制登录注册流程,只负责验证令牌,但这个配置是令牌验证环节的核心要求:

  • 发行人(iss)校验:Azure AD B2C签发的JWT令牌里,*iss*字段包含完整的策略标识,格式为https://{Instance}/{Domain}/{SignUpSignInPolicyId}/v2.0/。API验证令牌时必须确认该字段与预定义的信任值一致,配置*SignUpSignInPolicyId*后,验证组件能自动生成合法的发行人地址,拒绝来自其他策略或恶意源的令牌。
  • 元数据自动获取:ASP.NET Core的Azure AD B2C中间件会用*SignUpSignInPolicyId*配置拼接出对应策略的OpenID Connect元数据地址,从中获取用于验证令牌签名的公钥、支持的算法等关键信息,确保令牌未被篡改且符合信任标准。

另外提一句:示例里的SignedOutCallbackPath是给前端登录应用使用的配置,Web API完全不需要,可以删除这个冗余项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:35:19