From 63efcfc54adf9281ec5caaab1f4bbde31d25b10e Mon Sep 17 00:00:00 2001 From: winLsy <18332763730@163.com> Date: Tue, 16 Jan 2018 16:13:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=85=8D=E7=BD=AE=E7=B1=BB=EF=BC=8C=E5=92=8C?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot-starter-security-core/README.md | 5 ++++ .../core/master/SecurityProperties.java | 11 ++++++++ .../core/social/SocialProperties.java | 19 +++++++++++++ .../core/social/config/QQAutoConfig.java | 27 +++++++++++++++++++ .../core/social/qq/QQSocialProperties.java | 22 +++++++++++++++ 5 files changed, 84 insertions(+) create mode 100644 boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/SocialProperties.java create mode 100644 boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/config/QQAutoConfig.java create mode 100644 boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/qq/QQSocialProperties.java diff --git a/boot-starter/boot-starter-security/boot-starter-security-core/README.md b/boot-starter/boot-starter-security/boot-starter-security-core/README.md index 157da37..0544278 100644 --- a/boot-starter/boot-starter-security/boot-starter-security-core/README.md +++ b/boot-starter/boot-starter-security/boot-starter-security-core/README.md @@ -23,3 +23,8 @@ - 短信登录的接口为`/authentication/mobile`,传递参数为`smsCode`和`mobile` - `ms.security.createRememberTable` 是否创建记住我表结构默认为`true` +### 本项目提供的第三方登录的配置 +- `ms.security.social.qq.appId` qq互联注册的id +- `ms.security.social.qq.appSecret` qq互联注册的密码 +- `ms.security.social.qq.providerId` 第三方登录的标识,例如qq登录为`qq` + diff --git a/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/master/SecurityProperties.java b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/master/SecurityProperties.java index 45b0ef4..804736c 100644 --- a/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/master/SecurityProperties.java +++ b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/master/SecurityProperties.java @@ -1,6 +1,7 @@ package com.micro.fast.security.core.master; import com.micro.fast.security.core.browser.config.param.BrowserProperties; +import com.micro.fast.security.core.social.SocialProperties; import com.micro.fast.security.core.validate.code.config.param.ValidateCodeProperties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -25,6 +26,8 @@ public class SecurityProperties { private Boolean createRememberTable = true; + private SocialProperties social = new SocialProperties(); + public Boolean getCreateRememberTable() { return createRememberTable; } @@ -48,4 +51,12 @@ public class SecurityProperties { public void setCode(ValidateCodeProperties code) { this.code = code; } + + public SocialProperties getSocial() { + return social; + } + + public void setSocial(SocialProperties social) { + this.social = social; + } } diff --git a/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/SocialProperties.java b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/SocialProperties.java new file mode 100644 index 0000000..24d33b6 --- /dev/null +++ b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/SocialProperties.java @@ -0,0 +1,19 @@ +package com.micro.fast.security.core.social; + +import com.micro.fast.security.core.social.qq.QQSocialProperties; + +/** + * 第三方登录配置类 + * @author lsy + */ +public class SocialProperties { + private QQSocialProperties qq = new QQSocialProperties(); + + public QQSocialProperties getQq() { + return qq; + } + + public void setQq(QQSocialProperties qq) { + this.qq = qq; + } +} diff --git a/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/config/QQAutoConfig.java b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/config/QQAutoConfig.java new file mode 100644 index 0000000..6e165fc --- /dev/null +++ b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/config/QQAutoConfig.java @@ -0,0 +1,27 @@ +package com.micro.fast.security.core.social.config; + +import com.micro.fast.security.core.master.SecurityProperties; +import com.micro.fast.security.core.social.qq.QQSocialProperties; +import com.micro.fast.security.core.social.qq.connet.QQConnectionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.autoconfigure.social.SocialAutoConfigurerAdapter; +import org.springframework.context.annotation.Configuration; +import org.springframework.social.connect.ConnectionFactory; + +/** + * @author lsy + */ +@Configuration +@ConditionalOnProperty(prefix = "ms.security.social.qq",name = "app-id") +public class QQAutoConfig extends SocialAutoConfigurerAdapter { + + @Autowired + private SecurityProperties securityProperties; + + @Override + protected ConnectionFactory createConnectionFactory() { + QQSocialProperties qq = securityProperties.getSocial().getQq(); + return new QQConnectionFactory(qq.getProviderId(),qq.getAppId(),qq.getAppSecret()); + } +} diff --git a/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/qq/QQSocialProperties.java b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/qq/QQSocialProperties.java new file mode 100644 index 0000000..1c7cb40 --- /dev/null +++ b/boot-starter/boot-starter-security/boot-starter-security-core/src/main/java/com/micro/fast/security/core/social/qq/QQSocialProperties.java @@ -0,0 +1,22 @@ +package com.micro.fast.security.core.social.qq; + +import org.springframework.boot.autoconfigure.social.SocialProperties; + +/** + * QQ第三方登录配置对象 + * @author lsy + */ +public class QQSocialProperties extends SocialProperties{ + /** + * 第三方登录标识 + */ + private String providerId = "qq"; + + public String getProviderId() { + return providerId; + } + + public void setProviderId(String providerId) { + this.providerId = providerId; + } +}