Skip to content

Commit 6644ca2

Browse files
committed
🚀 集成OAuth2令牌失效自定义响应格式
1 parent 863c0ba commit 6644ca2

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/oauth/ApiBootResourceServerAutoConfiguration.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,20 @@
1717
package org.minbox.framework.api.boot.autoconfigure.oauth;
1818

1919
import org.minbox.framework.api.boot.autoconfigure.security.ApiBootSecurityProperties;
20+
import org.minbox.framework.oauth.entrypoint.AccessTokenInvalidAuthenticationEntryPoint;
21+
import org.minbox.framework.oauth.response.AccessTokenInvalidResponse;
22+
import org.minbox.framework.oauth.response.DefaultAccessTokenInvalidResponse;
2023
import org.minbox.framework.security.SecurityUser;
2124
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
25+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2226
import org.springframework.boot.context.properties.EnableConfigurationProperties;
27+
import org.springframework.context.annotation.Bean;
2328
import org.springframework.context.annotation.Configuration;
2429
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2530
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
2631
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
2732
import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
33+
import org.springframework.security.web.AuthenticationEntryPoint;
2834

2935
/**
3036
* Resource server configuration
@@ -61,8 +67,32 @@ public void configure(HttpSecurity http) throws Exception {
6167
.antMatchers(apiBootSecurityProperties.getAuthPrefix());
6268
}
6369

70+
/**
71+
* Configure custom serialization authentication error format
72+
*
73+
* @return The {@link DefaultAccessTokenInvalidResponse} instance
74+
* @see DefaultAccessTokenInvalidResponse
75+
*/
76+
@Bean
77+
@ConditionalOnMissingBean
78+
public AccessTokenInvalidResponse tokenInvalidResponse() {
79+
return new DefaultAccessTokenInvalidResponse();
80+
}
81+
82+
/**
83+
* Instance {@link AuthenticationEntryPoint} support class
84+
*
85+
* @return {@link AccessTokenInvalidAuthenticationEntryPoint}
86+
*/
87+
@Bean
88+
public AuthenticationEntryPoint tokenInvalidAuthenticationEntryPoint() {
89+
return new AccessTokenInvalidAuthenticationEntryPoint(tokenInvalidResponse());
90+
}
91+
6492
@Override
6593
public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
66-
resources.resourceId(apiBootOauthProperties.getResourceId());
94+
resources
95+
.resourceId(apiBootOauthProperties.getResourceId())
96+
.authenticationEntryPoint(tokenInvalidAuthenticationEntryPoint());
6797
}
6898
}

0 commit comments

Comments
 (0)