pet*_*pan 6 roles azure single-page-application azure-ad-b2c azure-ad-msal
我们正在尝试将 Azure AD B2C 集成到 SPA 中。我们希望在票证中包含角色,以便我们可以在 api 中使用 AuthorizeRoles 和 IsInRole。我们看了几个例子。
第一个示例不是 SPA,也不包含角色。根据以下链接,不支持使用 Azure AD B2C 在票证中包含成员资格和组。
上面建议的解决方法似乎是使用下面的“OnAuthorizationCodeReceived”事件将您自己的角色声明注入/添加到票证。
我们遇到的问题是我们使用的是 SPA,因此我们需要遵循示例 2,我们还需要能够将我们自己的托管角色添加到不支持的功能的票证中,但微软表示有一个解决方法显示。但是,该解决方法不适用于示例 2 中的 MSAL.js。
我们如何使用 MSAL.js 库将我们自己的托管角色包含到票证中,以便我们可以将 Azure AD B2C 集成到我们的 SPA 中,从而使我们能够在 api 中使用 AuthorizeRoles 和 IsInRole?
小智 2
首先,您提到您正在使用 MSAL.js 库,这意味着 v2 端点。目前(截至 2018 年 5 月 16 日),v2 端点对角色和组有限制,请参阅v2 限制,其中指出:
v2.0 端点不支持在 ID 令牌中发出角色或组声明。
ID 令牌在 v2 终结点的隐式流程中使用,请参阅此处的Azure AD v2 Spa 引导设置,并在更多信息下阅读大约一半内容
最重要的是要绝对确保 v2 终结点(和 MSAL 库)可以支持您的要求。
对于我自己来说,我们最终选择了 v1 端点和 ADAL 库,部分原因是这样的限制。但这里有一些在代码中使用角色的示例。请注意,这些存储库相当新,我仍在构建文档。有两个存储库,一个是独立的 angularjs ui 项目,另一个是一组 API(它们是我在 Codecamp 演示中使用的演示)。请阅读下文了解 AAD 中的角色。只有 UI 示例使用 ADAL 库(注意:ADAL 和 MSAL 库用于管理客户端中的令牌,而不是用于锁定后端的库)。
API: https://github.com/BgRva/aad_adal_api_dn_std/tree/Step_C
用户界面:https ://github.com/BgRva/aad_adal_ui_ng_js/tree/Step_C
关于 AAD 中角色的一些注意事项:
干杯
| 归档时间: |
|
| 查看次数: |
2078 次 |
| 最近记录: |