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

Azure B2C自定义策略中OAuth2.0第三方AccessToken请求的客户端证书问题

解决方案

自建中间REST代理服务

  • 搭建一个中间REST服务(比如Azure Function、ASP.NET Core Web API),接收B2C传递的授权码、客户端ID等参数。
  • 服务内部使用客户端证书向第三方身份提供商的AccessTokenEndpoint发起请求,完成token兑换。
  • 将获取到的access_token及其他所需声明返回给B2C。
  • 修改B2C自定义策略中的OAuth2 Technical Profile,把AccessTokenEndpoint指向这个中间服务的地址,同时配置B2C与中间服务的安全认证(比如client_secret)。

用Azure API Management(APIM)做代理

  • 在APIM中新建一个API,后端地址设为第三方的AccessTokenEndpoint。
  • 在APIM后端配置里上传客户端证书,开启证书认证。
  • 调整B2C自定义策略里的AccessTokenEndpoint为APIM的API访问地址。
  • 给APIM设置访问控制,只允许B2C的IP段或指定身份访问,保障通信安全。

拆分认证流程为多步骤

  • 在B2C自定义策略的UserJourney中,先通过OAuth2 Technical Profile获取第三方的授权码(仅完成授权码流程第一步)。
  • 添加一个REST Technical Profile步骤,将授权码、client_id等参数传递给中间服务,由中间服务携带客户端证书调用第三方的AccessTokenEndpoint兑换token。
  • 从中间服务的响应中提取所需声明,继续B2C后续的认证流程。

核心逻辑是把客户端证书的认证转移到中间层实现,因为B2C原生不支持在OAuth2 Technical Profile的token请求阶段配置客户端证书,通过中间层补全这个能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:00:02