1

我正在努力弄清楚如何为以下流程实施自定义策略:

User lands on the login page and that login page only contains an email input.
User enters email address and clicks continue
    if user has already registered
        Redirected to their selected login provider (Google, Microsoft Account or Local Account)
    if user has not registered before
        Check google provider if a user account exists for that email address
        if Google account exists
            Redirect to Google login
        Check Microsoft provider if a user account exists for that email address
        if Microsoft account exists
            Redirect to Microsoft login
        else
            Redirect to registration screen
            User completes registration screen
            User is automatically logged in
            
The user

我调查了这是否真的可以做到,并且我发现了一个“用于视觉协作的数字工作空间”(aka Mural.co),它实际上实现了类似的流程,所以这必须是可能的。请参阅下面的图片。

登陆页面

Microsoft 社交帐户检测到的页面

但是,我无法找到关于

  1. 如何向社交提供者查询帐户是否存在
  2. 如何在 Azure AD B2C 自定义策略中创建这种复杂类型的流。

任何指向正确方向的指针将不胜感激

4

1 回答 1

3
  1. 不可能。没有人会允许您调查社交 IdP 以获取电子邮件。数据保护等

  2. 参考我们的示例维基

您的注册将来自我们的默认注册旅程。

您的登录流程可以像这样工作:

  1. 电子邮件请求
  2. 阅读目录以查看是否存在电子邮件
  3. 如果存在电子邮件,请将用户发送到他们用于注册的 IdP。您可以通过查看在 userIdentity 对象上注册的“颁发者”来做到这一点,
  4. 如果电子邮件不存在,则将用户发送到合并的登录和注册页面(技术资料),他们可以在其中使用社交登录或使用本地帐户注册。使用 CSS 隐藏登录元素。
于 2020-10-23T09:03:50.193 回答