|
11 | 11 | import org.springframework.context.annotation.Configuration;
|
12 | 12 | import org.springframework.core.annotation.Order;
|
13 | 13 | import org.springframework.http.MediaType;
|
| 14 | +import org.springframework.security.authentication.AbstractAuthenticationToken; |
14 | 15 | import org.springframework.security.config.Customizer;
|
15 | 16 | import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
16 | 17 | import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
17 | 18 | import org.springframework.security.core.userdetails.User;
|
18 | 19 | import org.springframework.security.core.userdetails.UserDetails;
|
19 | 20 | import org.springframework.security.core.userdetails.UserDetailsService;
|
20 |
| -import org.springframework.security.oauth2.core.AuthorizationGrantType; |
21 |
| -import org.springframework.security.oauth2.core.ClientAuthenticationMethod; |
22 |
| -import org.springframework.security.oauth2.core.oidc.OidcScopes; |
23 | 21 | import org.springframework.security.oauth2.jwt.JwtDecoder;
|
24 | 22 | import org.springframework.security.oauth2.server.authorization.OAuth2TokenType;
|
25 |
| -import org.springframework.security.oauth2.server.authorization.client.InMemoryRegisteredClientRepository; |
26 |
| -import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; |
27 |
| -import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository; |
28 | 23 | import org.springframework.security.oauth2.server.authorization.config.annotation.web.configuration.OAuth2AuthorizationServerConfiguration;
|
29 | 24 | import org.springframework.security.oauth2.server.authorization.config.annotation.web.configurers.OAuth2AuthorizationServerConfigurer;
|
30 | 25 | import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings;
|
31 |
| -import org.springframework.security.oauth2.server.authorization.settings.ClientSettings; |
32 | 26 | import org.springframework.security.oauth2.server.authorization.token.JwtEncodingContext;
|
33 | 27 | import org.springframework.security.oauth2.server.authorization.token.OAuth2TokenCustomizer;
|
34 | 28 | import org.springframework.security.provisioning.InMemoryUserDetailsManager;
|
@@ -156,11 +150,11 @@ private static KeyPair generateRsaKey() {
|
156 | 150 | public OAuth2TokenCustomizer<JwtEncodingContext> jwtTokenCustomizer() {
|
157 | 151 | return (context) -> {
|
158 | 152 | if (OAuth2TokenType.ACCESS_TOKEN.equals(context.getTokenType())) {
|
159 |
| - System.out.println("Principal: " + context.getPrincipal()); |
160 |
| - System.out.println("Authorized scopes: " + context.getAuthorizedScopes()); |
161 |
| - context.getClaims().claims((claims) -> { |
162 |
| - claims.put("aud", "rabbitmq"); |
163 |
| - }); |
| 153 | + AbstractAuthenticationToken principal = context.getPrincipal(); |
| 154 | + context.getClaims() |
| 155 | + .audience(AudienceAuthority.getAll(principal)) |
| 156 | + .claim("extra_scope", ScopeAuthority.getAllUnauthorized(principal, |
| 157 | + context.getAuthorizedScopes())); |
164 | 158 | }
|
165 | 159 | };
|
166 | 160 | }
|
|
0 commit comments