OAuth与OpenID区别

简介:

OAuth和OpenID都是开放的Web第三方登录标准,都使用了HTTP重定向的方式,也都可以集中管理登录有效期。

它们不同于,OpenID的目标在于使你只用一次登录动作就可以登录多个网站。当你想要登录一个使用了OpenID服务的网站时,它会将你重定向至提供OpenID服务的网站,如果你已经登录过,会自动重定向回来,此时你已经是登录状态。

OAuth的目标则在于让你可以独立授权“消费者”网站是否可以读取“提供者”网站上的数据。

比如说,你想让一个打印网站帮你打印微博上的相片。它会把你重定向到微博,微博问你“允许它读取你的相片吗?”如果你允许,这个打印网站就把你微博上的相片都下载走了。

使用OAuth需要你登录“提供者”网站,至于如何“提供者”网站提供何种登录方式,完全与OAuth机制无关。可以是用户名密码,物理令牌或者是OpenID。

OpenID不关心数据的事。虽然它的扩展协议也会支持存储像你的名字、头像、电话号码等内容,并将它们提供给使用了OpenID服务的网站。但本质上,它只是为了让你少输入几次这种通用信息而已。它不会存储与应用相关的敏感信息。

OAuth提供商会向别人提供你应用相关的数据,如果你用一个网站请求你的微博OAuth授权,你应该准备好它可以拥有你微博的所有权限。

你给了人家OAuth权限,那效果就像你把用户名密码给人家了。OAuth的好处就在于你不用真的把用户名和密码给他,而且可以做一些权限范围的控制。

但OpenID就没有这个效果,即使你用了两个使用同一个OpenID服务的网站,它们互相之间也读取不了任何信息,做不了任何操作。OpenID比OAuth更加“粗粒度”一些。



本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1735768

相关文章
|
6月前
|
小程序 JavaScript
小程序云开发获取openid及出现openid是undefind的坑
小程序云开发获取openid及出现openid是undefind的坑
57 0
|
XML JSON 安全
OAuth vs SAML vs OpenID:了解它们之间的差异
身份验证允许进入系统,而授权允许访问同一系统内的特定功能。安全断言标记语言 (SAML) 是一种开放标准,它试图弥合身份验证和授权之间的鸿沟。
|
8月前
如何获取openid
如何获取openid
101 0
|
10月前
|
存储 NoSQL 数据库
Oauth2协议中如何对accessToken进行校验
Oauth2协议中如何对accessToken进行校验
116 0
|
8月前
|
数据库 数据安全/隐私保护
SecurityOauth2-openId
SecurityOauth2-openId
EMQ
|
9月前
|
JSON 安全 算法
深入解析 MQTT 中基于 Token 的认证和 OAuth 2.0
本文将深入了解基于 Token 的认证和 OAuth 2.0,阐述它们的原理并展示它们在 MQTT 中的应用。
EMQ
248 0
深入解析 MQTT 中基于 Token 的认证和 OAuth 2.0
|
10月前
|
安全 数据安全/隐私保护 开发者
构建安全的身份认证系统:OAuth和OpenID Connect的实践
在当今的互联网世界中,安全的身份认证是保护用户隐私和数据安全的重要组成部分。OAuth和OpenID Connect是两种常用的身份认证协议,本文将介绍它们的原理和实践,以及如何在应用程序中集成和使用它们来构建安全的身份认证系统。
119 0
|
11月前
|
存储 JSON 算法
「应用安全」OAuth和OpenID Connect的全面比较(上)
「应用安全」OAuth和OpenID Connect的全面比较
|
11月前
|
存储 JSON 安全
「应用安全」OAuth和OpenID Connect的全面比较(下)
「应用安全」OAuth和OpenID Connect的全面比较
|
JSON 安全 前端开发
什么是 OAuth?
什么是 OAuth? 从高层次开始,OAuth 不是API或服务:它是授权的开放标准,任何人都可以实施它。 更具体地说,OAuth 是应用程序可以用来为客户端应用程序提供“安全委托访问”的标准。OAuth 通过 HTTPS 工作,并使用访问令牌而不是凭据对设备、API、服务器和应用程序进行授权。 OAuth 有两个版本:OAuth 1.0a和OAuth 2.0。这些规范彼此完全不同,不能一起使用:它们之间没有向后兼容性。 哪一个更受欢迎?好问题!如今,OAuth 2.0 是使用最广泛的 OAuth 形式。所以从现在开始,每当我说“OAuth”时,我都是在谈论 OAuth 2.0——因为它很可能
144 0
什么是 OAuth?