azure - Azure AD - 在令牌 SPA 应用程序中返回角色和组
问题描述
我按照本教程在 .Net Core 3.1 中创建了一个带有隐式授权流的 Angular 应用程序和一个 Web Api:https ://github.com/Azure-Samples/ms-identity-javascript-angular-spa-aspnetcore-webapi
问题是:我需要在不记名令牌中返回登录用户的角色和/或组以授权我的 API,但我无法这样做。
我在此处将角色添加到应用注册清单中,在令牌配置菜单中添加了声明“组”并设置“需要用户分配?” 在我的企业应用程序配置中是的。
即使使用所有这些配置,我也无法在不记名令牌中返回角色/组声明。
身份验证返回的令牌示例:
{
"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?
解决方案
嗨,您需要转到 azure 广告 -> 应用注册 -> 您的应用 -> 采用配置 -> 添加组声明 -> 然后选择安全组复选框。节省。然后注销再次登录,应该在组下。
推荐阅读
- mariadb - typeorm mariadb ER_PARSE_ERROR,不知道出了什么问题
- c - popen & poll 输出
- python - 通过 GCP Python API 获取 GCP 监控时出错
- java - 如何解决android studio中依赖项的AAR元数据中指定的minCompileSdk(31)
- java - 将元素存储在自定义数组中(投射帮助)
- c# - Dafny 3.0 C# dll 库问题从 3.0 到 3.2
- reactjs - 用graphql和strapi-'return'在函数外反应突变
- sql - SQL 列表每月出现次数高于 15
- python - Selenium ChromeDriver 不与 Chrome 打印对话框交互
- javascript - 添加和显示多个图像