fix: 允许匿名兑换客户代登录授权码
This commit is contained in:
@@ -25,6 +25,18 @@ import java.nio.charset.StandardCharsets;
|
|||||||
@Configuration
|
@Configuration
|
||||||
@EnableConfigurationProperties(AuthSecurityProperties.class)
|
@EnableConfigurationProperties(AuthSecurityProperties.class)
|
||||||
public class AuthSecurityConfig {
|
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
|
@Bean
|
||||||
PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(12); }
|
PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(12); }
|
||||||
|
|
||||||
@@ -47,8 +59,7 @@ public class AuthSecurityConfig {
|
|||||||
.exceptionHandling(errors -> errors
|
.exceptionHandling(errors -> errors
|
||||||
.authenticationEntryPoint(entryPoint).accessDeniedHandler(deniedHandler))
|
.authenticationEntryPoint(entryPoint).accessDeniedHandler(deniedHandler))
|
||||||
.authorizeHttpRequests(auth -> auth
|
.authorizeHttpRequests(auth -> auth
|
||||||
.requestMatchers("/api/auth/register", "/api/auth/login", "/api/auth/refresh", "/api/auth/logout",
|
.requestMatchers(PUBLIC_AUTH_ENDPOINTS).permitAll()
|
||||||
"/actuator/health", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll()
|
|
||||||
.requestMatchers("/internal/auth/**").permitAll()
|
.requestMatchers("/internal/auth/**").permitAll()
|
||||||
.anyRequest().authenticated())
|
.anyRequest().authenticated())
|
||||||
.addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class)
|
.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