spring security——Spring Social简介(五)
一、简介
关于OAuth可以参考《理解OAuth 2.0》中的进行理解,这里的Spring Social就是一个遵循oauth协议的框架,所以可以用它来做第三方的登录。那么spring security 与 oath social是什么关系呢?没关系!
我们知道在spring security中被认定为认证成功的标志是 根据用户信息构建Authentication放入SecurityContext中。而在Social中只要引导用户走完oath的所有流程,最后根据用户信息构建Authentication放入SecurityContext中即完成了第三方登录 操作。social的原理就是基于我们之前学习过的过滤链原理,在过滤器链上增加了一个 SocialAuthenticationFilter,拦截到有需要第三方登录的请求则开始引导完成所有的流程,就完成了第三方登录。
二、social基本概念和原理
我们先来看一下OAuth运行的基本流程
1-5步都是协议化流程步骤,这里只介绍与我们要写代码相关的流程,实现这些节点就可以运行了。
- OAuth2Operations(OAuth2Template):封装了1-5的步骤
- Api(AbstractOAuth2ApiBinding):对第6步提供了支持
- Connection (OAuth2Connection):包含用户信息的对象,
- ConnectionFactory(OAuth2ConnectionFactory):ServiceProvider 创建Connection,要走1-5的流程,所以包含ServiceProvider;ApiAdapter OAuth2Connection是固定结构的数据,对第三方api返回的数据进行匹配,读取用户信息。
那么服务提供的信息是如何与业务系统中的用户是如何关联的呢?在 social 中是存在数据库中的,存放的是业务系统的userid与服务商用户的一个对应关系。由谁来操作这个数据库中的表呢?UsersConnectionRepository(JdbcUsersConnectionRepository)。官网(https://projects.spring.io/spring-social/)中页面信息提供了
- Main Projects 官网已发布的项目,如连接Facebook的项目(上面讲的基本上都实现了,可能只需要简单的配置即可)
- Incubator Projects 孵化中的项目,也就是正在开发中的
- Community Projects 社区项目,非官网提供,但是放在这里应该质量还算是比较好的吧
spring security——Spring Social简介(五)相关推荐
- Spring Security + Spring Session Redis——【SecurityContext】和【AuthenticationToken】JSON反序列化问题解决方案
前置 Spring Session + Redis--自定义JSON序列化解决方案 问题描述 Spring Security + Spring Session使用中Redis,默认序列化方式是JdkS ...
- Spring Security+Spring Data Jpa 强强联手,安全管理只有更简单!
Spring Security+Spring Data Jpa 强强联手,安全管理没有简单,只有更简单! 这周忙着更新 OAuth2,Spring Security 也抽空来一篇. Spring Se ...
- Spring Security权限框架简介
一.框架介绍 Spring 是一个非常流行和成功的 Java 应用开发框架.Spring Security 是基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案.一般来说,Web ...
- Spring Security +Spring Session Redis+JJWT
重要提示 这样集成弄完一波后,导致Spring Security并发控制并没有生效,请大佬们慎重参考下面内容. 问题 希望使用Spring Security对Spring Boot进行保护,并且,使用 ...
- Spring Security技术栈学习笔记(十三)Spring Social集成第三方登录验证开发流程介绍
开发第三方登录,我们必须首先要了解OAuth协议(本文所讲述的OAuth协议指的是OAuth2协议),本文首先简单介绍OAuth协议,然后基于Spring Social来阐述开发第三方登录需要做哪些准 ...
- Spring Security技术栈学习笔记(十四)使用Spring Social集成QQ登录验证方式
上一篇文章<Spring Security技术栈开发企业级认证与授权(十三)Spring Social集成第三方登录验证开发流程介绍>主要是介绍了OAuth2协议的基本内容以及Spring ...
- Spring Security 架构简介
一.技术概述 1.1 Spring vs Spring Boot vs Spring Security 1.1.1 Spring Framework Spring Framework 为开发 Java ...
- Spring Security(一)- SpringSecurity 框架简介
文章目录 一.SpringSecurity 框架简介 1. 概要 2. Spring Security 与 Shiro 对比 2.1 Spring Security 2.2 SpringSecurit ...
- Spring Security技术栈开发企业级认证与授权-笔记
Spring Security 慕x网课程笔记:包括内容如下 MySQL Workbench 官方客户端:sql客户端security oauth2 social spring security sp ...
最新文章
- 【AI研究院】360无死角认识一下女神的线上美容院-“美图秀秀”
- java实例_图例 | Java混合模式分析之火焰图实例
- 教师编学科知识计算机,教师考试信息技术学科知识考什么_谈信息技术学科教师应该怎样教学...
- 江夏学院计算机,福建江夏学院计算机作业.doc
- oracle status
- 【LiveVideoStack线上分享】— 海外复杂网络环境下的视频播放体验优化
- [Java基础]System类的常用方法
- python报考软考哪个比较好_软考高级考哪个好?哪个比较热门?
- mysql undo log回收_MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间
- 采集新浪微博数据建设网络舆情监测系统
- SQL 存储过程封装代码生成器
- PLSQL Developer 13链接oracle安装与配置手册
- 123457123456#0#-----com.yuming.FromPuzzleGame01--前拼后广--宝宝农场拼图cym
- 到底什么是非线性优化?
- excel多条件计数python_Excel统计满足条件的不重复值个数的8种方法,第三种方法最适合新手!我真的入门了!...
- 高斯勒让德求积公式matlab通用程序,数值分析——Gauss-Legendre 求积分(Matlab实现)...
- java编程水仙花数_Java 编程找出所有的水仙花数(水仙花数)。
- 【Google Play】创建和管理内部测试版本 ( 创建内部测试版本 | 检查并发布内部测试版本 )
- NB-IoT技术实战开发----keil安装和使用
- 单片机控制直流电机c语言代码,用51单片机控制直流电机
热门文章
- 简单病毒脚本的原理分析
- 人体五脏排毒最简单有效的方法
- 计算机等级考试电子邮件的保存,计算机基础知识电子邮件使用技巧集锦(二)
- 5 meta tags for making your website into a iOS Web App
- 流行学习一LLE_机器学习
- 根据体质喝茶养生的学问
- grpc-go源码剖析十二之平衡器基本原理介绍
- 汽车连杆精工加机床solidworks设计鳞辊输送机3D图纸 Solidworks设计伺服冲料机 proe可打开夹具夹紧机构3D数模图纸 x_t格式粉尘料位检测机构辊子输送机STP
- 如何将ArcGis进行中英文切换
- 为什么不能合到一起?