为了理解OAuth的适用场合,让我举一个假设的例子。
有一个云冲印的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让云冲印读取自己储存在Google上的照片。
问题是只有得到用户的授权,Google才会同意云冲印读取这些照片。那么,云冲印怎样获得用户的授权呢?
传统 *** 是,用户将自己的Google用户名和密码,告诉云冲印,后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。
(1)云冲印为了后续的服务,会保存用户的密码,这样很不安全。
(2)Google不得不部署密码登录,而我们知道,单纯的密码登录并不安全。
(3)云冲印拥有了获取用户储存在Google所有资料的权力,用户没法限制云冲印获得授权的范围和有效期。
(4)用户只有修改密码,才能收回赋予云冲印的权力。但是这样做,会使得其他所有获得用户授权的第三方应用程序全部失效。
(5)只要有一个第三方应用程序被破解,就会导致用户密码泄漏,以及所有被密码保护的数据泄漏。
OAuth就是为了解决上面这些问题而诞生的。
二、名词定义
在详细讲解OAuth 2.0之前,需要了解几个专用名词。它们对读懂后面的讲解,尤其是几张图,至关重要。
(1)Third-party application:第三方应用程序,本文中又称客户端(client),即上一节例子中的云冲印。
(2)HTTP service:HTTP服务提供商,本文中简称服务提供商,即上一节例子中的Google。
(3)Resource Owner:资源所有者,本文中又称用户(user)。
(4)User Agent:用户 *** ,本文中就是指浏览器。
(5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。
(6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。
知道了上面这些名词,就不难理解,OAuth的作用就是让客户端安全可控地获取用户的授权,与服务商提供商进行互动。
三、OAuth的思路
OAuth在客户端与服务提供商之间,设置了一个授权层(authorization layer)。客户端不能直接登录服务提供商,只能登录授权层,以此将用户与客户端区分开来。客户端登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。
客户端登录授权层以后,服务提供商根据令牌的权限范围和有效期,向客户端开放用户储存的资料。
买车买起亚K5好不好?听起亚K5车主说完,后悔买错了车 社会的发展进步,我们很多人都买车代步了,而买车大家都是买什么车呢?大家也都知道,现在的车性价比方面都是差不错的,那么什么车更好呢?其实很多人都...
随着消费升级,月嫂的职业门槛也在提高,在北京这样的一线城市,月嫂收费普遍都在万米以上,高收入也是吸引了不少学历较高,以及医护行业的专业人才投身其中。消费需求提升 月嫂门槛“水涨船高”刘恩静原本是天津一...
头号快报是一个转发文章免费赚钱平台,这次航行大法似乎失灵了,不外没关系,由于这个平台首次1米可提现微信零钱,以是我们不用飞,也有快速赚到1米的方式。固然若是你微信号够多,装备够多,赚的也不只这1米了!...
隋朝是中国汗青上承南北朝下启唐朝的大一统朝代。隋朝也是一个无比短暂的大统一王朝,固然只经验了短短的38年二世而亡,在汗青中是无比刺眼的一个朝代,是中国汗青上无比重要的一个朝代。 隋朝大都时候比盛唐更...
为什么叫坐便器(为何坐便器要叫坐便器不叫羊桶牛桶)谈起坐便器,如今早已变成人们的最好的朋友,我敢确保大家每日最少见面它一面吧?它早已变成大家播放视频见到两腿发麻的固定不动地址。但有一个难题大家很有...
ddos攻击软件手机版下载安装ddos攻击软件手机版下载 1、ddos攻击是利用中间代理的方式来进行攻击的。2、可能原因如下:建议玩家重新连接数据、或者优化一下网络或者重启路由器。随着版本的更新,旧版...