Azure B2C 邀请消费者用户并检索用户权限

Azure B2C Invite Consumer Users & Retrieve User Permissions

有人可以提供满足这些要求的通用方法吗?我花了一些时间研究这些不同的主题并尝试实施解决方案,我对涉及的工作量感到惊讶。希望我遗漏了什么。

如何邀请消费者用户加入 B2C 租户,以便他们可以使用他们的社交帐户(例如:个人 Microsoft 或 Google 帐户)对我们的应用程序进行身份验证?我发现 Azure 门户上唯一内置的解决方案是使用 B2C 本地帐户。请注意,我不想使用可公开访问的注册流程。

用户通过身份验证后(使用 MSAL v2 身份验证流程 w/PKCE),我想检索用户对我们的应用程序拥有的权限列表。

我们应用程序的管理员用户需要能够邀请其他用户加入该应用程序。

非常感谢!

编辑 #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 身份平台/token 端点为 Azure AD B2C 租户中的应用程序设置客户端凭证流。 Azure AD B2C 租户与 Azure AD 企业租户共享一些功能。"

我会在找到解决方案后更新我的 post。再次感谢!

您需要使用自定义策略。

关于第一个要点,请参阅我的示例: https://github.com/azure-ad-b2c/samples/tree/master/policies/link-local-account-with-federated-account

您可以选择任一选项。对于选项 1,AAD B2C 可以调用您的 api,它可以调用图形 api 来获取组。然后将信息嵌入到令牌中。对于选项 2,您可以将角色值写入扩展属性并将其 return 写入令牌中。

要邀请用户,您可以使用邀请示例。本质上是制作一个调用 API 的应用程序来生成这些邀请 link 并将它们发送到用户的电子邮件中。用户单击允许他们完成注册的 link。

https://github.com/azure-ad-b2c/samples/tree/master/policies/invite