Azure B2C OAuth 与 Hubspot JWT

问题描述 投票:0回答:1

我配置了一个 Azure B2C 实例。由于我们配置了一些自定义用户旅程,因此我们使用身份体验框架。 在 Hubspot 中,我尝试验证网站上私人内容的 SSO。 我需要在 Hubspot 中设置基于 JWT 的单点登录 https://knowledge.hubspot.com/website-pages/set-up-single-sign-on-sso-to-access-private-content

在Azure B2C中我配置了一个密钥。我在 HubSpot 配置页面中输入了这个密钥。但此页面仅识别密钥为 HS256,而不识别为 RS256。所以我选择HS256。

enter image description here

我从 AzureB2C 返回到 Hubspot 的 id_token 具有以下标头

{
  "alg": "RS256",
  "kid": "VHk1fkTeXwU9BUfQ_19VUi2cwM0ONJPcUbttMJNmTx8",
  "typ": "JWT"
}

当 id_token 被发送回 hubspot 时(在成功的用户旅程之后),用户将被重定向回 https://xxxx.eu/_hcms/mem/jwt/verify#id_token=eyJhbGcixxxxxxxxxx .etc 然后弹出下面的错误。

hubspot的文档告诉我:

TOKEN_VERIFICATION_FAILED:token可能为空、null、不正确或查询参数不受支持。我们支持“jwt”、“code”、“id_token”和“access_token”查询参数。

enter image description here

我认为这是因为它的 alg: 设置为 RS256。 我尝试将其更改为 HS256,但是我陷入了这个过程。有 3 个小帖子关于它,但现在我不知道我能做什么...有些帖子还告诉我 Azure B2C 仅支持 RSA?

Azure AD B2C - 令牌验证不起作用使用对称 HS256 密钥验证 Azure B2C 令牌 如何在 azure 门户中将 Oauth 令牌算法类型从 RS256 更改为 HS256?

最后一篇文章看起来很有希望,但那不起作用。

更新: 经过更多挖掘,我发现了大约一年前的以下帖子 https://community.hubspot.com/t5/APIs-Integrations/JWT-SSO-for-Private-Content-Invalid-Requirements-and-AWS-Cognito/td-p/517582

https://community.hubspot.com/t5/APIs-Integrations/JWT-SSO-for-private-content-invalid-secret-key-for-RS256-signing/m-p/622696

有人有解决这个问题的经验吗?

azure oauth-2.0 jwt hubspot azure-ad-b2c
1个回答
0
投票

您是否将 Azure AD B2C 中的客户端密钥粘贴到 Hubspot 密钥字段中?它们不一样。您将需要 Azure AD b2C 内部使用的实际算法密钥。

© www.soinside.com 2019 - 2024. All rights reserved.