现在,当用户通过身份验证时(在通过为SWT令牌启用了WIF的Azure ACS上),看起来我不能让他们再次使用新提供商登录并获得两个令牌。
我正在寻找一种让用户将两个帐户链接在一起的模式吗?
答案 0 :(得分:0)
你需要解释一下。这是一个网站吗? (假设是,因为您将问题标记为“MVC”)。您使用的是哪些提供商? (例如FB,LiveID,Google,您自己的)。您的应用如何识别用户? (例如,独特的句柄,电子邮件地址等)。
您获得的令牌始终来自ACS,并且它独立于提供者。实际上,您可以使用ACS将来自所有不同提供商的信息规范化为常见的信息。因此,“连接”他们两个。您可以使用ACS转换规则执行此操作。
如果您使用“passthrough”规则,那么您将获得IdP提供的任何内容,并且该关联必须在应用程序中进行。
答案 1 :(得分:0)
根据Identity Providers,每个提供商都会获得一个唯一的“名称标识符”。您必须通过将它们存储在存储库中来手动链接它们。
e.g。
<强>更新强>
您需要拥有“控制”身份,例如类似于普通的SQL成员资格提供程序。首先,他们以此身份登录。然后你有一个工作流程,询问“你想使用另一个身份吗?”您知道它们的控制标识,因此您将新的“名称标识符”映射到控件标识。如果他们使用其中一个ACS身份登录,则会搜索您的存储库。如果你没找到它。你说“我们之前没有见过这个身份。请以你的控件登录然后映射”。