可能的复制品: OpenID 和 OAuth 的区别是什么
OpenID 和 oAuth 到底有什么不同。
我应该澄清一下,我打算在 Drupal 使用它们,如果这有什么区别的话。所以我猜我受制于 Drupal 中任何可用的模块实现。
OpenID 是一种为多个站点指定一个标识的方法,因此您不需要一次又一次地注册。
OAuth 是一种允许一个应用程序访问一个帐户的方法,而无需向该应用程序提供帐户登录信息。你可以把它们结合起来使用。
更多信息: OAuth-OpenID: 如果你认为它们是同一件事,那么你就找错了对象
如果你在一个网站上有一个帐户(有一些私人资源) ,你可以用用户名/密码对登录。 如果一个应用程序想要使用 得到一些私人资源,并且如果您不想给他们您的用户名/密码,那么使用 OAuth。
但是如果你想用 独一无二的账户登录多个网站,使用 OpenID。
(有些网站使用 OAuth 比如 OpenID,如果你的 OpenID 帐户中有一些私人信息,OpenID 也可以像 OAuth 一样使用)
OpenID 是纯粹的 * ,用于具有单一凭据集的多站点身份验证。
OAuth 用于让应用程序安全地相互访问: 数据共享。可以把它看作是两件事情之间的信任纽带,例如允许你的 flickr 账户在你的 Facebook 墙上发布东西,或者把你的 flickr 照片挂到第三方打印网站上。
OAuth 不仅仅是站点到站点。你可以在桌面应用程序中链接没有真正概念的“身份”到一个身份驱动的网站,如 Facebook 或 Twitter (例如,Twitter 客户端可以张贴到你的饲料,而不必存储你的登录细节)。
虽然存在相似之处,但 OAuth 实际上完全是关于服务到服务的链接。
OpenID = 使用来自 OpenID 提供者(Google)的登录凭据登录到另一个应用程序(Stack Overflow)
OAuth = 允许应用程序(TwitPic)代表您访问您使用的应用程序(Twitter)的信息。
它们可以互相结合使用。
OpenID 是对许多只有一个用户名的站点进行身份验证。 OAuth 是关于授权的-站点 A 有权调用站点 B 的 api。
这里有另一篇很好的文章/类比来解释这些差异: http://www.dotnetopenauth.net/about/about-oauth/