Authentication 使用Windows身份基础(WIF)从纯OpenID移动到OpenDID 背景

Authentication 使用Windows身份基础(WIF)从纯OpenID移动到OpenDID 背景,authentication,openid,dotnetopenauth,wif,Authentication,Openid,Dotnetopenauth,Wif,我们目前使用OpenID对用户进行身份验证,并使用我们获得的声明身份将身份验证与数据库中的“联系人”记录链接起来 问题 我们现在希望将WIF添加到混合中,但是我担心,通过添加这个额外的层,将不再从WIF(即OpenID)接收相同的声明标识值 问题: 对于所有现有用户,我们该怎么办?这些用户目前拥有OpenID声明的身份字符串作为他们的“id”?WIF实现后,我们如何将这些用户链接到他们的OpenID?我找到了答案,以防其他人被难倒: 如果您阅读本文,您将看到从提供者处声明的原始身份被返回并应用于

我们目前使用OpenID对用户进行身份验证,并使用我们获得的声明身份将身份验证与数据库中的“联系人”记录链接起来

问题 我们现在希望将WIF添加到混合中,但是我担心,通过添加这个额外的层,将不再从WIF(即OpenID)接收相同的声明标识值

问题:
对于所有现有用户,我们该怎么办?这些用户目前拥有OpenID声明的身份字符串作为他们的“id”?WIF实现后,我们如何将这些用户链接到他们的OpenID?

我找到了答案,以防其他人被难倒:


如果您阅读本文,您将看到从提供者处声明的原始身份被返回并应用于。

我不确定是否完全遵循您的操作,但是如果您正在添加其他身份提供者(并保留OpenID),您可能希望使用ACS(访问控制服务)更一致。您的应用程序将只使用1个库(WIF),您将把处理不同协议和身份提供者的工作外包给ACS

最终的结果是一个非常干净(且经得起未来考验)的解决方案

ACS支持开箱即用:任何OpenID IdP、任何WS-Federation IdP、Yahoo!,谷歌和Facebook