Browse Source

Use pattern matching

Closes gh-1907

Signed-off-by: arefbehboudi <behboodiaref@gmail.com>
pull/1928/head
arefbehboudi 10 months ago committed by Joe Grandja
parent
commit
2e9fe7e99e
  1. 4
      docs/src/main/java/sample/extgrant/CustomCodeGrantAuthenticationProvider.java
  2. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/DefaultOAuth2TokenCustomizers.java
  3. 8
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationEndpointFilter.java
  4. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2ClientAuthenticationFilter.java
  5. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2DeviceAuthorizationEndpointFilter.java
  6. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2DeviceVerificationEndpointFilter.java
  7. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2TokenEndpointFilter.java
  8. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2TokenRevocationEndpointFilter.java
  9. 4
      oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/authentication/OAuth2ErrorAuthenticationFailureHandler.java
  10. 8
      samples/demo-authorizationserver/src/main/java/sample/federation/FederatedIdentityAuthenticationSuccessHandler.java
  11. 6
      samples/demo-authorizationserver/src/main/java/sample/federation/FederatedIdentityIdTokenCustomizer.java

4
docs/src/main/java/sample/extgrant/CustomCodeGrantAuthenticationProvider.java

@ -91,11 +91,11 @@ public class CustomCodeGrantAuthenticationProvider implements AuthenticationProv
OAuth2Authorization.Builder authorizationBuilder = OAuth2Authorization.withRegisteredClient(registeredClient) OAuth2Authorization.Builder authorizationBuilder = OAuth2Authorization.withRegisteredClient(registeredClient)
.principalName(clientPrincipal.getName()) .principalName(clientPrincipal.getName())
.authorizationGrantType(customCodeGrantAuthentication.getGrantType()); .authorizationGrantType(customCodeGrantAuthentication.getGrantType());
if (generatedAccessToken instanceof ClaimAccessor) { if (generatedAccessToken instanceof ClaimAccessor claimAccessor) {
authorizationBuilder.token(accessToken, (metadata) -> authorizationBuilder.token(accessToken, (metadata) ->
metadata.put( metadata.put(
OAuth2Authorization.Token.CLAIMS_METADATA_NAME, OAuth2Authorization.Token.CLAIMS_METADATA_NAME,
((ClaimAccessor) generatedAccessToken).getClaims()) claimAccessor.getClaims())
); );
} else { } else {
authorizationBuilder.accessToken(accessToken); authorizationBuilder.accessToken(accessToken);

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/DefaultOAuth2TokenCustomizers.java

@ -96,8 +96,8 @@ final class DefaultOAuth2TokenCustomizers {
Map<String, Object> jwkJson = (Map<String, Object>) dPoPProofJwt.getHeaders().get("jwk"); Map<String, Object> jwkJson = (Map<String, Object>) dPoPProofJwt.getHeaders().get("jwk");
try { try {
JWK jwk = JWK.parse(jwkJson); JWK jwk = JWK.parse(jwkJson);
if (jwk instanceof AsymmetricJWK) { if (jwk instanceof AsymmetricJWK asymmetricJWK) {
publicKey = ((AsymmetricJWK) jwk).toPublicKey(); publicKey = asymmetricJWK.toPublicKey();
} }
} }
catch (Exception ignored) { catch (Exception ignored) {

8
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationEndpointFilter.java

@ -173,8 +173,8 @@ public final class OAuth2AuthorizationEndpointFilter extends OncePerRequestFilte
try { try {
Authentication authentication = this.authenticationConverter.convert(request); Authentication authentication = this.authenticationConverter.convert(request);
if (authentication instanceof AbstractAuthenticationToken) { if (authentication instanceof AbstractAuthenticationToken abstractAuthenticationToken) {
((AbstractAuthenticationToken) authentication) abstractAuthenticationToken
.setDetails(this.authenticationDetailsSource.buildDetails(request)); .setDetails(this.authenticationDetailsSource.buildDetails(request));
} }
Authentication authenticationResult = this.authenticationManager.authenticate(authentication); Authentication authenticationResult = this.authenticationManager.authenticate(authentication);
@ -188,13 +188,13 @@ public final class OAuth2AuthorizationEndpointFilter extends OncePerRequestFilte
return; return;
} }
if (authenticationResult instanceof OAuth2AuthorizationConsentAuthenticationToken) { if (authenticationResult instanceof OAuth2AuthorizationConsentAuthenticationToken oAuth2AuthorizationConsentAuthenticationToken) {
if (this.logger.isTraceEnabled()) { if (this.logger.isTraceEnabled()) {
this.logger.trace("Authorization consent is required"); this.logger.trace("Authorization consent is required");
} }
sendAuthorizationConsent(request, response, sendAuthorizationConsent(request, response,
(OAuth2AuthorizationCodeRequestAuthenticationToken) authentication, (OAuth2AuthorizationCodeRequestAuthenticationToken) authentication,
(OAuth2AuthorizationConsentAuthenticationToken) authenticationResult); oAuth2AuthorizationConsentAuthenticationToken);
return; return;
} }

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2ClientAuthenticationFilter.java

@ -132,8 +132,8 @@ public final class OAuth2ClientAuthenticationFilter extends OncePerRequestFilter
try { try {
Authentication authenticationRequest = this.authenticationConverter.convert(request); Authentication authenticationRequest = this.authenticationConverter.convert(request);
if (authenticationRequest instanceof AbstractAuthenticationToken) { if (authenticationRequest instanceof AbstractAuthenticationToken abstractAuthenticationToken) {
((AbstractAuthenticationToken) authenticationRequest) abstractAuthenticationToken
.setDetails(this.authenticationDetailsSource.buildDetails(request)); .setDetails(this.authenticationDetailsSource.buildDetails(request));
} }
if (authenticationRequest != null) { if (authenticationRequest != null) {

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2DeviceAuthorizationEndpointFilter.java

@ -129,8 +129,8 @@ public final class OAuth2DeviceAuthorizationEndpointFilter extends OncePerReques
try { try {
Authentication deviceAuthorizationRequestAuthentication = this.authenticationConverter.convert(request); Authentication deviceAuthorizationRequestAuthentication = this.authenticationConverter.convert(request);
if (deviceAuthorizationRequestAuthentication instanceof AbstractAuthenticationToken) { if (deviceAuthorizationRequestAuthentication instanceof AbstractAuthenticationToken abstractAuthenticationToken) {
((AbstractAuthenticationToken) deviceAuthorizationRequestAuthentication) abstractAuthenticationToken
.setDetails(this.authenticationDetailsSource.buildDetails(request)); .setDetails(this.authenticationDetailsSource.buildDetails(request));
} }

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2DeviceVerificationEndpointFilter.java

@ -155,8 +155,8 @@ public final class OAuth2DeviceVerificationEndpointFilter extends OncePerRequest
try { try {
Authentication authentication = this.authenticationConverter.convert(request); Authentication authentication = this.authenticationConverter.convert(request);
if (authentication instanceof AbstractAuthenticationToken) { if (authentication instanceof AbstractAuthenticationToken abstractAuthenticationToken) {
((AbstractAuthenticationToken) authentication) abstractAuthenticationToken
.setDetails(this.authenticationDetailsSource.buildDetails(request)); .setDetails(this.authenticationDetailsSource.buildDetails(request));
} }

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2TokenEndpointFilter.java

@ -161,8 +161,8 @@ public final class OAuth2TokenEndpointFilter extends OncePerRequestFilter {
if (authorizationGrantAuthentication == null) { if (authorizationGrantAuthentication == null) {
throwError(OAuth2ErrorCodes.UNSUPPORTED_GRANT_TYPE, OAuth2ParameterNames.GRANT_TYPE); throwError(OAuth2ErrorCodes.UNSUPPORTED_GRANT_TYPE, OAuth2ParameterNames.GRANT_TYPE);
} }
if (authorizationGrantAuthentication instanceof AbstractAuthenticationToken) { if (authorizationGrantAuthentication instanceof AbstractAuthenticationToken abstractAuthenticationToken) {
((AbstractAuthenticationToken) authorizationGrantAuthentication) abstractAuthenticationToken
.setDetails(this.authenticationDetailsSource.buildDetails(request)); .setDetails(this.authenticationDetailsSource.buildDetails(request));
} }

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/OAuth2TokenRevocationEndpointFilter.java

@ -114,8 +114,8 @@ public final class OAuth2TokenRevocationEndpointFilter extends OncePerRequestFil
try { try {
Authentication tokenRevocationAuthentication = this.authenticationConverter.convert(request); Authentication tokenRevocationAuthentication = this.authenticationConverter.convert(request);
if (tokenRevocationAuthentication instanceof AbstractAuthenticationToken) { if (tokenRevocationAuthentication instanceof AbstractAuthenticationToken abstractAuthenticationToken) {
((AbstractAuthenticationToken) tokenRevocationAuthentication) abstractAuthenticationToken
.setDetails(this.authenticationDetailsSource.buildDetails(request)); .setDetails(this.authenticationDetailsSource.buildDetails(request));
} }

4
oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/authentication/OAuth2ErrorAuthenticationFailureHandler.java

@ -55,8 +55,8 @@ public final class OAuth2ErrorAuthenticationFailureHandler implements Authentica
ServletServerHttpResponse httpResponse = new ServletServerHttpResponse(response); ServletServerHttpResponse httpResponse = new ServletServerHttpResponse(response);
httpResponse.setStatusCode(HttpStatus.BAD_REQUEST); httpResponse.setStatusCode(HttpStatus.BAD_REQUEST);
if (authenticationException instanceof OAuth2AuthenticationException) { if (authenticationException instanceof OAuth2AuthenticationException oAuth2AuthenticationException) {
OAuth2Error error = ((OAuth2AuthenticationException) authenticationException).getError(); OAuth2Error error = oAuth2AuthenticationException.getError();
this.errorResponseConverter.write(error, null, httpResponse); this.errorResponseConverter.write(error, null, httpResponse);
} }
else { else {

8
samples/demo-authorizationserver/src/main/java/sample/federation/FederatedIdentityAuthenticationSuccessHandler.java

@ -50,10 +50,10 @@ public final class FederatedIdentityAuthenticationSuccessHandler implements Auth
@Override @Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
if (authentication instanceof OAuth2AuthenticationToken) { if (authentication instanceof OAuth2AuthenticationToken) {
if (authentication.getPrincipal() instanceof OidcUser) { if (authentication.getPrincipal() instanceof OidcUser oidcUser) {
this.oidcUserHandler.accept((OidcUser) authentication.getPrincipal()); this.oidcUserHandler.accept(oidcUser);
} else if (authentication.getPrincipal() instanceof OAuth2User) { } else if (authentication.getPrincipal() instanceof OAuth2User oAuth2User) {
this.oauth2UserHandler.accept((OAuth2User) authentication.getPrincipal()); this.oauth2UserHandler.accept(oAuth2User);
} }
} }

6
samples/demo-authorizationserver/src/main/java/sample/federation/FederatedIdentityIdTokenCustomizer.java

@ -77,12 +77,10 @@ public final class FederatedIdentityIdTokenCustomizer implements OAuth2TokenCust
private Map<String, Object> extractClaims(Authentication principal) { private Map<String, Object> extractClaims(Authentication principal) {
Map<String, Object> claims; Map<String, Object> claims;
if (principal.getPrincipal() instanceof OidcUser) { if (principal.getPrincipal() instanceof OidcUser oidcUser) {
OidcUser oidcUser = (OidcUser) principal.getPrincipal();
OidcIdToken idToken = oidcUser.getIdToken(); OidcIdToken idToken = oidcUser.getIdToken();
claims = idToken.getClaims(); claims = idToken.getClaims();
} else if (principal.getPrincipal() instanceof OAuth2User) { } else if (principal.getPrincipal() instanceof OAuth2User oauth2User) {
OAuth2User oauth2User = (OAuth2User) principal.getPrincipal();
claims = oauth2User.getAttributes(); claims = oauth2User.getAttributes();
} else { } else {
claims = Collections.emptyMap(); claims = Collections.emptyMap();

Loading…
Cancel
Save