gpt4 book ai didi

访问 token 中缺少 Azure AD B2C::Roles 声明

转载 作者:行者123 更新时间:2023-12-02 22:58:11 24 4
gpt4 key购买 nike

我在 Azure AD B2C 中有两个注册应用程序:azure 函数应用程序和前端 spa 应用程序。我从前端应用程序调用 azure 函数并使用隐式授权流程。我使用 MSAL npm 包来请求访问 token 。

我按照这篇文章为用户设置角色: https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps

但是我在前端应用程序中收到的 access_token 缺少“角色”声明以及 id_token。这是我收到的访问 token :

{
"typ": "JWT",
"alg": "RS256",
"kid": "X5eXk4xyojNFum1kl2Ytv8dlNP4-c57dO6QGTVBwaNk"
}.{
"iss": "https://<tenant_name>.b2clogin.com/<id>/v2.0/",
"exp": 1595333452,
"nbf": 1595329852,
"aud": "3d6123b2-b436-46c0-bcde-e0b61b0ad827",
"oid": "e98c46c4-f13d-428e-9b7d-28ba3abeb060",
"sub": "e98c46c4-f13d-428e-9b7d-28ba3abeb060",
"name": "Basic User",
"emails": [
"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d6b4b7a5bfb5a3a5b3a496b1bbb7bfbaf8b5b9bb" rel="noreferrer noopener nofollow">[email protected]</a>"
],
"tfp": "B2C_1_signin_v2",
"nonce": "a70eece3-31d2-4cc3-8abb-0a56a95d4ba1",
"scp": "demo.read",
"azp": "d7787de1-6642-409f-b0b9-2f5608476367",
"ver": "1.0",
"iat": 1595329852
}.[Signature]

为什么里面没有角色?

最佳答案

Azure AD B2C 目前不支持应用程序角色。

您可以提高用户对您的请求的声音 Azure feedback portal或投票给existing one .

目前,您可以从 AAD B2C 自定义策略调用 MS Graph,并且可以使用 OAuth 客户端凭据调用自定义策略中的 API。

可以查询用户组成员身份,然后直接将数据返回给B2C策略,并发放到token中

https://learn.microsoft.com/en-us/azure/active-directory-b2c/secure-rest-api#oauth2-bearer-authentication

然后用它从 MS Graph 获取数据

https://learn.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-rest-api-claims-exchange

您需要使用任一组来管理此操作,或者在 B2C 租户内创建 AAD 应用程序并在那里进行应用程序角色分配。然后,在 B2C 策略执行期间,调用 REST API 查询用户的角色并将其插入 B2C token 中。您需要为此使用自定义策略。请引用github sample与此类似

关于访问 token 中缺少 Azure AD B2C::Roles 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63014166/

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