Spring Social
今天我们来谈谈Spring家族的Spring Social成员。并使用Spring Social开发第三方登录
简介
Spring Social将Spring应用程序与软件即服务(SaaS) API提供者(如Facebook、Twitter、Weibo、QQ、开源中国、Github等第三方平台)连接起来。
Spring Social基本原理
重要接口
OAuth协议简介
OAuth协议中的授权模式(四种)
- 授权码模式(authorization code)
- 密码模式(resource owner passsoword credentials)
- 客户端模式(clientcredentials)
- 简化模式(implicit)
这里说说使用授权码模式的授权过程:
1.客户端/资源所有者(resource owner)访问第三方客户端client,如果第三方客户端需要授权,就将用户导向认证服务器(Athorization Server)。
2.接着认证服务器会询问用户是否同意授权,用户是否同意授权的这个是在认证服务器上完成的。
3.如果用户同意授权,认证服务器会将用户重新导向第三方应用客户端client对应的地址上,并携带上授权码。
4.客户端/第三方应用收到授权码之后,会拿着这个授权码接着去向认证服务器去申请令牌(这一步是在客户端后台服务器上完成的,对用户是不可见的)。
5.认证服务器会核对第四步传来的授权码是不是和第三不发放的授权码是否是相同,如果是,那么认证服务器才会发方法令牌,也就是token。