美文网首页框架建设收集
spring boot 之 security(八) social

spring boot 之 security(八) social

作者: _大叔_ | 来源:发表于2019-10-21 12:25 被阅读0次
    要了解social需要先了解OAuth(授权)的原理
    OAuth授权码模式原理图

    那 social 是什么

    social 就是帮我们把 OAuth(授权)的流程封装到了一个 SocialAuthenticationFilter 的过滤器里面,然后把这个过滤器加到 spring security 的过滤器链上。

    social 在spring security 过滤器链上的位置

    image.png

    spring security social 的所需实现

    所需实现
    provider :

    ServiceProvider(AbstractOAuth2ServiceProvider) -> 服务提供商,封装了(OAuth授权码模式原理图) 1-6 的流程。
    OAuth2Operations(OAuth2Tempalte) -> 封装了(OAuth授权码模式原理图) 1-5的流程,提供了默认的实现 OAuth2Tempalte
    Api(AbstractOAuth2ApiBinding) -> 封装了(OAuth授权码模式原理图) 6 的流程,但需要我们自己实现,因为每个操作都不同。

    client:

    Connection(OAuth2Connection) -> 封装(OAuth授权码模式原理图) 前6步以后获取到的用户信息。Connection由ConnectionFactory创建出来的。
    ConnectionFactory(OAuth2ConnectionFactory) -> 负责创建 Connection 的实例,包含了 ServiceProvider 的实例,因为需要经过 ServiceProvider 才能获取到用户信息。
    ApiAdapter -> 因为 Connection 获取到的数据结构是不一样的,但又要转换为 Connection 的标准数据结构,所以用 ApiAdapter 做适配。
    UsersConnectionRepository(JdbcUserConnectionRepository) -> 操作 DBUserConnection 数据库
    DBUserConnection -> 用户保存 第三方用户 和 自己本身用户的对应关系

    相关文章

      网友评论

        本文标题:spring boot 之 security(八) social

        本文链接:https://www.haomeiwen.com/subject/ouazmctx.html