OAuth2.0
2019-06-05 10:20:14 179 举报
一张图看懂OAuth2.0
作者其他创作
大纲/内容
服务提供商
4种授权模式
密码模式
授权层
角色
A)用户访问客户端,后者将前者导向认证的服务器B)用户选择是否给予客户端授权C)假设用户给予授权,认证服务将用户导向客户端事先指定的“重定向URI”,并附上授权码D)客户端收到授权码,附上早先的“重定向URI”,向认证服务器申请令牌。这一步是在客户端的后台服务器上完成的,用户不可见。E)认证服务器核对授权码和重定向URI无误后,向客户端发送访问令牌(access Token)和更新令牌(refresh Token)
客户端模式
获得令牌
4.颁发access token+refresh token
客户端
2.重定向到授权页面
9.access token+refresh token
Auth Server
资源所有者
使用令牌访问资源
Auth Login
10.令牌颁发完成
OAuth2.0
A)客户端向认证服务器进行身份认证,并要求一个访问令牌B)认证服务器确认无误后,向客户端提供访问令牌
3.用户名+密码+clientId+redirectUrl
登陆
8.颁发access token+refresh token
获得授权许可
A)用户向客户端提供用户名和密码B)客户端将用户名和密码发给认证服务器,向后者请求令牌C)认证服务器确认无误后,向客户端提供访问令牌
使用令牌访问资源,过期阻止
6.发起授权码换令牌请求
获取 令牌及刷新令牌
5.重定向到redirectUrl+access token
response_type:codeclient_id:redirect_uri:scope:state:
用户代理
时序图
简化模式
授权码模式
认证服务器
A)客户端将用户导向认证的服务器B)用户决定是否给客户端授权C)假设用户给予授权,认证服务将用户导向客户端事先指定的“重定向URI”,并在URI的Hash部分包含了访问令牌D)浏览器向资源服务器发出请求,其中不包括上一步收到的Hash值E)资源服务器返回一个网页,其中包含的代码可以获取Hash中的令牌F)浏览器执行上一步获得的脚本,提出出令牌G)浏览器将令牌发给客户端
抽象流程图
重获 令牌及刷新令牌
User Agent
5.access token+refresh token
资源服务器
1.访问客户端
1.clientId+clientSecretl
5.重定向到redirectUrl+授权码
7.授权码+clientId+clientSecret
Client
4.返回授权码
2.用户名+密码
4.颁发access token
思路
用户
3.用户名+密码+clientId+clientSecretl
刷新Token
2.颁发access token+refreshtoken
0 条评论
下一页