|  | @@ -1,76 +0,0 @@
 | 
											
												
													
														|  | -package com.ym.mec.web.config;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import com.ym.mec.common.constant.CommonConstants;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.beans.factory.annotation.Autowired;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.context.annotation.Bean;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.context.annotation.Configuration;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.data.redis.connection.RedisConnectionFactory;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
 |  | 
 | 
											
												
													
														|  | -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.configurers.AuthorizationServerEndpointsConfigurer;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.oauth2.provider.client.JdbcClientDetailsService;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.oauth2.provider.token.DefaultTokenServices;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import javax.sql.DataSource;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -/**
 |  | 
 | 
											
												
													
														|  | - * 授权服务器配置
 |  | 
 | 
											
												
													
														|  | - */
 |  | 
 | 
											
												
													
														|  | -@Configuration
 |  | 
 | 
											
												
													
														|  | -@EnableAuthorizationServer
 |  | 
 | 
											
												
													
														|  | -public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Autowired
 |  | 
 | 
											
												
													
														|  | -	private RedisConnectionFactory connectionFactory;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Autowired
 |  | 
 | 
											
												
													
														|  | -	private DataSource dataSource;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Override
 |  | 
 | 
											
												
													
														|  | -	public void configure(AuthorizationServerEndpointsConfigurer endpoints){
 |  | 
 | 
											
												
													
														|  | -		endpoints
 |  | 
 | 
											
												
													
														|  | -				.tokenServices(defaultTokenServices())
 |  | 
 | 
											
												
													
														|  | -				.tokenStore(redisTokenStore());
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Override
 |  | 
 | 
											
												
													
														|  | -	public void configure(AuthorizationServerSecurityConfigurer security){
 |  | 
 | 
											
												
													
														|  | -		security.tokenKeyAccess("isAuthenticated()")
 |  | 
 | 
											
												
													
														|  | -				.checkTokenAccess("permitAll()")
 |  | 
 | 
											
												
													
														|  | -				.allowFormAuthenticationForClients();
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Override
 |  | 
 | 
											
												
													
														|  | -	public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		JdbcClientDetailsService clientDetailsService = new JdbcClientDetailsService(dataSource);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		clientDetailsService
 |  | 
 | 
											
												
													
														|  | -				.setSelectClientDetailsSql("select id_, CONCAT('{noop}',client_secret_) as client_secret, resource_ids_, scope_, authorized_grant_types_, web_server_redirect_uri_, authorities_, access_token_validity_, refresh_token_validity_, additional_information_, autoapprove_ from sys_oauth_client_details where id_ = ?");
 |  | 
 | 
											
												
													
														|  | -		clientDetailsService
 |  | 
 | 
											
												
													
														|  | -				.setFindClientDetailsSql("select id_, CONCAT('{noop}',client_secret_) as client_secret, resource_ids_, scope_, authorized_grant_types_, web_server_redirect_uri_, authorities_, access_token_validity_, refresh_token_validity_, additional_information_, autoapprove_ from sys_oauth_client_details order by id_");
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		clients.withClientDetails(clientDetailsService);
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Bean
 |  | 
 | 
											
												
													
														|  | -	public RedisTokenStore redisTokenStore() {
 |  | 
 | 
											
												
													
														|  | -		RedisTokenStore tokenStore = new RedisTokenStore(connectionFactory);
 |  | 
 | 
											
												
													
														|  | -		tokenStore.setPrefix(CommonConstants.OAUTH_PREFIX);
 |  | 
 | 
											
												
													
														|  | -		return tokenStore;
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	@Bean
 |  | 
 | 
											
												
													
														|  | -	public DefaultTokenServices defaultTokenServices() {
 |  | 
 | 
											
												
													
														|  | -		DefaultTokenServices tokenServices = new DefaultTokenServices();
 |  | 
 | 
											
												
													
														|  | -		tokenServices.setTokenStore(redisTokenStore());
 |  | 
 | 
											
												
													
														|  | -		tokenServices.setSupportRefreshToken(true);
 |  | 
 | 
											
												
													
														|  | -		tokenServices.setAccessTokenValiditySeconds(60 * 60 * 24); // token有效期自定义设置,默认12小时
 |  | 
 | 
											
												
													
														|  | -		tokenServices.setRefreshTokenValiditySeconds(60 * 60 * 24 * 30);// 默认30天,这里修改
 |  | 
 | 
											
												
													
														|  | -		return tokenServices;
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 |