OpenID和oAuth之间有什么区别?他们看起来和我一样。
我应该澄清,我打算在drupal中使用它们,如果这有任何区别的话。所以我想我受到了drupal中可用的任何模块实现的约束。
答案 0 :(得分:243)
OpenID是一种为多个站点指定一个标识的方法,因此您无需反复注册。
OAuth是一种允许一个应用程序访问一个帐户而不向该应用程序提供您的帐户登录信息的方法。你可以结合使用它们。
更多信息:OAuth-OpenID: You’re Barking Up the Wrong Tree if you Think They’re the Same Thing
答案 1 :(得分:106)
如果您在网站中拥有一个帐户(包含一些私人资源),则可以使用用户名/密码来登录。 如果某个应用想要获取一些私人资源,并且您不想向他们提供您的用户名/密码,请使用 OAuth 。
但是,如果您想使用唯一帐户登录多个网站,请使用 OpenID 。
(有些网站使用像OpenID这样的OAuth,如果您的OpenID帐户中有一些私有内容,OpenID可以像OAuth一样使用)
答案 2 :(得分:78)
OpenID =使用OpenID提供商(Google)的登录凭据登录其他应用程序(Stack Overflow)
OAuth =允许应用程序(TwitPic)代表您行事并从您使用的应用程序(Twitter)访问信息。
它们可以相互结合使用。
答案 3 :(得分:20)
OpenID纯粹用于具有一组凭据的多站点身份验证。
OAuth用于让应用程序安全地相互访问:数据共享。可以把它想象成两件事之间的信任关系,例如允许你的flickr账户在你的Facebook墙上发布内容或者将你的flickr照片挂钩到第三方打印网站。
OAuth不仅仅是网站到网站。您可以将桌面应用程序中没有真正的“身份”概念链接到Facebook或Twitter等身份驱动的网站(例如,Twitter客户端无需存储您的登录详细信息即可发布到您的Feed中。)
有相似之处,但OAuth实际上是关于服务到服务的链接。
答案 4 :(得分:20)
OpenID是关于使用一个用户名对许多站点进行身份验证 OAuth是关于授权的 - 站点A有权调用站点B的api。
这是另一篇解释差异的好文章/类比:http://www.dotnetopenauth.net/about/about-oauth/