Browse Source

Add mapping for DPoP in DefaultMapOAuth2AccessTokenResponseConverter

Closes gh-16806

Signed-off-by: muha <muha@kreftregisteret.no>
pull/17024/head
hammadirshad 9 months ago committed by Joe Grandja
parent
commit
1a4602c8c3
  1. 6
      oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/endpoint/DefaultMapOAuth2AccessTokenResponseConverter.java
  2. 14
      oauth2/oauth2-core/src/test/java/org/springframework/security/oauth2/core/endpoint/DefaultMapOAuth2AccessTokenResponseConverterTests.java

6
oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/endpoint/DefaultMapOAuth2AccessTokenResponseConverter.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2021 the original author or authors.
* Copyright 2002-2025 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.
@ -70,6 +70,10 @@ public final class DefaultMapOAuth2AccessTokenResponseConverter @@ -70,6 +70,10 @@ public final class DefaultMapOAuth2AccessTokenResponseConverter
.equalsIgnoreCase(getParameterValue(tokenResponseParameters, OAuth2ParameterNames.TOKEN_TYPE))) {
return OAuth2AccessToken.TokenType.BEARER;
}
else if (OAuth2AccessToken.TokenType.DPOP.getValue()
.equalsIgnoreCase(getParameterValue(tokenResponseParameters, OAuth2ParameterNames.TOKEN_TYPE))) {
return OAuth2AccessToken.TokenType.DPOP;
}
return null;
}

14
oauth2/oauth2-core/src/test/java/org/springframework/security/oauth2/core/endpoint/DefaultMapOAuth2AccessTokenResponseConverterTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2021 the original author or authors.
* Copyright 2002-2025 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.
@ -98,6 +98,18 @@ public class DefaultMapOAuth2AccessTokenResponseConverterTests { @@ -98,6 +98,18 @@ public class DefaultMapOAuth2AccessTokenResponseConverterTests {
assertThat(additionalParameters).isEmpty();
}
@Test
public void shouldConvertDPoPToken() {
Map<String, Object> map = new HashMap<>();
map.put("access_token", "access-token-1234");
map.put("token_type", "dpop");
OAuth2AccessTokenResponse converted = this.messageConverter.convert(map);
OAuth2AccessToken accessToken = converted.getAccessToken();
assertThat(accessToken).isNotNull();
assertThat(accessToken.getTokenValue()).isEqualTo("access-token-1234");
assertThat(accessToken.getTokenType()).isEqualTo(OAuth2AccessToken.TokenType.DPOP);
}
@Test
public void shouldConvertWithUnsupportedExpiresIn() {
Map<String, Object> map = new HashMap<>();

Loading…
Cancel
Save