Spring Social

Spring Boot + Spring Security图形验证码

雨燕双飞 提交于 2020-08-07 15:18:57
引入依赖: <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> <version>2.5.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>mysql</groupId>

【Spring Security + OAuth2 + JWT入门到实战】16. 第三方登录绑定和解绑

蹲街弑〆低调 提交于 2020-03-14 10:15:45
简介 用户登录以后读取用户第三方登录是否绑定,已绑定显示解绑按钮,未绑定显示去绑定按钮 读取用户第三方登录详细源码分析 SpringSocial已经未我们提供了方法ConnectController来读取以后第三方登录信息 在SocialConfig类把ConnectController添加到bean // 这个是提供查询社交账户信息服务,绑定服务,等 @Bean public ConnectController connectController( ConnectionFactoryLocator connectionFactoryLocator, ConnectionRepository connectionRepository) { return new ConnectController(connectionFactoryLocator, connectionRepository); } ConnectController org.springframework.social.connect.web.ConnectController public String connectionStatus(NativeWebRequest request, Model model) { this.setNoCache(request); this.processFlash

【Spring Security + OAuth2 + JWT入门到实战】15. 第三方QQ登录以后用户注册

让人想犯罪 __ 提交于 2020-03-09 16:37:20
简介 上一篇文章完成QQ登录,一般操作如果当前QQ登录用户在我们数据库没有注册那应该跳注册绑定页面,如果我们未配置跳转的页面默认会跳转到:/signup 源码分析 进入SocialAuthenticationFilter中 private Authentication doAuthentication(SocialAuthenticationService<?> authService, HttpServletRequest request, SocialAuthenticationToken token) { try { if (!authService.getConnectionCardinality().isAuthenticatePossible()) { return null; } else { token.setDetails(this.authenticationDetailsSource.buildDetails(request)); Authentication success = this.getAuthenticationManager().authenticate(token); Assert.isInstanceOf(SocialUserDetails.class, success.getPrincipal(), "unexpected

Spring Social实现微信社交登录

こ雲淡風輕ζ 提交于 2019-12-07 11:54:40
微信和QQ登录的大体流程相同,但存在一些细节上的差异 准备工作 熟悉 OAuth2.0协议标准 ,微信登录是基于 OAuth2.0中的authorization_code模式 的授权登录; 微信开放平台 申请网站应用开发,获取 appid 和 appsecret 熟读 网站应用微信登录开发指南 为了方便大家测试,博主在某宝租用了一个月的appid和appSecret appid wxfd6965ab1fc6adb2 appsecret 66bb4566de776ac699ec1dbed0cc3dd1 目录结构 参考 api 定义api绑定的公共接口 config 微信的一些配置信息 connect 与服务提供商建立连接所需的一些类。 定义返回用户信息接口 public interface Weixin { WeixinUserInfo getUserInfo(String openId); } 这里我们看到相对于QQ的 getUserInfo 微信多了一个参数 openId 。这是因为 微信文档 中在 OAuth2.0的认证流程示意图 第五步时,微信的 openid 同 access_token 一起返回。而 Spring Social 获取 access_token 的类 AccessGrant.java 中没有 openid 。因此我们自己需要扩展一下 Spring

Spring家族之Spring Social

眉间皱痕 提交于 2019-12-04 16:28:38
Spring Social 今天我们来谈谈Spring家族的Spring Social成员。并使用Spring Social开发第三方登录 简介 Spring Social将Spring应用程序与软件即服务(SaaS) API提供者(如Facebook、Twitter、Weibo、QQ、开源中国、Github等第三方平台)连接起来。 Spring Social基本原理 重要接口 OAuth协议简介 OAuth协议中的授权模式(四种) 授权码模式(authorization code) 密码模式(resource owner passsoword credentials) 客户端模式(clientcredentials) 简化模式(implicit) 这里说说使用授权码模式的授权过程: 1.客户端/资源所有者(resource owner)访问第三方客户端client,如果第三方客户端需要授权,就将用户导向认证服务器(Athorization Server)。 2.接着认证服务器会询问用户是否同意授权,用户是否同意授权的这个是在认证服务器上完成的。 3.如果用户同意授权,认证服务器会将用户重新导向第三方应用客户端client对应的地址上,并携带上授权码。 4.客户端/第三方应用收到授权码之后,会拿着这个授权码接着去向认证服务器去申请令牌(这一步是在客户端后台服务器上完成的

Spring Security源码分析四:Spring Social实现微信社交登录

霸气de小男生 提交于 2019-11-30 07:54:04
社交登录又称作社会化登录(Social Login),是指网站的用户可以使用腾讯QQ、人人网、开心网、新浪微博、搜狐微博、腾讯微博、淘宝、豆瓣、MSN、Google等社会化媒体账号登录该网站。 前言 在上一章 Spring-Security源码分析三-Spring-Social社交登录过程 中,我们已经实现了使用 Spring Social + Security 的QQ社交登录。本章我们将实现微信的社交登录。(微信和QQ登录的大体流程相同,但存在一些细节上的差异,下面我们来简单实现一下) 准备工作 熟悉 OAuth2.0协议标准 ,微信登录是基于 OAuth2.0中的authorization_code模式 的授权登录; 微信开放平台 申请网站应用开发,获取 appid 和 appsecret 熟读 网站应用微信登录开发指南 参考 Spring-Security源码分析三-Spring-Social社交登录过程 的准备工作 为了方便大家测试,博主在某宝租用了一个月的appid和appSecret appid wxfd6965ab1fc6adb2 appsecret 66bb4566de776ac699ec1dbed0cc3dd1 目录结构 参考 api 定义api绑定的公共接口 config 微信的一些配置信息 connect 与服务提供商建立连接所需的一些类。

Spring Security 从入门到进阶系列教程

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-28 16:25:31
Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Spring-Boot中的应用》 《Spring-Security-入门(六):QQ登录实现》 《Spring-Security-入门(七):技术图谱》 《Spring Cloud Security系列教程一:入门》 《Spring Security基于哈希认证的记住我实现案例》 《Spring Security 动态权限修改》 《Spring Security 架构》 Spring Security 实战系列 《从零开始的Spring Security OAuth2(一)》 《从零开始的Spring Security OAuth2(二)》 《从零开始的Spring Security OAuth2(三)》 Spring Security 源码分析系列 《 Spring Security(一)—Architecture Overview》 《Spring Security(二)—Guides》 《Spring