如何解决Azure AD-返回令牌SPA应用程序中的角色和组
按照本教程的介绍,我在.Net Core 3.1中使用了隐式授予流进行身份验证和Web Api创建了一个Angular应用程序:https://github.com/Azure-Samples/ms-identity-javascript-angular-spa-aspnetcore-webapi
问题是:我需要在Bearer令牌内返回登录用户的角色和/或组以授权我的API,但我不能这样做。
我将角色添加到了“应用程序注册清单” here中,在Token Configuration菜单中添加了声明“组”,并在我的企业应用程序配置中将"User assignment required?"设置为“是”。
>即使使用所有这些配置,我也无法返回承载令牌中的角色/组声明。
身份验证返回的令牌示例:
{
"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": "email@outlook.com","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应用程序中的登录用户,返回具有角色和组的令牌并将其发送到Web Api吗?
解决方法
您应将应用程序角色添加到服务应用程序(TodoListAPI)的清单中,而不是客户端应用程序(TodoListSPA)。
别忘了将应用角色分配给用户。
这应该能够解决您的问题。
,您好,您需要转到 azure ad -> 应用注册 -> 您的应用 -> 进行配置 -> 添加组声明 -> 然后选择安全组复选框。节省。然后注销重新登录,应该是在组下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。