代码之家  ›  专栏  ›  技术社区  ›  Loki Astari

OpenID。你怎么注销的

  •  14
  • Loki Astari  · 技术社区  · 15 年前

    在一个网站上,我使用openid(基于stackoverflow)实现了登录。

    但我似乎不能退出。
    在我的主机上,我可以注销,但是当用户尝试再次登录(尤其是使用谷歌)时,认证就可以在不要求用户输入名称和密码的情况下完成。

    如何向OpenID提供程序指示用户不再登录该站点?

    4 回复  |  直到 15 年前
        1
  •  14
  •   arbales    15 年前

    OpenID在您的站点上对用户进行身份验证,然后在您的站点上启动会话。你毁灭或 单独使站点会话无效 从用户与其OpenID提供程序的会话。

    用户访问joewidgets.com>用户使用openid登录(使用新的或现有的提供程序会话)>…用户单击Logout>joewidgets.com会破坏/使会话无效。

    如果用户拥有其OpenID提供程序,请让他们保持登录状态, 你的系统会自动 检查,然后它将创建一个新的本地会话。(un)幸运的是,您不/不担心用户在做什么或不做什么。 他们的 provider,它是openid的pro/con。

    有一个争论在 Social Lipstick 这需要“单一退出”,但是 OpenID当前不提供此功能 .

        2
  •  8
  •   ZZ Coder    15 年前

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

    现在,我们必须记住提供者。如果是我们认识的人,我们会触发他们的注销过程。对于谷歌来说,网址是,

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

    注销流程很难看,但它确实起到了作用。

        3
  •  4
  •   Amber    15 年前

    这通常是由OpenID提供者处理的——例如,如果用户仍然登录到他们的Google帐户,并选中“记住”特定站点的OpenID授权复选框,那么提供者将透明地登录它们并将它们重新定向,而不显示登录提示。

        4
  •  0
  •   dlamblin    15 年前

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

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

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

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