更改tokenendpoint中默认的url
一、首先自己写个类AuthServerConfig去继承AuthorizationServerConfigurerAdapter类
二、复写方法configure(AuthorizationServerEndpointsConfigurer endpoints)
三、在方法中设置endpoints.pathMapping("/oauth/authorize", urlPrefix+"/oauth/authorize"),前一个路径为默认路径,后一个为你希望替换的路径。urlPrefix这个是我自己设置的全局字符串。
下面展示一些 内联代码片
。
// An highlighted block
@Configuration
@EnableAuthorizationServer
public class AuthServerConfig extends AuthorizationServerConfigurerAdapter
{
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
private DataSource dataSource;
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Resource
private UserDetailsService userDetailsService;
@Autowired
private TokenEnhancer tokenEnhancer;
@Value(ModuleUrlConstants.AUTH_PREFIX)
private String urlPrefix;
/**
* 定义授权和令牌端点以及令牌服务
*/
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints)
{
endpoints
// 请求方式
.allowedTokenEndpointRequestMethods(HttpMethod.GET, HttpMethod.POST)
// 指定token存储位置
.tokenStore(tokenStore())
// 自定义生成令牌
.tokenEnhancer(tokenEnhancer)
// 用户账号密码认证
.userDetailsService(userDetailsService)
// 指定认证管理器
.authenticationManager(authenticationManager)
// 是否重复使用 refresh_token
.reuseRefreshTokens(false)
// 自定义异常处理
.exceptionTranslator(new CustomWebResponseExceptionTranslator())
.pathMapping("/oauth/authorize", urlPrefix+"/oauth/authorize")
.pathMapping("/oauth/token", urlPrefix+"/oauth/token")//替换路径为customPath = /auth/oauth/authorize
.pathMapping("/oauth/confirm_access", urlPrefix+"/oauth/confirm_access")
.pathMapping("/oauth/error", urlPrefix+"/oauth/error")
.pathMapping("/oauth/check_token", urlPrefix+"/oauth/check_token")
.pathMapping("/oauth/token_key", urlPrefix+"/oauth/token_key")
;
DefaultTokenServices tokenServices = new DefaultTokenServices();
tokenServices .setClientDetailsService(clientDetailsService());
// tokenServices .setAccessTokenValiditySeconds(1);
// tokenServices .setRefreshTokenValiditySeconds(1);//ClientDetails中设置了过期时间,这里的无效
tokenServices .setSupportRefreshToken(true);
tokenServices .setTokenStore(endpoints.getTokenStore());
tokenServices .setTokenEnhancer(endpoints.getTokenEnhancer());
endpoints.tokenServices(tokenServices );
}
}