app使用标准的Oauth2协议获取accessToken
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@ package com.micro.fast.security.app.config.authorization2;
|
||||
|
||||
import com.micro.fast.security.app.config.component.MsAuthenticationFailureHandler;
|
||||
import com.micro.fast.security.app.config.component.MsAuthenticationSuccessHandler;
|
||||
import com.micro.fast.security.app.social.OpenIdAuthenticationSecurityConfig;
|
||||
import com.micro.fast.security.app.social.openid.OpenIdAuthenticationSecurityConfig;
|
||||
import com.micro.fast.security.core.authentication.mobile.SmsCodeAuthenticationSecurityConfig;
|
||||
import com.micro.fast.security.core.master.SecurityConstants;
|
||||
import com.micro.fast.security.core.master.SecurityProperties;
|
||||
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.micro.fast.security.app.social.impl;
|
||||
|
||||
import com.micro.fast.security.core.social.SocialAuthenticationFilterPostProcessor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
|
||||
import org.springframework.social.security.SocialAuthenticationFilter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 社交登录成功后的后处理器实现
|
||||
* @author lsy
|
||||
*/
|
||||
@Component
|
||||
public class AppSocialAuthenticationFilterProcessor implements SocialAuthenticationFilterPostProcessor {
|
||||
|
||||
@Autowired
|
||||
private AuthenticationSuccessHandler successHandler;
|
||||
|
||||
@Override
|
||||
public void process(SocialAuthenticationFilter socialAuthenticationFilter) {
|
||||
//传入授权成功处理器
|
||||
socialAuthenticationFilter.setAuthenticationSuccessHandler(successHandler);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.micro.fast.security.app.social;
|
||||
package com.micro.fast.security.app.social.openid;
|
||||
|
||||
import com.micro.fast.security.core.master.SecurityConstants;
|
||||
import org.springframework.security.authentication.AuthenticationServiceException;
|
||||
+1
-4
@@ -1,15 +1,12 @@
|
||||
package com.micro.fast.security.app.social;
|
||||
package com.micro.fast.security.app.social.openid;
|
||||
|
||||
import com.micro.fast.security.core.authentication.mobile.SmsCodeAuthenticationToken;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.security.authentication.AuthenticationProvider;
|
||||
import org.springframework.security.authentication.InternalAuthenticationServiceException;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.social.connect.UsersConnectionRepository;
|
||||
import org.springframework.social.security.SocialUserDetails;
|
||||
import org.springframework.social.security.SocialUserDetailsService;
|
||||
|
||||
import java.util.HashSet;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.micro.fast.security.app.social;
|
||||
package com.micro.fast.security.app.social.openid;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.micro.fast.security.app.social;
|
||||
package com.micro.fast.security.app.social.openid;
|
||||
|
||||
import org.springframework.security.authentication.AbstractAuthenticationToken;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
+16
@@ -9,6 +9,10 @@ import org.springframework.social.security.SpringSocialConfigurer;
|
||||
*/
|
||||
public class MsSpringSocialConfigurer extends SpringSocialConfigurer{
|
||||
|
||||
/**
|
||||
* 验证登录后处理器
|
||||
*/
|
||||
private SocialAuthenticationFilterPostProcessor socialAuthenticationFilterPostProcessor;
|
||||
/**
|
||||
* 第三方登录的url
|
||||
*/
|
||||
@@ -29,6 +33,18 @@ public class MsSpringSocialConfigurer extends SpringSocialConfigurer{
|
||||
SocialAuthenticationFilter filter = (SocialAuthenticationFilter) super.postProcess(object);
|
||||
//设置第三方登录的url
|
||||
filter.setFilterProcessesUrl(this.filterProcessUrl);
|
||||
//如果后处理器不为空,我们就把filter传递给自定义的后处理器
|
||||
if (socialAuthenticationFilterPostProcessor != null){
|
||||
socialAuthenticationFilterPostProcessor.process(filter);
|
||||
}
|
||||
return (T) filter;
|
||||
}
|
||||
|
||||
public SocialAuthenticationFilterPostProcessor getSocialAuthenticationFilterPostProcessor() {
|
||||
return socialAuthenticationFilterPostProcessor;
|
||||
}
|
||||
|
||||
public void setSocialAuthenticationFilterPostProcessor(SocialAuthenticationFilterPostProcessor socialAuthenticationFilterPostProcessor) {
|
||||
this.socialAuthenticationFilterPostProcessor = socialAuthenticationFilterPostProcessor;
|
||||
}
|
||||
}
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.micro.fast.security.core.social;
|
||||
|
||||
import org.springframework.social.security.SocialAuthenticationFilter;
|
||||
|
||||
/**
|
||||
* @author lsy
|
||||
*/
|
||||
public interface SocialAuthenticationFilterPostProcessor {
|
||||
void process(SocialAuthenticationFilter socialAuthenticationFilter);
|
||||
}
|
||||
+7
-2
@@ -37,8 +37,11 @@ public class SocialConfig extends SocialConfigurerAdapter{
|
||||
@Autowired
|
||||
private ConnectionFactoryLocator connectionFactoryLocator;
|
||||
|
||||
@Autowired
|
||||
@Autowired(required = false)
|
||||
private ConnectionSignUp connectionSignUp;
|
||||
|
||||
@Autowired(required = false)
|
||||
private SocialAuthenticationFilterPostProcessor socialAuthenticationFilterPostProcessor;
|
||||
/**
|
||||
*
|
||||
* @param connectionFactoryLocator
|
||||
@@ -58,7 +61,7 @@ public class SocialConfig extends SocialConfigurerAdapter{
|
||||
}
|
||||
|
||||
/**
|
||||
* springSocial的配置的bean
|
||||
* springSocialconfigure的配置的bean
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
@@ -67,6 +70,8 @@ public class SocialConfig extends SocialConfigurerAdapter{
|
||||
MsSpringSocialConfigurer msSpringSocialConfigurer = new MsSpringSocialConfigurer(social.getFilterProcessUrl());
|
||||
// 设置第三方登录用户不存在的时候,注册或绑定的页面。如果设置为空则不跳转
|
||||
msSpringSocialConfigurer.signupUrl(securityProperties.getBrowser().getSignUpUrl());
|
||||
//注入后处理器
|
||||
msSpringSocialConfigurer.setSocialAuthenticationFilterPostProcessor(socialAuthenticationFilterPostProcessor);
|
||||
return msSpringSocialConfigurer;
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -2,7 +2,6 @@ package com.micro.fast.security.core.social;
|
||||
|
||||
import com.micro.fast.security.core.social.qq.QQSocialProperties;
|
||||
import com.micro.fast.security.core.social.wechat.WeChatSocialProperties;
|
||||
import com.micro.fast.security.core.social.wechat.api.WeChat;
|
||||
|
||||
/**
|
||||
* 第三方登录配置类
|
||||
|
||||
Reference in New Issue
Block a user