使用 Azure AD B2C,我创建了一个注册策略,用户可以使用该策略在我的租户目录中注册。
在 Azure AD B2C 中创建注册策略后,我获得了一个用于注册用户的终结点。端点如下所示:
我以编程方式向一个电子邮件地址发送一封电子邮件,其中包含上面的端点和一个 InvitationToken。将从电子邮件中打开端点,用户将进行注册,最后一步将要求他输入在电子邮件中收到的 InvitationToken。
我想在此步骤执行验证。我想检查用户输入的 InvitationToken 是否与他在电子邮件中收到的 InvitationToken 相同。如果他输入的 InvitationToken 无效,我不希望用户能够在我的租户目录中注册。
我不知道如何执行此操作。我只能实现一个解决方法。
我将用户及其在电子邮件中收到的 InvitationToken 以及他们在注册步骤中输入的 InvitationToken 存储在一个表中。如果 2 个 InvitationToken 不同,则用户将无法使用我的应用程序。但用户仍然是在 Azure 门户中创建的,并且他们可以在门户中登录。
如果用户在注册步骤中输入无效的 InvitationToken,是否有办法使用户无法在我的租户目录中注册?
最佳答案
您有两个选择:
- 将输入声明发送到您的注册政策。请参阅this SO answer了解更多详情。
- 验证用户提供的
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
关于Azure AD B2C 验证邀请 token 后注册用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47305026/