Azure AD v2.0端点是否会通过相同的Microsoft帐户的访问控制服务传递相同的nameidentifier?

时间:2016-11-10 03:30:28

标签: asp.net-web-api azure-active-directory azure-ad-b2c azure-ad-graph-api

我们目前正在使用Azure访问控制服务(***。accesscontrol.windows.net),允许拥有个人管理的Microsoft帐户(身份提供商)的客户登录我们的客户自助服务门户(依赖方应用程序) ,这是由Web API服务提供支持的Angular应用程序。在我们的访问控制服务中,我们目前正在通过Windows Live ID的nameidentifier one-book声明传递给依赖方API,该API将该令牌与我们应用程序中的标识相匹配。

我们希望使用Azure AD v2.0 service支持企业和个人Microsoft帐户,但不了解如何将现有用户迁移到新系统。代码示例表明OWIN middleware从用户的身份提供程序返回NameIdentifier claim,但如果该身份提供程序是相同的Microsoft帐户(也称为Windows Live ID),那么我们当前的NameIdentifier是否相同通过访问控制服务传递接收?

任何帮助和/或文档都可以理解这种过渡是如何工作的。

1 个答案:

答案 0 :(得分:0)

如果来自ACS的名称标识符是随机生成的值,那么您将被卡住,因为该值对于ACS / RP /用户是唯一的。如果它返回实际的Live ID,那么它显然只会匹配Azure AD用户具有相同的电子邮件地址。

我不知道是否有任何文档描述了如何处理这种情况。我的建议是只要求同一会话中每个来源的一次性身份验证,并将这两个结果结合起来。这基本上意味着

  1. 对Azure AD进行身份验证
  2. 您的应用:嘿,您没有任何用户详细信息,是否要关联Live ID?
  3. 验证Live ID
  4. 将Live ID与Azure AD关联
  5. 然后,如果他们希望将来使用任一帐户登录,那么您可以在两者之间建立链接。