如何在Azure AD B2C中处理多个对象ID?

时间:2018-01-10 06:39:03

标签: azure-ad-b2c

您是否有关于我们如何处理来自同一用户的多个对象ID的指导(用户来自Facebook和Google,两个对象ID,填写在电子邮件字段中的相同电子邮件)? 一个。告诉他们太糟糕了 - 将其视为单独的帐户。 湾在我们的应用程序中构建流程,以将数据重新分配给不同的用户对象。 C。在我们的应用程序中构建一个流程,将多个用户对象链接到相同的数据。

2 个答案:

答案 0 :(得分:1)

一种可能的解决方案是创建将本地帐户与社交帐户相关联的custom policies

the Wingtip Games site证明了这一点。

(您可以自由尝试此示例站点。)

基本流程如下:

  1. 最终用户注册本地(即Wingtip)帐户。自定义策略创建用户对象,并将最终用户的已验证电子邮件地址保存在用户对象的“signInNames”属性中。

  2. 最终用户点击Wingtip Games网站中的“关联您的社交帐户”按钮。

  3. 最终用户使用在步骤1中注册的本地帐户(如果他们尚未这样做)登录。自定义策略检索在步骤1中创建的用户对象。最终用户然后使用社交(例如Facebook)帐户登录。自定义策略将最终用户的社交帐户标识符保存在用户对象的“alternativeSecurityIds”属性中。

  4. 最终用户可以使用本地帐户或社交帐户登录并管理单个个人资料。

  5. 此流程的当前限制是,单个本地帐户只能与单个社交帐户关联。

    Wingtip Games网站的应用程序代码可在here找到。

    可以在here找到此网站的自定义政策。

答案 1 :(得分:0)

通常,虽然来自不同身份提供商的帐户属于一个用户,但我们建议您将其视为不同的帐户

因为他们来自不同的国内流离失所者。不同的国内流离失所者不能为用户交换信息。如果将它们链接到相同的数据,将导致复杂的身份管理。此外,您需要知道具有相同名称和电子邮件地址的帐户可能会被不同的用户使用。

因此,Azure AD B2C为它们分配了不同的对象ID。

希望这有帮助!