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 社区项目,非官网提供,但是放在这里应该质量还算是比较好的吧
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盡盡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值