OAuth2
令牌与密码
令牌:
短期的、自动失效;可以撤销、撤销立即生效;有权限范围
密码:
长期有效;不允许撤销;完整权限
京东用QQ登录
Oauth2与1区别
Oauth2角色
Resource Owner -->我
Client -->京东
Authorization Server -->QQ
Resource Server -->QQ
User Agent -->浏览器
Oauth2授权模式
授权码:
最完整和严谨的授权模式,第三方平台登录都是此模式,最安全
简化:
省略授权码阶段,客户端时纯静态页面采用,安全高
密码:
把用户名密码告诉客户端,对客户端高度信任,订单和认证服务器同一个公司,安全一般
客户端:
直接以客户端名义申请令牌,很少用
OAuth2实战
为什么要用OAuth2
单体架构:cookie session机制
分布式架构:session共享
客户端—》负载均衡器—》订单、支付、票务等服务—》redis(存储session)
分布式架构:token
Cookie session token区别
- cookie是不能跨域的,前后端分离分布式架构实现多系统SSO非常困难
- 移动端应用没有cookie,所以对于移动端支持不好
- token基于header传递,部分解决了CSRF攻击
- token要比sessionId大,客户端存储在localStorage中,js可读