|
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