在一个网站我已经实现使用OpenID登录(基于在计算器上)。

但我似乎无法注销。结果 在我的主人,我可以退出,但是当用户尝试(尤其是与谷歌)再次登录认证经过无需用户名和密码输入。

我怎么能指示OpenID提供一个用户不再登录到该网站?

有帮助吗?

解决方案

的OpenID身份验证的用户到你的网站,然后开始在您的网站会话时。你破坏或单独取消你的网站的会话从用户与他们的OpenID提供商的会话。

用户访问joewidgets.com>使用OpenID用户登录(用新的或现有的提供会话)> ...用户点击注销> joewidgets.com破阵/无效化会话。

如果用户有自己的OpenID提供商让他们登录,和您的系统会自动的检查,那么它会创建一个新的本地会话。 (联合国)幸运的是,你不知道/可以了解哪些用户做或不不用担心的及其的供应商,这是一个PRO / OpenID的的CON。

有在社会口红其中要求一个参数“单签退”,但的OpenID目前不提供此功能即可。

其他提示

这被称为单点注销或单点登录手续,其中的OpenID不支持。在我看来,没有SSO注销是一个很大的安全漏洞。注销一个单一的网站没有多大的意义,如果其他人可以先手与点击几下。

现在,我们必须记住的供应商。如果它的人,我们知道,我们触发了他们退出的过程。对于谷歌,URL是,

https://www.google.com/accounts/Logout

在注销流是难看但它的工作。

这是一般的东西由OpenID提供商处理 - 例如,如果用户仍然登录到自己的谷歌帐户,选中相应的复选框“记住”的OpenID授权为您的特定网站,那么供应商将透明地记录他们在和重定向回而不显示登录提示。

“这是一个特征不是bug”

ID提供商可以选择保留授权通过cookie提供商用户,并且进一步可以选择不重新提示用户有关共享以前共享相同的信息(带提示)。所以,当站点A上的用户,要求通过站点B的授权,并且得到了重定向,B站点首先要求用户给他或她的自我认证。然后站点B询问是否应该共享的任何信息(有时这些信息)和网站A.在这一点上它也将习惯,如果你想自动共享在未来同样的信息要求。一些供应商将承担是的,有些没有,有些人会不问。站点B,然后重定向到站点A并共享信息,你现在登录

如果站点A使得第二重定向到站点B以请求登录,网站B可能 1)已经有一个认证站点B的当前用户一个cookie 2)已具备什么样的信息记录是可以接受与站点B股 3)自动共享通过重定向该信息而无需暂停所有提示用户。

这是一个特征围绕着的便利。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top