Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php OpenID。如何注销_Php_Web Services_Openid_Logout - Fatal编程技术网

Php OpenID。如何注销

Php OpenID。如何注销,php,web-services,openid,logout,Php,Web Services,Openid,Logout,在一个网站上,我使用OpenID(基于StackOverflow)实现了登录 但我似乎无法注销。 在我的主机上,我可以注销,但当用户再次尝试登录时(特别是使用google),身份验证将通过,而不需要用户键入名称和密码 我如何向OpenID提供商表明用户不再登录该站点?这通常是OpenID提供商处理的事情-例如,如果用户仍然登录到他们的Google帐户,并选中“记住”特定站点的OpenID授权框,然后,提供商将透明地将它们登录并重定向回,而不显示登录提示。OpenID会在您的站点上启动会话时对用户

在一个网站上,我使用OpenID(基于StackOverflow)实现了登录

但我似乎无法注销。
在我的主机上,我可以注销,但当用户再次尝试登录时(特别是使用google),身份验证将通过,而不需要用户键入名称和密码


我如何向OpenID提供商表明用户不再登录该站点?

这通常是OpenID提供商处理的事情-例如,如果用户仍然登录到他们的Google帐户,并选中“记住”特定站点的OpenID授权框,然后,提供商将透明地将它们登录并重定向回,而不显示登录提示。

OpenID会在您的站点上启动会话时对用户进行身份验证。您可以从用户与其OpenID提供商的会话中分别销毁或使站点会话无效

用户访问joewidges.com>用户使用OpenID登录(使用新的或现有的提供者会话)>。。。用户单击logout>joewidges.com将销毁/使会话无效

如果用户让他们的OpenID提供程序让他们登录,并且您的系统自动检查,那么它将创建一个新的本地会话。(Un)幸运的是,您不必担心用户在他们的提供商那里做什么或不做什么,这是OpenID的一个优点/缺点


有一个参数调用“单点注销”,但OpenID当前不提供此函数

这称为单次注销或单次注销,OpenID不支持。在我看来,没有注销的SSO是一个很大的安全漏洞。如果其他人只需点击几下就可以进入某个站点,那么注销一个站点并不意味着什么

现在,我们必须记住提供者。如果是我们认识的人,我们会为他们启动注销程序。对于谷歌来说,URL是

注销流很难看,但它可以完成任务。

“这是一项功能,而不是一个bug”

id提供商可以选择通过Cookie为该提供商授权用户,还可以选择不重新提示用户共享先前共享的相同信息(带有提示)。因此,当站点A上的用户要求通过站点B获得授权并被重定向时,站点B首先要求用户对自己进行身份验证。然后站点B询问是否应该与站点A共享任何信息(有时是哪些信息)。此时,站点B还习惯性地询问您是否希望在将来自动共享相同的信息。有些提供者会认为是,有些不会,有些不会问。站点B然后重定向到站点A并共享信息,您现在已登录

如果站点A再次重定向到站点B以请求登录,那么站点B可能会 1) 已具有对站点B的当前用户进行身份验证的cookie。 2) 已经记录了哪些信息可以与站点B共享。 3) 通过重定向自动共享此信息,而无需暂停以提示用户


这是一项以方便为中心的功能。

这取决于OpenID提供程序。如果你从Google注销,我肯定会再次提示你。无论是谁将此标记为属于超级用户,你都错了-这显然是一个关于在Web应用程序中实现OpenID的编程问题。@Dav:对不起,我读得太快了,但不幸的是,没有办法撤销投票结果。谢天谢地,只要其他四个人没有犯同样的错误,这并不重要。不用担心,我们有时都会犯错误。:)检查你网站上的(会话| cookies)是否都正常是一个好主意。现在这只是意味着!我喜欢OpenID的原因是我在控制,而不是我所在的站点。把我的gmail注销,我就再也不会访问你的网站了。它应该要求注销,而不是仅仅注销。有可能吗?哇!我完全不知道google允许通过简单的GET请求注销。这实际上是一种等待发生的DoS攻击(例如,具有该地址的iframe将从google注销site reader!)