如何解决Azure B2C 邀请消费者用户并检索用户权限
有人可以提供满足这些要求的一般方法吗?我花了一些时间研究这些不同的主题并尝试实施解决方案,我对涉及的工作量感到惊讶。希望我错过了什么。
我如何邀请消费者用户加入 B2C 租户,以便他们可以使用他们的社交帐户(例如:个人 Microsoft 帐户或 Google 帐户)对我们的应用程序进行身份验证?我发现 Azure 门户上唯一成熟的解决方案使用 B2C 本地帐户。请注意,我不想使用可公开访问的注册流程。
- 目前我正在研究一种自定义流程,该流程可以通过邀请用户加入“本地”b2c 消费者帐户,然后允许用户将其社交帐户与本地帐户相关联来实现。
一旦用户通过身份验证(使用 MSAL v2 Auth Flow w/PKCE),我想检索用户对我们的应用程序的权限列表。
- 我正在研究两个选项: (1) 使用身份验证令牌根据内部 API 验证用户,然后调用 Microsoft Graph API 以获取用户的组成员身份。 (2) 创建与用户组具有相同目的的自定义声明
我们应用程序的管理用户需要能够邀请其他用户加入应用程序。
- 我发现一些文章再次指出使用自定义政策。
非常感谢!
编辑 #1 - 考虑使用 B2C 和 Microsoft Graph API,我遇到了一些不错的、最近的 MS 资源: https://docs.microsoft.com/en-us/azure/active-directory-b2c/microsoft-graph-operations
还有这个对我很重要的声明 -> Microsoft 2021 年 1 月 28 日: “虽然 Azure AD B2C 身份验证服务目前不直接支持 OAuth 2.0 客户端凭据授予流,但您可以使用 Azure AD 和 Microsoft 标识平台/令牌端点为 Azure AD B2C 租户中的应用程序设置客户端凭据流。 Azure AD B2C 租户与 Azure AD 企业租户共享某些功能。”
当我找到解决方案时,我会更新我的帖子。再次感谢!
解决方法
您需要使用自定义策略。
对于第一个要点,请参阅我的示例: https://github.com/azure-ad-b2c/samples/tree/master/policies/link-local-account-with-federated-account
您可以选择任一选项。对于选项 1,AAD B2C 可以调用您的 api,后者可以调用图形 api 来获取组。然后将信息嵌入到令牌中。对于选项 2,您可以将角色值写入扩展属性并在令牌中返回。
要邀请用户,您可以使用邀请示例。本质上是制作一个应用程序,调用 API 来生成这些邀请链接并将它们发送到用户的电子邮件。用户点击允许他们完成注册的链接。
https://github.com/azure-ad-b2c/samples/tree/master/policies/invite
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。