一、OAuth2.0协议介绍
1.OAuth协议简介
- OAuth is short for Open Authorization
- OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的账号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的。
2.OAuth协议工作原理图解,如图:
3.OAuth协议的版本
- OAuth 1.0发布于2007年末,存在一个比较严重的安全漏洞
- OAuth 2.0发布于2010年初,大部分公司使用的是2.0版本
4.OAuth应用场景
- QQ用户授权慕课网使用其QQ账号相关的信息
- 获取授权后,在符合权限规则的情况下访问各种API
二、OAuth授权流程详解
1.三个重要步骤解析,如图:
2.步骤一,请求OAuth登录页,每个使用第三方登录的站点都需要第三方进行注册获取唯一的appId和appKey,相当于一个唯一的身份验证,并不是随便拼接url就可以进行使用的。
3.步骤二,用户使用第三方账号登录并授权,用户使用第三方账号登录成功后,第三方会使用redirect_uri返回给使用第三方登录的站点,并且会传递一个加密的数据code。
4.步骤三、返回登录结果,当获取到code时可以确认用户第三方账号登录成功,但是处于安全考虑(code可能被劫持),使用第三方登录的站点还需要请求一个url来确保是合法的站点请求的第三方登录服务。
5.响应数据里还包含一个AccessToken参数
6.AccessToken与RefreshToken的数据传输原理
数据解析:
7.AccessToken与RefreshToken生命周期解析
本文为原创文章,如果对你有一点点的帮助,别忘了点赞哦!比心!如需转载,请注明出处,谢谢!