我正在尝试使用Azure AD B2C为Zendesk实施SSO。我在Url中获取了JWT令牌,但是其加密算法类型为RS256,但zendesk不支持,因此如何将其从RS246更改为HS256?
如果您使用的是自定义策略(Identity Experience Framework),则可以生成并使用您获得的HS256密钥。
将以下JSON内容复制到.json文件中(例如:TOkenSigningKeyContainerHS256.json)
{
"keys": [
{
"kty": "oct",
"kid": "3092fb56-b2fb-44a9-a037-0bfee7f957bb",
"k": "cuU_Pbb3nSCLXgboggAyNFsHjxTBOxKCxdD2Sa0mTb8",
"alg": "HS256"
}
]
}
通过提供有效的密钥名称,根据IEF上载此文件->策略密钥(策略密钥->添加->选择上载)。>>
在您的TrustFrameworkBaseFile中,找到B2C_1A_TokenSigningKeyContainer
密钥,并替换为新创建的密钥。注
上面是盲目的替换键,在大多数情况下都可以使用。如果没有,您可以更新用于颁发JWToken的特定技术资料<TechnicalProfile Id="JwtIssuer">
如果使用刷新令牌机制,则还需要更新该密钥。
在您成功的用户旅程之后,将返回JWT令牌,并将使用HS256对其进行签名。