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

时间:2017-11-15 10:30:55

标签: azure azure-active-directory azure-ad-b2c azureportal

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

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

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。

enter image description here

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

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

我在一个表中存储了他们在电子邮件中收到的具有InvitationToken的用户以及他们在注册步骤中输入的InvitationToken。如果2个I​​nvitationTokens不同,则用户将无法使用我的应用程序。但是用户仍然在Azure门户中创建,他们可以登录门户网站。

如果用户在注册步骤中输入了无效的InvitationToken,是否有办法让用户无法在我的租户目录中注册?

1 个答案:

答案 0 :(得分:1)

您有两种选择:

  1. 将输入声明发送到您的注册政策。有关详细信息,请参阅this SO answer
  2. 验证用户提供的InvitationToken。请参阅本指南:Integrate REST API claims exchanges in your Azure AD B2C user journey as validation on user input
  3. 这两个选项都需要custom policies,但*。

      

    *自定义策略主要面向需要解决复杂方案的身份专业人员。

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