|
18 | 18 |
|
19 | 19 | import org.minbox.framework.oauth.AuthorizationServerConfiguration;
|
20 | 20 | 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; |
21 | 24 | import org.springframework.beans.factory.ObjectProvider;
|
| 25 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; |
| 26 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
22 | 27 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
23 | 28 | import org.springframework.context.annotation.Bean;
|
| 29 | +import org.springframework.security.oauth2.provider.error.WebResponseExceptionTranslator; |
24 | 30 | import org.springframework.security.oauth2.provider.token.AccessTokenConverter;
|
25 | 31 | import org.springframework.security.oauth2.provider.token.DefaultAccessTokenConverter;
|
26 | 32 | import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
|
@@ -72,4 +78,31 @@ public AccessTokenConverter jwtAccessTokenConverter() {
|
72 | 78 | public AccessTokenConverter defaultAccessTokenConverter() {
|
73 | 79 | return new DefaultAccessTokenConverter();
|
74 | 80 | }
|
| 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 | + } |
75 | 108 | }
|
0 commit comments