OpenID 与 OAuth [重复]

Posted

技术标签:

【中文标题】OpenID 与 OAuth [重复]【英文标题】:OpenID vs. OAuth [duplicate] 【发布时间】:2011-03-23 12:18:47 【问题描述】:

可能重复:What's the difference between OpenID and OAuth?

OpenID 和 oAuth 之间的真正区别是什么?它们在我看来是一样的。

我应该澄清一下,我打算在 drupal 中使用它们,如果这有什么不同的话。所以我想我会受到 drupal 中可用的任何模块实现的约束。

【问题讨论】:

【参考方案1】:

OpenID 是一种为多个站点指定一个身份的方法,因此您无需一遍又一遍地注册。

OAuth 是一种允许一个应用程序访问一个帐户而不向该应用程序提供您的帐户登录信息的方法。您可以结合使用它们。

更多信息:OAuth-OpenID: You’re Barking Up the Wrong Tree if you Think They’re the Same Thing

【讨论】:

我更喜欢这个回复,而不是标记为答案的回复。还有其他人吗? 由于票数差异,马克得到了一个不错的徽章。这是肯定的。 :) @Mark:现在是这样。我赞成接受一个(还有你的)。现在应该是徽章了。 我也是,我为你点赞,我认为这是一个非常好的总结 About from the official OAuth 网站非常有帮助。不认为它值得另一个答案,但绝对是一个很好的提及。【参考方案2】:

如果您在网站上有一个帐户(带有一些私人资源),您可以使用用户名/密码对登录。 如果应用程序想要获取一些私有资源,并且您不想向他们提供您的用户名/密码,请使用 OAuth

但如果您想使用唯一帐户登录多个网站,请使用 OpenID

(有些网站像 OpenID 一样使用 OAuth,如果您的 OpenID 帐户中有一些私人内容,则可以像 OAuth 一样使用 OpenID)

【讨论】:

只是包含了所有获得的信息。希望这个OpenID & OAuth 有用。【参考方案3】:

OpenID 纯粹*用于使用一组凭据的多站点身份验证。

OAuth 用于让应用程序安全地相互访问:数据共享。将其视为在两件事之间建立信任纽带,例如允许您的 flickr 帐户在您的 facebook 墙上发布内容或将您的 flickr 照片挂接到第三方打印网站。

OAuth 不仅仅是站点到站点。您可以在没有真正“身份”概念的桌面应用程序中链接到像 Facebook 或 twitter 这样的身份驱动网站(例如 twitter 客户端能够发布到您的提要,而无需存储您的登录详细信息)。

有一些相似之处,但 OAuth 确实是关于服务到服务的链接。

【讨论】:

【参考方案4】:

OpenID = 使用来自 OpenID 提供商 (Google) 的登录凭据登录到另一个应用程序 (Stack Overflow)

OAuth = 允许应用程序 (TwitPic) 代表您对您使用的应用程序 (Twitter) 执行操作并访问其信息。

它们可以相互结合使用。

【讨论】:

这不是 Stack Overflow 或其他属于 *** 的网站(如 serverfault)使用 OAuth 使用 google 或 facebook 进行新用户注册,使用 OpenID 使用其域的其他网站(如 serverfault 或 askubuntu)进行注册的情况.在 OAuth 中,我们可以限制哪些信息从身份验证方(facebook)流向服务提供商(***)。在 OpenID 中,我们只是简单地给出一个象征这个人合法的证书并允许访问整个数据库。由于 *** 或 askubuntu 属于同一个域,它们可以交换具有对用户数据库的完全访问权限的证书。【参考方案5】:

OpenID 是关于使用一个用户名对多个站点进行身份验证。 OAuth 是关于授权 - 站点 A 有权调用站点 B 的 api。

这是另一篇解释差异的好文章/类比:http://www.dotnetopenauth.net/about/about-oauth/

【讨论】:

site A has permission to call site B's api. 这为我清除了它。非常感谢。 另外,如果我希望访问我网站的用户通过登录 Google 来注册我的网站,然后出于会计原因将他们的电子邮件 ID 的哈希值存储在他们的所有活动中,我会使用.. . OpenID,对吧? @ronnieaka OpenID 可以很好地解决这个问题。 好吧。谢谢!这是一个很大的疑问。

以上是关于OpenID 与 OAuth [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 OpenID (RPX)(可能还有 OAuth)用于 RESTful Web 服务

OAuth 2.0 与 OpenID Connect 协议的完整指南

将 openID 和 oauth 集成为网站登录、登录和认证系统

托管应用程序的 Google 联合登录 (OpenID+Oauth) - 更改端点?

托管应用程序的 Google 联合登录 (OpenID+Oauth) - 更改端点?

安全存储 OpenID 标识符和 OAuth 令牌