码迷,mamicode.com
首页 > 编程语言 > 详细

使用spring social开发第三方登录(一)

时间:2019-11-11 18:23:48      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:connect   图片   模式   第三方应用   auth   filter   nec   基本原理   ica   

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。

技术图片
技术图片

使用spring social开发第三方登录(一)

标签:connect   图片   模式   第三方应用   auth   filter   nec   基本原理   ica   

原文地址:https://www.cnblogs.com/qq-7895/p/11638160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!