gpt4 book ai didi

Azure AD - 返回 token SPA 应用程序中的角色和组

转载 作者:行者123 更新时间:2023-12-03 03:58:50 25 4
gpt4 key购买 nike

我按照本教程创建了一个 Angular 应用程序,其中包含用于身份验证的隐式授权流程和 .Net Core 3.1 中的 Web Api:https://github.com/Azure-Samples/ms-identity-javascript-angular-spa-aspnetcore-webapi

问题是:我需要返回承载 token 中已登录用户的角色和/或组来授权我的 API,但我无法这样做。

我将角色添加到应用程序注册 list here ,在 Token Configuration 中添加了声明“组”菜单并设置"User assignment required?"在我的企业应用程序配置中设置为"is"。

即使使用所有这些配置,我也无法返回不记名 token 中的角色/组声明。

身份验证返回的 token 示例:

  {
"ver": "2.0",
"iss": "https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0",
"sub": "AAAAAAAAAAAAAAAAAAAAABTOBMzzWB5LS36oSmQMgyc",
"aud": "ecb5e87f-6f34-4f05-8e8d-8d6149178926",
"exp": 1597173984,
"iat": 1597170084,
"nbf": 1597170084,
"name": "name",
"preferred_username": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2a4f474b43466a455f5e4645454104494547" rel="noreferrer noopener nofollow">[email protected]</a>",
"oid": "00000000-0000-0000-fa54-d112egdce65a",
"tid": "9188040d-6c67-4c5b-b112-36a304b643ad",
"azp": "edeb4b7d-9cac-4f3b-a21d-ead77993689e",
"scp": "access_as_user",
"azpacr": "0",
"aio": "DYNhHjG*PSY1ceuC11yaLYcLta8zh49iA!l2UCbCsH9QlaUkEHVQ4paQFRmb!qv7J6yTbAQItGWDgCW9UgUipz4Xnma*DOkFFDNIZ5lkffThD*ie91XMzZIoPhUPwNHOt5dLrw3VASE2WCvJfvDFOQk$"
}

我做错了什么吗?是否有其他方法可以在 SPA 应用程序中授权登录用户,返回带有角色和组的 token 并将其发送到 Web Api?

最佳答案

您应该将应用角色添加到服务应用 (TodoListAPI) 的 list 中,而不是客户端应用 (TodoListSPA) 的 list 中。

不要忘记将应用程序角色分配给用户。

这应该能够解决您的问题。

关于Azure AD - 返回 token SPA 应用程序中的角色和组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63382586/

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