如何向启用OpenID的站点添加注销功能?

Mad*_*dhu 24 openid logout

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

例如,在单击"登录"按钮时,我可以显示所选OpenID提供程序的登录表单,例如Google帐户.但是,我不知道如何实施退出按钮以退出Google帐户.

请指教.

Cha*_*ffy 39

各个OpenID提供程序提供不同的URL用于注销,用户可以将其重定向到该URL.

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

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

已经讨论过允许OP提供这些URL作为标准的一部分; 请参阅OpenID邮件列表中的此讨论.

  • 我猜这些网址将很快停止接受GET请求注销.当任何随机网站只是通过让您的浏览器执行GET请求(例如在页面上嵌入图像,iframe,重定向),任何随机网站都可以让您退出所有谷歌服务(以及谷歌认证的其他服务),这远非有趣.该URL应提供包含POST提交按钮和CSRF保护的确认页面. (8认同)
  • @MikkoRantalainen好了,> 2年后,那些仍然很好. (2认同)

Mic*_*ker 13

OpenID依赖方无法将用户退出OP,只能实现本地注销.就像RP无法将用户登录到OP.

  • OpenID没有实现这一点,但主要的OpenID提供商(谷歌和雅虎)_do_. (3认同)

And*_*ett 5

我认为你们正在混合范式(讨厌这个词,但不能想到现在使用的更好的一个).您的登录链接会将用户发送给他们的OpenID提供商进行身份验证,但不是用户登录到他们的Google帐户,这是重要的一点,它通过OpenID提供凭据登录到您的网站.用户可能已经登录到他们的OpenID提供商; 你不(不能)知道也不必关心.

同样,您站点上的注销链接应仅将用户从您的站点注销,并将其返回到与单击登录按钮之前相同的状态.用户可能已经退出了他们的OpenID提供商; 你既不知道也不关心.这个网站是一个很好的例子:).