为了理解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),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。
客户端登录授权层以后,服务提供商根据令牌的权限范围和有效期,向客户端开放用户储存的资料。
核辐射,或通常称之为放射性,1896年贝克勒尔在研究轴矿的荧光现象时发现轴盐矿发射出类似X射线的穿透性辐射。它存在于所有的物质之中,这是亿万年来存在的客观事实,是正常现象。有电离辐射(如α、β、γ)等...
SolidWorks与eDrawings是一对好的小伙伴坚信学习培训数字化模型的同学们应当都很了解2个手机软件,他们应用Solidworks强劲的3维建模作用制做3维实体模型,另外能够运用eDrawi...
北京市高档商务接待守候模特经记【贾啟倩】 今日给大伙儿共享的內容是“北京市高档商务接待守候模特经记【贾啟倩】”,我是贾啟倩,来源于沧州市,2020年28岁,做为岗位:文学类/文化传媒/影视制作,我喜爱...
北京商务陪伴伴游群,南京伴游多钱做什么的【赵月珍】 今天给大家分享的内容是“北京商务陪伴伴游群,南京伴游多钱做什么的【赵月珍】”,我是赵月珍,来自沧州市,今年20岁,作为职业:艺术,我热爱我的职业:艺...
? 高端休闲会所,此时此刻的你是不是也在等待属于你的爱情?不要迷茫也不要彷徨,请相信,缘分总有一天会光顾你的世界。,昨宵北窗下,水底新月明。料得明朝,樽前重见,镜里花难折。也应惊问,近来多少华发?,梨...
桃子大家都非常喜欢吃,随着种植技术的不断进步,现在桃子的品种也越来越多,我们常见的就是水蜜桃、黄桃、蟠桃等,但其实除了这些之外,桃子还有一些种类,那么接下来我们就一起来了解一下桃子有多少品种,桃子有哪...