fix: 允许匿名兑换客户代登录授权码

This commit is contained in:
2026-08-08 10:22:41 +08:00
parent 5f19cdcccb
commit 77aa5a845e
2 changed files with 28 additions and 2 deletions
@@ -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"));
}
}