gpt4 book ai didi

azure - B2C 自定义策略访问 token 导致 401 响应

转载 作者:行者123 更新时间:2023-12-03 04:09:40 27 4
gpt4 key购买 nike

我正在 Azure B2C 中创建自定义注册登录策略,并且能够在我的 Angular 前端中使用 Msal.js 成功获取访问 token 。当我尝试使用 B2C 授权向我的 .Net Core 后端发送请求(使用 jwt 访问 token )时,我收到 401 响应。我有一个使用标准工作流程的注册登录策略,并且使用其访问 token 的请求工作正常。我比较了 token 上的属性,看起来自定义策略 token 中缺少 oid 声明。 (所有其他声明似乎都是可选的。)以下是 token 的比较:

损坏的自定义策略 token :

{
aud: "..."
azp: "..."
exp: 1565534473
given_name: "..."
iat: 1565530873
iss: "https://login.microsoftonline.com/.../v2.0/"
name: "Aaron"
nbf: 1565530873
nonce: "001f61ed-61c7-4fac-b613-4a5a4e1c134e"
scp: "read"
sub: "..."
tid: "..."
ver: "1.0"

}

工作访问 token

{
aud: "..."
azp: "..."
country: "United States"
emails: ["..."]
exp: 1565542145
given_name: "..."
iat: 1565538545
iss: "https://login.microsoftonline.com/.../v2.0/"
name: "..."
nbf: 1565538545
nonce: "ffd00fe6-dd02-4de1-ae06-8d6b6f0c8a81"
oid: "..."
scp: "read"
sub: "..."
tfp: "B2C_1_DefaultSignInSignUp"
ver: "1.0"

}

是否有必要拥有 oid 声明?如果是这样,如何将其添加到我的自定义策略 (TrustFrameworkBase.xml) 中?还有其他方法可以解决此 401 响应吗?

最佳答案

发生这种情况的原因可能是,为内置流颁发的 token 使用与为自定义策略颁发的 token 不同的 key 进行签名。

(内置流的签名 key 由 Microsoft 管理。自定义策略的签名 key 为 managed by you。)

确保您的后端 API 引用自定义策略的 /.well-known/openid-configuration 端点,而不是内置流的端点。

关于azure - B2C 自定义策略访问 token 导致 401 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57451638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com