SpringSecurity之SpringSocial认知

原理

SpringSecurity之SpringSocial认知
SpringSocial将以上流程分装进入SocialAuthenticationFilter过滤器中,将该过滤器加入到spring security的过滤器链里面,如下图:
SpringSecurity之SpringSocial认知

1-6步行为(服务提供商)
  • ServiceProvider(AbstractOAuth2ServiceProvider)
    服务提供商
  • OAuth2Operations(OAuth2Template)
    帮助完成流程1-5
  • Api(AbstractOAuth2ApiBinding)
    无明确接口(每个服务提供商对于用户信息的调用存在区别)需要自定义接口实现
7步(应用内部完成)
  • Connection(OAuth2Connection)
    封装前6步完成以后获取到的用户信息,服务提供商用户信息
  • ConnectionFactory(OAuth2ConnectionFactory)
    负责创建Connection实例(包含用户信息的对象)
    包含ServiceProvider
  • ApiAdapter
    适配第三方返回的信息转化成Connection
  • 用户信息存储
    UserConnection表,依赖jar中有建表语句:
    SpringSecurity之SpringSocial认知
    用以存储系统用户及第三方应用之间的关系,注意,此表displayName列字符编码必须修改成可保存表情的(微信QQ昵称带表情,此表默认只能存储字符,造成第三方信息注册失败)
    SpringSecurity之SpringSocial认知