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

如何通过自研IDP向Azure B2C自定义策略传递自定义声明?

解决方案:将自研IDP置于React与Azure B2C之间传递自定义声明

完全可以通过调整架构,让自研IDP作为React应用与Azure B2C之间的中间层,实现自定义声明的安全传递,具体实现方式如下:

调整登录发起逻辑

修改React应用的MSAL配置,将授权端点指向自研IDP,而非直接指向Azure B2C。当React应用检测到用户未登录时,发起的登录请求会先跳转至自研IDP。

自研IDP作为中间代理的核心流程

  1. 接收并存储参数:自研IDP接收React的登录请求,提取或从已维护的会话中取出需要传递的权限参数。
  2. 生成签名JWT:使用仅自研IDP与Azure B2C共享的密钥,生成包含权限参数的签名JWT令牌,将权限作为自定义声明嵌入其中。
  3. 重定向至B2C自定义策略:将用户重定向到Azure B2C的自定义策略端点,同时将生成的签名JWT作为id_token_hint参数传递给B2C。

配置Azure B2C自定义策略

在已有的自定义策略中添加验证逻辑:

  • 验证传入的id_token_hint的签名有效性,确保令牌来自可信的自研IDP
  • 提取令牌中的权限声明,将其纳入用户的身份令牌生成流程,用于后续的权限授予

关键注意事项

  • 密钥安全:自研IDP与B2C共享的签名密钥必须严格保密,仅在服务端维护,绝不能暴露给客户端应用。
  • 重定向URI配置:在Azure B2C的应用注册中,添加自研IDP的回调地址作为允许的重定向URI;同时在React应用的MSAL配置中,将自研IDP的地址设置为授权端点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 03:25:10