|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright 2020-2022 the original author or authors.
|
|
|
+ * Copyright 2020-2024 the original author or authors.
|
|
|
*
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
* you may not use this file except in compliance with the License.
|
|
@@ -21,10 +21,8 @@ import org.springframework.security.oauth2.core.ClaimAccessor;
|
|
|
import org.springframework.security.oauth2.core.OAuth2AccessToken;
|
|
|
import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
|
|
|
import org.springframework.security.oauth2.core.OAuth2ErrorCodes;
|
|
|
-import org.springframework.security.oauth2.core.OAuth2RefreshToken;
|
|
|
import org.springframework.security.oauth2.core.OAuth2Token;
|
|
|
import org.springframework.security.oauth2.server.authorization.OAuth2Authorization;
|
|
|
-import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationCode;
|
|
|
import org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat;
|
|
|
import org.springframework.security.oauth2.server.authorization.token.OAuth2TokenContext;
|
|
|
|
|
@@ -50,34 +48,6 @@ final class OAuth2AuthenticationProviderUtils {
|
|
|
throw new OAuth2AuthenticationException(OAuth2ErrorCodes.INVALID_CLIENT);
|
|
|
}
|
|
|
|
|
|
- static <T extends OAuth2Token> OAuth2Authorization invalidate(OAuth2Authorization authorization, T token) {
|
|
|
-
|
|
|
- // @formatter:off
|
|
|
- OAuth2Authorization.Builder authorizationBuilder = OAuth2Authorization.from(authorization)
|
|
|
- .token(token,
|
|
|
- (metadata) ->
|
|
|
- metadata.put(OAuth2Authorization.Token.INVALIDATED_METADATA_NAME, true));
|
|
|
-
|
|
|
- if (OAuth2RefreshToken.class.isAssignableFrom(token.getClass())) {
|
|
|
- authorizationBuilder.token(
|
|
|
- authorization.getAccessToken().getToken(),
|
|
|
- (metadata) ->
|
|
|
- metadata.put(OAuth2Authorization.Token.INVALIDATED_METADATA_NAME, true));
|
|
|
-
|
|
|
- OAuth2Authorization.Token<OAuth2AuthorizationCode> authorizationCode =
|
|
|
- authorization.getToken(OAuth2AuthorizationCode.class);
|
|
|
- if (authorizationCode != null && !authorizationCode.isInvalidated()) {
|
|
|
- authorizationBuilder.token(
|
|
|
- authorizationCode.getToken(),
|
|
|
- (metadata) ->
|
|
|
- metadata.put(OAuth2Authorization.Token.INVALIDATED_METADATA_NAME, true));
|
|
|
- }
|
|
|
- }
|
|
|
- // @formatter:on
|
|
|
-
|
|
|
- return authorizationBuilder.build();
|
|
|
- }
|
|
|
-
|
|
|
static <T extends OAuth2Token> OAuth2AccessToken accessToken(OAuth2Authorization.Builder builder, T token,
|
|
|
OAuth2TokenContext accessTokenContext) {
|
|
|
|