考虑这种情况。我有自己的网站,用作我的标识符,但我使用第三方 OpenID 提供程序(在我的情况下为 yahoo),如此处所述,登录依赖方 (RP) 网站,例如 stackoverflow 和 sourceforge。
这似乎是一个明智的举动:
- 我没有被 OpenID 提供商锁定,因为如果/当 yahoo 不再提供该服务,或者开始收费,或者我不再信任他们,我可以轻松切换提供商
- 我没有在我的服务器上安装和维护 OpenID 提供程序的经济、管理和安全负担
问题
RP应该如何工作?我的理解是它应该使用我 提供的标识符,并且仅将提供者(雅虎)用于身份验证(而不是用于识别)。那是对的吗?最近有什么变化吗?为了清楚起见,我的意思是我的身份应该是
http://www.mysite.com/myPreferredUrl
并不是
https://me.yahoo.com/myYahooId(这是我的网站“重定向”身份验证的地方,如上述网站中所述)
边注
我问这个问题也是因为现在事情似乎坏了(几个月前还好)。如果我尝试登录 stackoverflow,我会写 mysite.com URL,我会正确地“重定向”到我登录的雅虎网站,它会询问我是否要“继续使用 stackoverflow”,我说是的,它“重定向”并且在 stackoverflow 网站上我看到“这是我们以前从未见过的 OpenID”,它显示了我的雅虎 ID,我实际上被锁定了!
这是一个错误,还是我错过了什么?
PS:如果你想知道我是如何写这个问题的,这是因为在我使用的许多机器中的一台上,浏览器仍然有一个有效的 cookie....
编辑:Andrew Arnott 在下面的回答提出了一种解决我的问题的方法(即切换到不同的提供商)。但我仍然对一些细节感兴趣:从 OpenID 1.1 到 2.0,关于委托有什么变化?为什么在规范中选择让提供者“破坏”委托?你解释得越多,你的答案被接受的机会就越大。