如何使用 MSAL-ANGULAR 读取角色/权限

2023-11-26

因此,我已经按照 msal-Angular 中的说明成功地将 Azure AD 身份验证集成到我的 Angular 站点中,现在我正在寻求定义和利用角色和权限来提供对用户的更精细的控制能做和不能做。

据我所知,我可以按照这组说明来定义角色(https://learn.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles)但 msal-Angular 似乎没有在登录时公开这一点 - 或者至少我还没有找到有关如何执行此操作的说明。

也许我错过了一些东西。任何建议,将不胜感激


要获取用户所属的组,您需要添加directory.read.all到 Angular 应用程序以及 Azure 应用程序设置中的 API 权限中的范围。

let graphUser = await graphClient.api('/me').get();
let graphUserGroups = await graphClient.api(`/users/${graphUser.id}/memberOf`).get();

let user = new User();
user.id = graphUser.id;
user.displayName = graphUser.displayName;
// Prefer the mail property, but fall back to userPrincipalName
user.email = graphUser.mail || graphUser.userPrincipalName;

graphUserGroups.value.forEach(group => {
    user.groups.push({
        group_id: group.id,
        group_name: group.displayName
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 MSAL-ANGULAR 读取角色/权限 的相关文章

随机推荐

  • 如何将 ASP.NET 5 (vnext) 从 Beta5 升级到 Beta6

    从 ASP NET v5 Beta4 升级到 Beta5 有点痛苦 升级到 Beta6 有多难 像这样的备忘单 4 5答案会很方便 升级很顺利 这是备忘单 先决条件 升级到beta6 dnvm upgrade 如果您愿意 请安装 x64 d
  • 如何从java代码调用XSL模板?

    如何从java代码调用XSL模板 请注意 我不需要知道如何在 Java 中通过 XSL 转换 xml 文档 我真正需要的是 我有一些 XSLT 文档 其中包含一个可以执行某些操作的模板 例如
  • 隐藏 iPhone 地址栏,高度为 100%

    关于此的很多帖子 但并不完全适合我的情况 我的页面的灵活尺寸设置为 100 宽度和 100 高度 因此典型的加载滚动功能不起作用 有什么想法或其他解决方案吗 Thanks CSS margin 0 padding 0 html body w
  • Json.NET:用双引号反序列化

    我正在尝试反序列化作为服务响应收到的 json 字符串 客户端是Windows Phone 7 C 语言 我在用Json NET 詹姆斯 牛顿 金反序列化器直接将Json字符串转换为对象 但有时 Json 字符串包含一些带有双引号 的注释信
  • Go(lang) 中的地址空间是什么?

    我尝试了解 Go 中并发编程的基础知识 几乎所有的文章都使用这个词 地址空间 例如 所有 goroutine 共享相同的地址空间 这是什么意思 我尝试从 wiki 理解以下主题 但没有成功 http en wikipedia org wik
  • setTooltipText() 和 android:tooltipText 在 Nougat 中不起作用

    我有一个 ImageButton 当我对我的应用程序进行一些测试时 我发现我无法显示tooltipText在我的带有 Android N 设备的小米 Note 4 中 但它在我的带有 Android O 的三星 S8 上显示得非常好 知道为
  • 找不到中央目录记录的末尾

    我正在使用 C 程序下载 zip 文件 但收到错误 at System IO Compression ZipArchive ReadEndOfCentralDirectory at System IO Compression ZipArch
  • 当方法的签名定义为 Collection 时,为什么方法不能采用 Collection

    我有一个获取 SResource 对象列表的方法 public static List
  • 从 jQuery 调用 ASMX

    我试图从 jQuery 调用 ASMX 方法 但没有成功 以下是我的代码 我不明白我缺少什么 文件Something js function setQuestion ajax type POST data dataType json url
  • rbind data.frames 没有名称

    我想弄清楚为什么rbind加入没有名称的 data frames 时 函数无法按预期工作 这是我的测试 test lt data frame id rep c a b each 3 time rep 1 3 2 black 1 6 whit
  • 将阿拉伯语存储在 SQL 数据库中

    我尝试在 SQL 2008 数据库中存储阿拉伯字符串 但它转换为 问号 为什么 我该怎么办 您需要为 varchar char 列选择阿拉伯排序规则或使用 Unicode nchar nvarchar CREATE TABLE test c
  • C++11:重载无法解析递归 decltype

    在下面的代码中 我尝试构建类型网格 例如 之间float and int 将结果推广为float float join float f int return f float join float f float return f 然后我介绍
  • CSS - 允许 div 伸出其父级

    我一直在寻找一种方法来允许 div 脱离其父级 父级具有 float right 我试图单击它来切换显示 隐藏子元素 但子元素在 div 之后显示 隐藏 我想让它从父 div 中 突出 谢谢 您的解释不是很清楚 但这是一个右对齐父 div
  • 如何在seaborn中填充线图下的区域

    I want to fill the area under a line plot so it looks as the picture below 代替 基于以下 csv 文件构建 01 01 97 1 01 02 97 2 01 03
  • OpenGL 抑制 MFC 基于对话框的应用程序中的异常

    我有一个使用 MSVS2005 创建的 MFC 驱动的基于对话框的应用程序 这是我的问题一步一步 我的对话框上有按钮和相应的点击处理程序 代码如下 int i 0 i 3 我正在运行程序的调试版本 当我单击按钮时 Visual Studio
  • iOS 上的 JS 语音合成问题

    我最近实现了一个基本的 Web 应用程序 它依靠 Google 的 TTS URL 生成清晰的 MP3 文件以在前端播放 此后 这需要接受额外的安全检查 这意味着我必须更新代码库才能使用替代方法 其中一种替代方案是 javascript 的
  • Android 谷歌地图我的位置权限

    对于最新版本的 Android 您应该在使用用户的位置信息之前检查用户是否已授予您权限 我已经浏览了 android 文档 这是我想出的代码 我正在检查用户是否已授予权限 如果还没有 然后我们询问 然后有一个关于结果的回调函数等等 我已经多
  • 在java中打印对象时会发生什么

    class Data int a 5 class Main public static void main String args int b 5 Data dObj new Data System out println dObj Sys
  • 如何更新.txt文件中的java内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 例如我有一个名为file txt其中包含个人信息 身份证 姓名 工资 A123
  • 如何使用 MSAL-ANGULAR 读取角色/权限

    因此 我已经按照 msal Angular 中的说明成功地将 Azure AD 身份验证集成到我的 Angular 站点中 现在我正在寻求定义和利用角色和权限来提供对用户的更精细的控制能做和不能做 据我所知 我可以按照这组说明来定义角色 h