原理

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昵称带表情,此表默认只能存储字符,造成第三方信息注册失败)

本文详细解析了SpringSocial如何通过SocialAuthenticationFilter过滤器整合OAuth2认证流程,阐述了ServiceProvider、OAuth2Operations、Api、Connection及ConnectionFactory等关键组件的作用,并介绍了用户信息存储的实现方式。

1993

被折叠的 条评论
为什么被折叠?



