1.OAuth协议简介
2.OAuth协议中的授权模式
针对上图中的第2步中用户同意授权可以有以下4种授权模式:
授权码模式(authorization code)
简化模式(implicit)
密码模式(resource owner password credentials)
客户端模式(client credentials)
3.授权码模式(authorization code)
与其他三种授权模式不同之处:
1.用户同意授权是在认证服务器上进行的而不是在第三方应用上(可以伪造授权信息)
2.第三方应用需要有自己的服务器,拿着授权码去换令牌(静态网站用的就是简化模式)
4.什么是第三方登录
1)基本用户信息经过认证后并放入了SecurityContext
2)spring socia就是将上面的7步封装成SocialAuthenticationFilter加到Spring Security过滤器链中
3)第三方登录基本原理
i)服务提供商(ServiceProvider)将上图中的1-5步有一个Template(OAuth2Operations)去封装
ii)第6步中不同的服务提供商提供的信息字段格式,数量都不一致,需要个性化处理,因此提供了一个APi去获取用户信息
iv)整个ServiceProvider是被封装在ConnectionFactory中
v)获取到的用户信息与业务客户信息的关系是存在db中,由UsersConnectionReposity进行crud。