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

如何让App Service认证兼容b2clogin.com与自定义域名的令牌?

无需代码变更兼容多Issuer的App Service认证方案

针对你的场景,有两种无需修改代码的方法让App Service认证(EasyAuth)同时处理新旧Issuer声明的令牌:

方法1:添加多个B2C身份提供商实例

在Azure门户的App Service认证面板里,给同一个B2C租户配置两个OpenID Connect身份提供商:

  • 第一个沿用旧配置:颁发者URL填https://xxxx.b2clogin.com/xxxx.onmicrosoft.com/v2.0/.well-known/openid-configuration?p={mySigninPolicy},对应老版本应用的令牌Issuer。
  • 第二个适配自定义域名:颁发者URL填https://mycustomdomain.com/11111111-1111-1111-1111-111111111111/v2.0/,对应新版本应用的令牌Issuer。

配置细节:

  • 两个身份提供商可以共用同一个客户端ID和密钥,因为本质指向同一个B2C应用。
  • 确保两个身份提供商都被设置为允许的身份来源,这样EasyAuth会自动校验来自任一Issuer的有效令牌。

方法2:通过应用设置自定义Issuer验证规则

直接在App Service的应用配置里添加规则,允许多个合法Issuer:

  1. 进入App Service的「配置」→「应用程序设置」
  2. 添加配置项:
    • 键:WEBSITE_AUTH_OPENID_ISSUER_VALIDATION_POLICY
    • 值:AllowMultipleIssuers
  3. 再添加允许的Issuer列表:
    • 键:WEBSITE_AUTH_OPENID_ALLOWED_ISSUERS
    • 值:https://xxxx.b2clogin.com/xxxx.onmicrosoft.com/v2.0/,https://mycustomdomain.com/11111111-1111-1111-1111-111111111111/v2.0/

注意:该方法要求App Service使用的Runtime版本支持该配置,目前Azure默认的Runtime均已兼容。

验证步骤

配置完成后,分别用老版本和新版本应用获取的令牌调用Azure Function,确认两者都能正常通过认证、返回200响应即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:30:41