为了理解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),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。
客户端登录授权层以后,服务提供商根据令牌的权限范围和有效期,向客户端开放用户储存的资料。
对于经验不足的企业而言,应对分布式拒绝服务(DDoS)攻击是一场严峻考验,一项艰巨的任务。但遇到攻击切勿惊慌!通过以下十个步骤,可以助你最大限度的提高战胜这类攻击的几率。...
宝宝米粉是许多爸爸妈妈为小宝宝挑选的宝宝辅食之一,目前市面上米糊类型有很多,依据样子大概分成块状和粉末状二种,在口味上略有不同,那麼宝宝米粉块状和粉末状哪家好?下边我产生详细介绍。 宝宝米粉块状...
总所周知,高考作文分数在60可能70分,分数占比较量大,一般要求立意自定、文体自选,且不少于800字。只是写的一手好文章并不是一朝一夕就行的,需要从小造就,那么对付刚上小学的小伴侣,该如何引导他们写日...
用自己手机查老婆和别人聊天(远程微信聊天记录查看器)陈女士想要打消丈夫段先生对她的猜忌,陈女士和丈夫段先生结婚20多年,一对儿女都已成年,这老夫老妻难道还有什么事情是说不清楚的吗?陈女士说这件事她...
各位朋友想要知道ppt2019如何设置网页链接实际操作吗?下边便是我梳理的ppt2019网页链接设定实例教程,赶快看来一下吧,期待能协助到大伙儿哦! 各位朋友想要知道ppt2019如何...
找一部黑客的电影国防部服务器相关问题 网站黑客联系方式相关问题 黑客能做什么入侵手机 世界上永远不死的4人西游记(西游记世界)...