OpenID和OAuth有什么区别?

北城以北 提交于 2019-12-15 17:15:32

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我真的想了解OpenID和OAuth之间的区别吗? 也许他们是两个完全不同的东西?


#1楼

OpenID(主要)用于标识/身份验证,因此stackoverflow.com知道我拥有chris.boyle.name (或任何地方),因此我可能是昨天拥有chris.boyle.name并获得一些声望点的同一个人。

OAuth旨在授权代表您执行操作,以便stackoverflow.com (或任何地方)可以在不知道您的Twitter密码的情况下自动代表您发送Tweet权限。


#2楼

OpenID是关于身份验证(即证明你是谁), OAuth是关于授权(即授予对功能/数据/等的访问权限而不必处理原始身份验证)。

OAuth可以在外部合作伙伴站点中使用,以允许访问受保护的数据,而无需重新验证用户。

从用户的角度来看 ,博客文章“ OpenID与OAuth”从用户的角度对两者进行了简单的比较,“ OAuth-OpenID:如果你认为他们是同一件事,你就会吵到错误的树 ”了解更多信息关于它。


#3楼

OAuth的

仅用于委派authorization - 意味着您授权第三方服务访问以使用个人数据,而无需提供密码。 此外,OAuth“会​​话”通常比用户会话更长寿。 意味着OAuth旨在允许授权

即Flickr使用OAuth允许第三方服务代表他们发布和编辑人物图片,而无需提供他们的闪烁用户名和密码。

OpenID的

用于authenticate单点登录身份。 所有OpenID应该允许OpenID提供商证明你说你是。 然而,许多站点使用身份验证来提供授权(但是两者可以分开)

即一个人在机场出示他们的护照,以验证(或证明)他们正在使用的机票名称是谁。


#4楼

OpenID和OAuth是用于身份验证和/或授权的每个基于HTTP的协议。 两者都旨在允许用户执行操作,而无需向客户端或第三方提供身份验证凭据或一揽子权限。 虽然它们相似,并且提出了将它们一起使用的标准,但它们是单独的协议。

OpenID旨在用于联合身份验证。 客户端接受来自任何提供商的身份断言(尽管客户可以自由列入白名单或黑名单)。

OAuth旨在用于委派授权。 客户向提供商注册,提供商提供授权令牌,它将接受代表用户执行操作。

OAuth目前更适合授权,因为身份验证后的进一步交互内置于协议中,但这两种协议都在不断发展。 OpenID及其扩展可用于授权,OAuth可用于身份验证,可将其视为无操作授权。


#5楼

许多人仍然访问这个,所以这里有一个非常简单的图解释它

礼貌维基百科

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!