Azure AD B2C 在验证邀请令牌后注册用户

Azure AD B2C Register users after validating an Invitation Token

我使用 Azure AD B2C 创建了一个注册策略,用户可以使用该策略在我的租户目录中注册。

在 Azure AD B2C 中创建注册策略后,我得到了一个用于注册用户的端点。端点如下所示:

https://login.microsoftonline.com/tenantname.onmicrosoft.com/oauth2/v2.0/authorize?p=XXX&client_id=XXX&nonce=defaultNonce&redirect_uri=XXX&scope=openid&response_type=id_token&prompt=login

我以编程方式向电子邮件地址发送一封电子邮件,其中包含来自上面的端点和一个 InvitationToken。端点将从电子邮件中打开,用户将注册,在最后一步,他将被要求输入他在电子邮件中收到的 InvitationToken。

我想在这一步进行验证。我想检查用户输入的 InvitationToken 是否与他在电子邮件中收到的相同。如果他输入的 InvitationToken 无效,我不希望用户能够在我的租户目录中注册。

我不知道如何执行此操作。我只能实施解决方法。

我将用户以及他们在电子邮件中收到的 InvitationToken 和他们在注册步骤中输入的 InvitationToken 存储在 table 中。如果 2 个 InvitationTokens 不同,那么用户将无法使用我的应用程序。但是用户仍然是在Azure Portal中创建的,他们可以在Portal中登录。

如果用户在注册步骤中输入了无效的 InvitationToken,是否有任何方法可以使他们无法在我的租户目录中注册?

您有两个选择:

  1. 将输入声明发送到您的注册政策。有关详细信息,请参阅
  2. 验证用户提供的InvitationToken。请参阅本指南:Integrate REST API claims exchanges in your Azure AD B2C user journey as validation on user input

虽然这两个选项都需要 custom policies*。

*Custom policies are designed primarily for identity pros who need to address complex scenarios.


现有功能请求:AADB2C: Send email invitation for new user to sign up