理解 OAuth 2.0
理解 2.0 OAuth
2023-09-14 09:11:28 时间
理解OAuth 2.0
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
一、简介
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。
本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。
三、OAuth的思路
OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。"客户端"不能直接登录"服务提供商",只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。
"客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端"开放用户储存的资料。
四、运行流程
OAuth 2.0的运行流程如下图,摘自RFC 6749。
(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。
不难看出来,上面六个步骤之中,B是关键,即用户怎样才能给于客户端授权。有了这个授权以后,客户端就可以获取令牌,进而凭令牌获取资源。
相关文章
- group by 和 order by 的区别 + 理解过程
- 深入理解Redis 数据结构—字典
- JDK 1.8 源码阅读和理解详解编程语言
- Oracle 增加列注释让数据更易于理解(oracle添加列注释)
- Linux文件结构:深入理解(linux文件结构)
- 函数深入理解Linux atoi函数(linuxatoi)
- 深入理解路由器:如何让Linux系统加持(路由器linux系统)
- 深入理解Oracle触发器类型(oracle触发器类型)
- 深入理解Linux系统中进程状态变化的Dynamic调度(linux进程状态是d)
- 深入理解Redis缓存清除物理文件(清除redis物理文件)
- 深入理解Redis事务提交过程(提交redis事务)
- 深入理解掌握Redis源码之路(掌握redis源码)
- 今晚8点丨达观数据联合创始人纪传俊:三家大行智能化经验加持,我对银行RPA的思考与理解