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