我有一个问题,关于如何/什么是使用OpenId并提供保持登录的能力的最好方法。
例如,如果我查看Stackoverflow,我已经使用Google登录,如果我通过浏览器关闭并返回,它仍然会让我登录。
然而,,我没有登录到谷歌,而且我已经从授权服务列表中删除了 stackoverflow,该列表可以访问您的谷歌帐户。我天真地期望stackoverflow会提示我再次登录,但它没有。
所以我的问题是,关于OpenId和跨会话记住经过身份验证的用户的最佳实践是什么?
发布于 2009-06-04 16:50:49
OpenID仍然很新,一些依赖方正在尝试新的和不同的方法来实现OpenID。有一个由OpenID基金会托管的正在进行的best practices document for relying parties。特别是,它们解决了last section中的cookie和会话长度的问题。使用持久claimed_id cookies而不是持久会话cookies无疑是一个有趣的想法,以使用户的生活更轻松--他们只需注销其操作并关闭浏览器。
就我个人而言,我发现你在StackOverflow上描述的行为非常自然。如果OpenID出了问题,并且您使用持久cookie登录到两台不同计算机上的用户名/密码网站(这是一种非常常见的情况),并且您在其中一台计算机上更改了密码,那么如果另一台计算机上仍有我登录,我也不会感到惊讶。你可以称之为安全漏洞,但这仍然是正常的做法。如此正常,事实上,Gmail最近在你的收件箱屏幕底部添加了一个显示,告诉你你还在哪里登录,并让你有机会使他们的会话cookie无效。
我建议任何RP都可以采用类似的方法,而不管身份验证方法是什么。这可能会减轻您的安全顾虑。
发布于 2009-06-04 11:36:33
堆栈溢出可能会使用cookie将您记为用户号xyz或会话id 1234。在身份验证之后,OpenID与会话完全没有任何关系。因此无法查看您是否仍在登录Google,所以这看起来很自然。
https://stackoverflow.com/questions/949964
复制相似问题