我创建了一个 Azure B2C 租户,并为 Azure Active Directory (AD) 创建了自定义 IDP。 我创建了从 B2C 到联合到 Azure AD 并获取访问令牌的用户流。
我遵循的步骤。
作为联合的结果,azure AD 成功检索了令牌 (idp_access_token
)。但问题是从 azure AD 检索的令牌不包含角色声明。我创建了两个应用程序角色并将它们分配给用户。但是我在令牌中看不到任何角色。
我遵循了以下文档。 https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps
这对联邦无效吗?通过联盟分配应用角色的确切方法是什么。
这是创建 B2C IDP 所需的详细信息。
如何用范围解决方案映射这些细节?
答案 0 :(得分:2)
需要在Azure AD中创建两个应用,一个代表客户端应用,另一个代表api应用,然后使用客户端应用调用api申请。
首先需要暴露Azure保护的后端应用的API并添加客户端应用:
接下来需要设置api应用AppRole,也就是你自定义的角色,会在manifest中显示。
然后您可以将角色分配给用户。转到企业应用程序>您的 api 应用程序>用户和组。
接下来,转到客户端应用程序,让您的客户端应用程序访问您的后端 api:
接下来需要使用auth code flow获取访问令牌,需要先登录用户获取授权码,然后使用授权码兑换访问令牌。
>解析 v2.0 令牌,它包含 scp
声明和 roles
声明。