OpenId +记住我/保持登录状态

时间:2009-06-04 11:31:52

标签: cookies login openid

我有一个问题,关于如何/最好的方法是使用OpenId并提供保持登录的能力。

如果我查看Stackoverflow例如我已经使用Google登录,如果我通过浏览器关闭并返回它仍然让我登录。

但是,我没有登录Google,但是我从有权访问您的Google帐户的授权服务列表中删除了 stackoverflow。我天真地期望stackoverflow会提示我再次登录,但事实并非如此。

所以我的问题是,有关OpenId的最佳做法是什么,以及跨会话记住经过身份验证的用户?

2 个答案:

答案 0 :(得分:11)

OpenID仍然很新,一些依赖方正在尝试新的和不同的方式来实现OpenID。正在进行的工作best practices document for relying parties由OpenID基金会主办。特别是,他们在last section中解决了cookie和会话长度的问题。绝对有趣的想法是使用持久的claim_id cookie而不是持久的会话cookie,以便让用户的生活更轻松 - 他们只需要退出他们的OP并关闭浏览器。

就我个人而言,我发现你在StackOverflow上描述的行为非常自然。如果OpenID不在图片中,并且您使用持久cookie(一种非常常见的场景)登录了两台不同计算机上的用户名/密码网站,并且您在一台计算机上更改了密码,那么如果另一台我不会感到惊讶计算机仍然让我登录。你可以称之为安全漏洞,但这仍然是正常的做法。事实上,Gmail最近在收件箱屏幕底部添加了一个显示屏,告诉您登录的其他位置并让您有机会使其会话Cookie无效。

我建议任何RP都可以采用类似的方法,无论身份验证方法如何。这可能会减轻您的安全问题。

答案 1 :(得分:4)

堆栈溢出可能使用cookie来记住您作为用户编号xyz或会话ID 1234.在身份验证之后,OpenID完全没有与会话有任何关系。因此无法查看您是否仍然登录Google,因此这似乎很自然。

相关问题