OpenID和OAuth之间的区别是什么?
OpenID和OAuth究竟有什么不同?它们看起来对我来说完全相同。
我应该说明,我打算在Drupal中使用它们,如果这有任何差异。所以我想我受限于Drupal中可用的模块实现。
OpenID和OAuth究竟有什么不同?它们看起来对我来说完全相同。
我应该说明,我打算在Drupal中使用它们,如果这有任何差异。所以我想我受限于Drupal中可用的模块实现。
OpenID 是一种指定一个身份在多个站点上使用的方式,因此您不需要一遍又一遍地进行注册。
OAuth 是一种允许一个应用程序访问一个帐户而不提供该应用程序您的帐户登录信息的方式。您可以将它们结合使用。
如果你在一个网站上有一个带有某些私人资源的账户,你可以使用用户名/密码组合登录。
如果一个应用程序想要获取一些私人资源,并且你不想给他们你的用户名/密码,那么就使用OAuth。
但是,如果你想要使用一个唯一的账户登录多个网站,则使用OpenID。
(有些网站像 OpenID 一样使用 OAuth,如果你的 OpenID 账户中有一些私人内容,也可以使用 OpenID 像 OAuth 一样)
OpenID = 使用 OpenID 提供商(如 Google)的登录凭据来登录到其他应用程序(如 Stack Overflow)。
OAuth = 允许应用程序(如 TwitPic)代表您执行操作并访问您使用的应用程序(如 Twitter)中的信息。
它们可以一起使用。
OpenID 是用于多站点身份验证的纯净方式,使用单一的凭据。
OAuth 旨在让应用程序彼此安全地访问,即数据共享。可以将其视为在两个事物之间建立信任关系,例如允许您的 Flickr 帐户发布内容到您的 Facebook 页面上,或将您的 Flickr 照片连接到第三方打印网站上。
OAuth 并不仅限于站点之间的使用。您可以将没有“身份”概念的桌面应用程序链接到像 Facebook 或 Twitter 这样的基于身份的网站(例如,Twitter 客户端能够在不必存储登录详细信息的情况下发布消息到您的推文中)。
虽然有些相似之处,但 OAuth 主要是用于服务与服务之间的链接。
OpenID 是使用一个用户名在多个网站上进行认证的技术。
OAuth 是授权技术,即网站A有权限调用网站B的API接口。
以下是另外一篇很好的文章/类比,可以解释这两者之间的区别:http://www.dotnetopenauth.net/about/about-oauth/