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; + } +}