如何使用 Azure AD MSAL 库将角色包含到访问令牌中

Posted

技术标签:

【中文标题】如何使用 Azure AD MSAL 库将角色包含到访问令牌中【英文标题】:How to include roles into access token using Azure AD MSAL library 【发布时间】:2020-12-25 13:26:41 【问题描述】:

我的 web api 服务受基于角色的授权保护。因此,我从 Azure AD 请求的访问令牌不包括访问令牌中的任何角色。是否可以将分配的角色(在清单文件中定义并添加到用户)添加到访问令牌中?

由于我找不到任何文档,请您指导我提供链接和示例吗?

【问题讨论】:

【参考方案1】:

绝对有可能,我已经写了一篇关于这个主题的旧文章:https://joonasw.net/view/defining-permissions-and-roles-in-aad。

确保在 API 的清单中定义角色。 请注意,如果用户有多个角色并且您使用隐式流程在前端获取令牌,它们可能不会出现在令牌中。 如果您遇到这种情况,升级到 MSAL.js 2.x 并在前端使用带有 PKCE 的授权代码流应该对此有所帮助。

【讨论】:

以上是关于如何使用 Azure AD MSAL 库将角色包含到访问令牌中的主要内容,如果未能解决你的问题,请参考以下文章

Electron + Vue + msal-nodejs + Azure Ad:重定向 URL 问题

使用 Angular 8 中的 MSAL 库获取 Microsoft Azure AD 组名称列表

iframe 中的 Azure AD MSAL

Azure AD Msal 拦截器访问令牌

使用 MSAL Angular 包装器在 Ionic 4 中处理来自 Azure AD 的回调

如何在 Azure AD B2C 中管理用户流之间的单个帐户/会话