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