fix: 允许匿名兑换客户代登录授权码
This commit is contained in:
@@ -25,6 +25,18 @@ import java.nio.charset.StandardCharsets;
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(AuthSecurityProperties.class)
|
||||
public class AuthSecurityConfig {
|
||||
static final String[] PUBLIC_AUTH_ENDPOINTS = {
|
||||
"/api/auth/register",
|
||||
"/api/auth/login",
|
||||
"/api/auth/refresh",
|
||||
"/api/auth/logout",
|
||||
"/api/auth/impersonations/exchange",
|
||||
"/actuator/health",
|
||||
"/v3/api-docs/**",
|
||||
"/swagger-ui/**",
|
||||
"/swagger-ui.html"
|
||||
};
|
||||
|
||||
@Bean
|
||||
PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(12); }
|
||||
|
||||
@@ -47,8 +59,7 @@ public class AuthSecurityConfig {
|
||||
.exceptionHandling(errors -> errors
|
||||
.authenticationEntryPoint(entryPoint).accessDeniedHandler(deniedHandler))
|
||||
.authorizeHttpRequests(auth -> auth
|
||||
.requestMatchers("/api/auth/register", "/api/auth/login", "/api/auth/refresh", "/api/auth/logout",
|
||||
"/actuator/health", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll()
|
||||
.requestMatchers(PUBLIC_AUTH_ENDPOINTS).permitAll()
|
||||
.requestMatchers("/internal/auth/**").permitAll()
|
||||
.anyRequest().authenticated())
|
||||
.addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class)
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.baiyue.auth.config;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class AuthSecurityConfigTest {
|
||||
@Test
|
||||
void permitsAnonymousImpersonationCodeExchange() {
|
||||
assertTrue(Arrays.asList(AuthSecurityConfig.PUBLIC_AUTH_ENDPOINTS)
|
||||
.contains("/api/auth/impersonations/exchange"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user