2009-09-06 106 views
4

开始提问这个问题:OpenID. How do you logoutOpenID注销。我只需要身份验证不登录OpenID提供商

好的。所以OpenID没有单一注销。
我可以看到这些用途,但有些情况令我担心:

单点登录对移动设备和个人计算机非常有用。
您登录一次,可能永远不需要再次登出(只需在新网站上进行身份验证)。

但是,如果我在公共电脑(机场,甚至是工作电脑),这是一个问题。

当我使用openID登录网站时,我登录了两个不同的地方,这并不明显。我登录到一个网站(例如使用Gmail帐户的计算器),但同时我刚登录到Gmail(OpenID提供商)。

当我注销stackoverflow我仍然烧入gmail(OpenID提供商)。

当我使用gmail进行身份验证时,我不想登录到Gmail,我只想进行身份验证。

对此的一个破解是让注销流程在同一时间注销我的Gmail,但如最后一篇文章中所述,如果我注销了stackoverflow,我不一定要注销Gmail,如果我我在家。

所以问题的确是:
有没有一种方法可以在不登录的情况下使用这些OpenID提供程序进行身份验证。

因为即使是堆栈溢出等网站,当您注销经过身份验证的OpenID提供程序时,它们也不会将您注销。如果你有Gmail帐户,我可以整天登录和登出,而不会影响登录到计算器。

回答

2

人显然没有看到你的问题的问题,所以我在这里重复,它只是为清楚(并带有问号)

有没有办法与这些OpenID提供无需登录验证?

我相信这个问题的答案是“不”(正如blowdart阐述的那样)。

3

如果协议不支持它(而且没有),那么除了完成后删除所有Cookie,这会清除将您记录到提供商的Cookie以及将您登录到服务中的cookie。另外,OpenID提供者不必为你提供一个持久性cookie,甚至是一个会话cookie,它可以让你登录到你的OpenID账户,它可以为你自己验证一次,然后向前发送认证令牌。如果您担心在使用OpenID时登录Gmail,请选择另一个OpenID提供程序。

但这是一个问题呢?

+0

有没有一种方法可以在不登录的情况下使用这些OpenID提供程序进行身份验证。 – 2009-09-06 17:51:51

+0

那么你必须登录才能得到一个令牌发送给依赖方,你想要的是它不会坚持你的提供者登录。这是关于提供者,而不是随意的人在计算器上。 – blowdart 2009-09-06 18:27:14

+0

这就是我的观点。我希望我的网站能够通过谷歌进行身份验证,但不会影响客户端的Gmail状态。我不希望用户在我的网站上做什么来影响其他网站的状态(除非用户想这样做,但这与我的网站无关)。 – 2009-09-06 18:36:19

-2

OpenID并未指定提供者是否应为自己创建登录会话,但几乎所有人都这样做。所以没有选择只需在OP中离开会话就认证RP。

如果您确实想在不离开会话的情况下进行身份验证,则可以使用其他协议进行身份验证。几乎每个OP都提供专有协议,以用户名/密码登录。例如,Google有ClientAuth,AOL有直接登录。这就是所谓的密码反模式。它会产生一些隐私问题,因为您在您的网站上收集了Google密码。反正我不推荐它。

0

简单的回答是,在实践中,通过选择合理的OpenID提供者。

长的答案是,这是一个关于你的OpenID提供者的问题,而不是OpenID本身。

OpenID only处理认证。会话支持(以及相关概念,如登录或退出)不在OpenID规范中。

您的OpenID提供商可能会为您保留一个会话(可能使用浏览器cookie)。除非您注明(“在登录到stackoverflow.com时记住我”),否则任何合理的提供者都不会这样做。

OpenID使用者(例如StackOverflow)也可能为您保留一个会话。对此,您无能为力,但对于任何身份验证方案(无论是第三方还是直接)都是如此。

由于OpenID的第三方方面设计得很好,通过选择合理的提供者很容易避免登录,或者通过使用HTML页面作为声称的身份,委派给如果您决定切换,您可以更改该提供程序。

相关问题