Skip to content

Commit 225ac03

Browse files
committed
fix implemented
1 parent bd80ad3 commit 225ac03

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ plugins {
1010
}
1111

1212
group = 'es.in2'
13-
version = '2.0.0'
13+
version = '2.0.1'
1414

1515
java {
1616
toolchain {

src/main/java/es/in2/vcverifier/model/AuthorizationContext.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public record AuthorizationContext(
99
String redirectUri,
1010
String clientNonce,
1111
String originalRequestURL,
12-
String requestUri
12+
String requestUri,
13+
String codeChallenge,
14+
String codeChallengeMethod
1315
) {
1416
}

src/main/java/es/in2/vcverifier/security/filters/CustomAuthorizationRequestConverter.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.springframework.security.oauth2.core.OAuth2ErrorCodes;
2121
import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest;
2222
import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
23+
import org.springframework.security.oauth2.core.endpoint.PkceParameterNames;
2324
import org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeRequestAuthenticationException;
2425
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
2526
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository;
@@ -72,13 +73,18 @@ public Authentication convert(HttpServletRequest request) {
7273
String scope = request.getParameter(OAuth2ParameterNames.SCOPE);
7374
String redirectUri = request.getParameter(OAuth2ParameterNames.REDIRECT_URI);
7475
String clientNonce = request.getParameter(NONCE);
76+
String codeChallenge = request.getParameter(PkceParameterNames.CODE_CHALLENGE);
77+
String codeChallengeMethod= request.getParameter(PkceParameterNames.CODE_CHALLENGE_METHOD);
78+
7579
AuthorizationContext authorizationContext = AuthorizationContext.builder()
7680
.requestUri(requestUri)
7781
.state(state)
7882
.originalRequestURL(originalRequestURL)
7983
.redirectUri(redirectUri)
8084
.clientNonce(clientNonce)
8185
.scope(scope)
86+
.codeChallenge(codeChallenge)
87+
.codeChallengeMethod(codeChallengeMethod)
8288
.build();
8389

8490
RegisteredClient registeredClient = registeredClientRepository.findByClientId(clientId);
@@ -482,10 +488,14 @@ private void cacheAuthorizationRequest(AuthorizationContext authorizationContext
482488
if (nonce != null && !nonce.isBlank()) {
483489
additionalParameters.put(NONCE, nonce);
484490
}
491+
if (authorizationContext.codeChallenge() != null && !authorizationContext.codeChallenge().isBlank()) {
492+
additionalParameters.put(PkceParameterNames.CODE_CHALLENGE, authorizationContext.codeChallenge());
493+
}
494+
if (authorizationContext.codeChallengeMethod() != null && !authorizationContext.codeChallengeMethod().isBlank()) {
495+
additionalParameters.put(PkceParameterNames.CODE_CHALLENGE_METHOD, authorizationContext.codeChallengeMethod());
496+
}
485497
builder.additionalParameters(additionalParameters);
486498

487-
488-
489499
// Build the request
490500
OAuth2AuthorizationRequest oAuth2AuthorizationRequest = builder.build();
491501

0 commit comments

Comments
 (0)