我最近在我的网站上添加了 OpenID 登录。但我不知道如何添加注销功能。

例如,单击“登录”按钮后,我可以显示所选 OpenID 提供商的登录表单,例如 Google 帐户。但是,我不知道如何实现“注销”按钮来注销 Google 帐户。

请指教。

有帮助吗?

解决方案

OpenID依赖方无法登录用户从OP的,你只能实现本地注销。就像RP不能登录用户登录到OP。

其他提示

个别的OpenID提供商为注销该用户可以被重定向不同的网址。

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

雅虎: https://login.yahoo.com/config/login?logout= 1

有具有允许的OP提供这些网址作为标准的一部分的被讨论;看到的OpenID的邮件列表上讨论

我觉得你混合范例(讨厌这个词,但想不出一个更好的刚才使用)。您的登录链接会将用户带到自己的OpenID提供商进行身份验证,但它不是在他们的谷歌帐户,这是最重要的一点,用户日志记录,它在你的网站日志记录,通过OpenID提供凭据。用户很可能已经在自己的OpenID提供商登录;你不(不能)知道并没有在意。

同样,在您的网站注销链接只能注销用户您的网站,它们返回到相同的状态,因为他们点击登录按钮之前。用户可能已注销其OpenID提供商已经的;你不知道,也不关心。这个网站是一个很好的例子。)

只要破坏会话。

您只能实现对OpenID的本地注销。正如查尔斯·达菲说,你总是可以使用特定的URL但提供用户使用一个供应商,你知道该注销的URL。这可以是fustrating如果用户发现他所有的谷歌帐户登录时,他们注销您的网站。

这是看问题的另一种方法是,你是否要确保登录者到您的网站一直当他是一个OpenID提供商已经登录需要而不是仅仅记录在他的密码键。

此(IMHO),如果他们正在使用它从公共终端提供更好的安全性。这将确保是谁在一直登录的用户需要重新验证自己的密码。

要做到这一点它其实很简单,只需使用PAPE extention openid.ns.pape = “http://specs.openid.net/extensions/pape/1.0”。结果 openid.pape.max_auth_age = 0

如,当你登录到OpenID提供商URL的一部分。

更多信息这里 http://code.google.com/apis/accounts /docs/OpenID.html

下面是一个通过招,我可以从谷歌注销:

<iframe id="myIFrame" src="" style='display:none;' > 
 function logOutGoogle(){
     document.getElementById('myIFrame').src='https://www.google.com/accounts/Logout';
     timeOut();
 }

我在做我的项目,并卡在注销问题 我不知道该怎么做你喜欢 我已经通过cookie的重置所有已解答 因为我不知道设置的日志中地位的饼干 我需要知道这一点。

您必须从OpenID提供商验证成功后,创建了一些会话变量,你只需要摧毁这些会话变量。你不能摧毁一个由OpenID提供商创建的会话。

这是退出 Google 和 RP 的值得信赖的解决方案。

只需调用此 URI

https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=https://www.yourapp.com

它将注销谷歌并重定向回您的应用程序。谢谢!

很快我将发布 Windows Live 和 facebook.com STS 的注销解决方案。

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