Skip to content

Commit e7ca7ae

Browse files
authored
Merge pull request #74 from hengboy/2.3.x
🚀 支持oauth2自定义认证异常
2 parents 82862c9 + 1aee9c1 commit e7ca7ae

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

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

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,15 @@
1818

1919
import org.minbox.framework.oauth.AuthorizationServerConfiguration;
2020
import org.minbox.framework.oauth.grant.OAuth2TokenGranter;
21+
import org.minbox.framework.oauth.response.AuthorizationDeniedResponse;
22+
import org.minbox.framework.oauth.response.DefaultAuthorizationDeniedResponse;
23+
import org.minbox.framework.oauth.translator.DefaultWebResponseExceptionTranslator;
2124
import org.springframework.beans.factory.ObjectProvider;
25+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
26+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2227
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
2328
import org.springframework.context.annotation.Bean;
29+
import org.springframework.security.oauth2.provider.error.WebResponseExceptionTranslator;
2430
import org.springframework.security.oauth2.provider.token.AccessTokenConverter;
2531
import org.springframework.security.oauth2.provider.token.DefaultAccessTokenConverter;
2632
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
@@ -72,4 +78,31 @@ public AccessTokenConverter jwtAccessTokenConverter() {
7278
public AccessTokenConverter defaultAccessTokenConverter() {
7379
return new DefaultAccessTokenConverter();
7480
}
81+
82+
/**
83+
* Configure custom serialization authentication error format
84+
*
85+
* @return The {@link DefaultAuthorizationDeniedResponse} instance
86+
* @see DefaultAuthorizationDeniedResponse
87+
*/
88+
@Bean
89+
@ConditionalOnMissingBean
90+
public AuthorizationDeniedResponse authorizationDeniedResponse() {
91+
return new DefaultAuthorizationDeniedResponse();
92+
}
93+
94+
/**
95+
* Configure {@link WebResponseExceptionTranslator}
96+
*
97+
* @param authorizationDeniedResponse The {@link AuthorizationDeniedResponse} instance
98+
* @return {@link WebResponseExceptionTranslator} instance
99+
* @see AuthorizationServerConfiguration#configure(org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer)
100+
* @see DefaultWebResponseExceptionTranslator
101+
*/
102+
@Bean
103+
@ConditionalOnBean(AuthorizationDeniedResponse.class)
104+
@ConditionalOnMissingBean
105+
public WebResponseExceptionTranslator webResponseExceptionTranslator(AuthorizationDeniedResponse authorizationDeniedResponse) {
106+
return new DefaultWebResponseExceptionTranslator(authorizationDeniedResponse);
107+
}
75108
}

api-boot-project/api-boot-dependencies/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<artifactId>api-boot-dependencies</artifactId>
1515
<properties>
1616
<main.basedir>${basedir}/../..</main.basedir>
17-
<minbox-bom.version>1.0.4</minbox-bom.version>
17+
<minbox-bom.version>1.0.5-SNAPSHOT</minbox-bom.version>
1818
<spring.boot.version>2.3.6.RELEASE</spring.boot.version>
1919
<spring-cloud.version>2.2.6.RELEASE</spring-cloud.version>
2020
<maven-plugin-plugin.version>3.6.0</maven-plugin-plugin.version>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.minbox.framework</groupId>
77
<artifactId>minbox-parent</artifactId>
8-
<version>1.0.4</version>
8+
<version>1.0.5-SNAPSHOT</version>
99
<relativePath/>
1010
</parent>
1111
<packaging>pom</packaging>

0 commit comments

Comments
 (0)