自定义第三方登录的过滤器
This commit is contained in:
@@ -26,5 +26,7 @@
|
||||
### 本项目提供的第三方登录的配置
|
||||
- `ms.security.social.qq.appId` qq互联注册的id
|
||||
- `ms.security.social.qq.appSecret` qq互联注册的密码
|
||||
- `ms.security.social.qq.providerId` 第三方登录的标识,例如qq登录为`qq`
|
||||
- `ms.security.social.qq.providerId` 第三方登录的标识,例如qq为`qq`登陆默认
|
||||
- `ms.security.social.qq.filterProcessUrl` 进行第三方登录处理的基础url前缀,这个前缀会和providerId进行拼接来进行明确
|
||||
的第三方登录
|
||||
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.micro.fast.security.core.social;
|
||||
|
||||
import org.springframework.social.security.SocialAuthenticationFilter;
|
||||
import org.springframework.social.security.SpringSocialConfigurer;
|
||||
|
||||
/**
|
||||
* 自定义springSocial配置类,这个bean在SocialConfig中声明
|
||||
* @author lsy
|
||||
*/
|
||||
public class MsSpringSocialConfigurer extends SpringSocialConfigurer{
|
||||
|
||||
/**
|
||||
* 第三方登录的url
|
||||
*/
|
||||
private String filterProcessUrl;
|
||||
|
||||
public MsSpringSocialConfigurer(String filterProcessUrl) {
|
||||
this.filterProcessUrl = filterProcessUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 对第三方登录的拦截器进行自定义设置
|
||||
* @param object
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
protected <T> T postProcess(T object) {
|
||||
SocialAuthenticationFilter filter = (SocialAuthenticationFilter) super.postProcess(object);
|
||||
//设置第三方登录的url
|
||||
filter.setFilterProcessesUrl(this.filterProcessUrl);
|
||||
return (T) filter;
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -1,5 +1,6 @@
|
||||
package com.micro.fast.security.core.social;
|
||||
|
||||
import com.micro.fast.security.core.master.SecurityProperties;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -28,6 +29,9 @@ public class SocialConfig extends SocialConfigurerAdapter{
|
||||
@Qualifier("dynamicDataSource")
|
||||
private DataSource dataSource;
|
||||
|
||||
@Autowired
|
||||
private SecurityProperties securityProperties;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param connectionFactoryLocator
|
||||
@@ -43,6 +47,7 @@ public class SocialConfig extends SocialConfigurerAdapter{
|
||||
}
|
||||
@Bean
|
||||
public SpringSocialConfigurer springSocialConfigurer(){
|
||||
return new SpringSocialConfigurer();
|
||||
SocialProperties social = securityProperties.getSocial();
|
||||
return new MsSpringSocialConfigurer(social.getFilterProcessUrl());
|
||||
}
|
||||
}
|
||||
|
||||
+10
@@ -9,6 +9,8 @@ import com.micro.fast.security.core.social.qq.QQSocialProperties;
|
||||
public class SocialProperties {
|
||||
private QQSocialProperties qq = new QQSocialProperties();
|
||||
|
||||
private String filterProcessUrl = "/auth";
|
||||
|
||||
public QQSocialProperties getQq() {
|
||||
return qq;
|
||||
}
|
||||
@@ -16,4 +18,12 @@ public class SocialProperties {
|
||||
public void setQq(QQSocialProperties qq) {
|
||||
this.qq = qq;
|
||||
}
|
||||
|
||||
public String getFilterProcessUrl() {
|
||||
return filterProcessUrl;
|
||||
}
|
||||
|
||||
public void setFilterProcessUrl(String filterProcessUrl) {
|
||||
this.filterProcessUrl = filterProcessUrl;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user