OAuth的? ,OpenID的?都不是?我的网站应该支持哪一个?

时间:2009-04-29 14:53:32

标签: openid oauth registration

我在一个新网站上工作,并希望就OAuth与OpenID与标准网站拥有的用户名/密码提供一些建议/反馈。

8 个答案:

答案 0 :(得分:24)

你可能想阅读Malcom Tredinnick的this article,它解释了openid和oauth是什么,做什么。它们用于不同的目的。

总之,openid将用于唯一标识用户 - 它是一种身份解决方案。 oAuth将提供一种与网站用户有权访问的数据进行交互的方法,允许用户授予您的网站临时访问外部服务的权限,例如他们的flickr帐户 - 这是一个授权工具。

当然只提供标准的特定于站点的帐户是一种选择,但是恕我直言,支持openid对您的用户和网络来说更好。许多实现openid的站点允许用户使用openid(如果有的话),但也允许用户登录并创建没有openid的帐户。所以,它不一定是一个或两个命题。你可以做到这两点!

答案 1 :(得分:3)

请注意,即使您的网站不需要访问其他网站上的用户私有数据,如果您的网站包含用户可能希望通过API或其他网站访问的数据,OAuth仍可能适用。使用OAuth,无论是结束还是两者都可能适用于您的网站。

答案 2 :(得分:1)

我对OAuth的印象是,它允许对API进行安全,经过身份验证的访问,而不是一般用户访问。

就个人而言,我希望看到更多网站支持OpenID。

答案 3 :(得分:1)

我赞成使用OpenID,Facebook和任何其他身份验证器支持集成用户授权。给用户一个选择。

还允许他们不使用它们。特别是在面向成人的网站中,您的用户可能会选择不使用非匿名的内容作为简单注册到您网站的内容。在存储密码时只需使用最佳实践。

答案 4 :(得分:0)

您可以将所有这些组合在一起并充分利用它,但这取决于您的设计选择。

例如,如果您使用的是Java,则可以配置Acegi(Spring Security)以允许openID和您的常规身份验证机制。

openID具有OAuth扩展

OAuth具有openID扩展名

取决于你......

答案 5 :(得分:0)

JanRain让您接受everything。鉴于大公司总是希望成为供应商而不是消费者,这可能是唯一现实的“普遍”选择。

答案 6 :(得分:0)

Here是一个非常明确的解释。 直接来自OAuth文档。

答案 7 :(得分:0)

截至2011年11月,在开发人员预览版中有一个名为OpenID Connect的新标准。它基于OAuth 2.0构建,据我所知,它标准化了Facebook的工作方式,这也是建立在OAuth 2.0。它看起来很有前景,因为Facebook验证协议有很多经验,它可能是许多Web开发人员正在寻找的 解决方案。我还没有深入研究它,但我可能会误解它,但这是我在阅读this blog post后对它的理解。