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

Azure B2C RS256令牌适配Hubspot HS256的SSO验证失败求助

解决Azure B2C与Hubspot JWT SSO算法不匹配问题

一、修改Azure B2C IEF用户旅程的签名算法为HS256

由于你使用的是自定义用户旅程(Identity Experience Framework),无法通过常规B2C门户界面修改签名算法,必须手动编辑信任框架策略:

  1. 从Azure B2C门户的「Identity Experience Framework」中,下载当前使用的自定义策略文件(如TrustFrameworkBase.xml或你的扩展策略)。
  2. 定位到签发id_token的<ClaimsProvider>节点,找到对应的<TechnicalProfile>(通常命名为JwtIssuer)。
  3. 在该<TechnicalProfile>的<Metadata>区块中添加或修改以下配置:
    <Item Key="SigningAlgorithm">HS256</Item>
    <Item Key="IssuerTokenSigningKeyIdentifier">B2C_1A_你的对称密钥名称</Item>
    
    注意:B2C_1A_你的对称密钥名称需替换为你在Azure B2C「策略密钥」中创建的对称类型密钥名称,确保该密钥已正确配置。
  4. 将修改后的策略文件重新上传至Azure B2C门户,覆盖原有策略。

二、修正Token传递格式

错误提示虽说明支持id_token参数,但当前重定向URL中id_token位于哈希片段(#)内,Hubspot无法正确解析,需调整:

  • 修改用户旅程中的<RedirectUri>配置,确保id_token通过查询参数传递,即格式为https://xxxx.eu/_hcms/mem/jwt/verify?id_token=完整JWT字符串。
  • 检查传递的id_token是否完整,确保是由三个点分隔的Base64Url编码完整字符串,无截断或字符缺失。

三、额外排查项

  • 确认Hubspot配置页面输入的对称密钥,与Azure B2C中配置的对称密钥完全一致,无空格、大小写或字符错误。
  • 修改策略后,用本地JWT解码工具验证id_token头部的alg字段是否已变为HS256。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 20:53:20