我创建了一个 Azure B2C 租户,并为 Azure Active Directory (AD) 创建了自定义 IDP。
我创建了从 B2C 联合到 Azure AD 的用户流并获取访问令牌。
我遵循的步骤。
- 创建了azure AD应用程序
- 生成了一个秘密
- 创建了自定义角色
- 从 AD 企业应用程序向用户分配自定义角色
- 在 B2C 领域创建 IDP
- 创建了 B2C 应用程序
- 创建登录策略
- 为联合添加了 IDP
- 运行用户流程
- 通过联盟登录
Azure AD 成功检索令牌 (idp_access_token
)作为联邦的结果。但问题是从天蓝色 AD 检索的令牌不包含角色声明。我创建了两个应用程序角色并将它们分配给用户。但我看不到令牌内的任何角色。
我遵循以下文档。https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps
这对联盟来说不是无效吗?通过联合获取分配的应用程序角色的确切方法是什么。
以下是创建 B2C IDP 所需的详细信息。
如何将这些细节与范围解决方案进行映射?
您需要在 Azure AD 中创建两个应用程序,一个代表客户应用程序另一个代表API应用,然后使用客户端应用程序调用api应用程序。
首先,您需要公开受Azure保护的后端应用程序的API并添加客户端应用程序:
接下来需要设置api应用程序AppRole,这是您自定义的角色,它将显示在清单中。
然后您可以将角色分配给用户。转到企业应用程序>您的 api 应用程序>用户和组。
接下来,转到客户端应用程序,让客户端应用程序访问后端 api:
- 在“API 权限”下,单击“添加权限”,然后单击“我的 API”选项卡。
- 找到您的后端应用程序并选择适当的范围。
- 单击“添加权限”。
- 授予管理员对您的 API 的同意。
接下来,您需要使用授权码流程获取Access Token,需要登录用户并获取授权码,然后使用授权码兑换Access Token。
解析 v2.0 令牌,它包含两者scp
索赔和roles
claims.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)