|
@@ -10,11 +10,15 @@ import org.springframework.security.oauth2.config.annotation.configurers.ClientD
|
|
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
|
|
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
|
|
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
|
|
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
|
|
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
|
|
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
|
|
|
|
+import org.springframework.security.oauth2.provider.token.TokenEnhancer;
|
|
|
|
+import org.springframework.security.oauth2.provider.token.TokenEnhancerChain;
|
|
import org.springframework.security.oauth2.provider.token.TokenStore;
|
|
import org.springframework.security.oauth2.provider.token.TokenStore;
|
|
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
|
|
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
|
|
import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;
|
|
import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;
|
|
import org.springframework.security.oauth2.provider.token.store.KeyStoreKeyFactory;
|
|
import org.springframework.security.oauth2.provider.token.store.KeyStoreKeyFactory;
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @Description: OAuth2授权认证配置类
|
|
* @Description: OAuth2授权认证配置类
|
|
* @author: gaodm
|
|
* @author: gaodm
|
|
@@ -34,9 +38,26 @@ public class OAuth2Config extends AuthorizationServerConfigurerAdapter {
|
|
.accessTokenValiditySeconds(24*3600);//24小时过期
|
|
.accessTokenValiditySeconds(24*3600);//24小时过期
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 注入自定义token生成方式
|
|
|
|
+ *
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Bean
|
|
|
|
+ public TokenEnhancer customerEnhancer() {
|
|
|
|
+ return new CustomTokenEnhancer();
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
|
|
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
|
|
- endpoints.tokenStore(tokenStore()).tokenEnhancer(jwtTokenEnhancer()).authenticationManager(authenticationManager);
|
|
|
|
|
|
+ //指定认证管理器
|
|
|
|
+ endpoints.authenticationManager(authenticationManager);
|
|
|
|
+ //指定token存储位置
|
|
|
|
+ endpoints.tokenStore(tokenStore());
|
|
|
|
+ // 自定义token生成方式
|
|
|
|
+ TokenEnhancerChain tokenEnhancerChain = new TokenEnhancerChain();
|
|
|
|
+ tokenEnhancerChain.setTokenEnhancers(Arrays.asList(customerEnhancer(), jwtTokenEnhancer()));
|
|
|
|
+ endpoints.tokenEnhancer(tokenEnhancerChain);
|
|
}
|
|
}
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|