Skip to content

Commit d878dbf

Browse files
committed
Polish gh-6349
1 parent 057ed61 commit d878dbf

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/oidc/authentication/OidcIdTokenValidator.java

+8-7
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ public OidcIdTokenValidator(ClientRegistration clientRegistration) {
5555
public OAuth2TokenValidatorResult validate(Jwt idToken) {
5656
// 3.1.3.7 ID Token Validation
5757
// http://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
58-
Map<String, Object> invalidClaims = validateRequiredClaims(idToken);
5958

60-
if (!invalidClaims.isEmpty()){
61-
return OAuth2TokenValidatorResult.failure(invalidIdToken(invalidClaims));
59+
Map<String, Object> invalidClaims = validateRequiredClaims(idToken);
60+
if (!invalidClaims.isEmpty()) {
61+
return OAuth2TokenValidatorResult.failure(invalidIdToken(invalidClaims));
6262
}
6363

6464
// 2. The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery)
@@ -121,13 +121,14 @@ public OAuth2TokenValidatorResult validate(Jwt idToken) {
121121

122122
private static OAuth2Error invalidIdToken(Map<String, Object> invalidClaims) {
123123
String claimsDetail = invalidClaims.entrySet().stream()
124-
.map(it -> it.getKey()+ "("+it.getValue()+")")
124+
.map(it -> it.getKey() + " (" + it.getValue() + ")")
125125
.collect(Collectors.joining(", "));
126-
127-
return new OAuth2Error("invalid_id_token", "The ID Token contains invalid claims: "+claimsDetail, null);
126+
return new OAuth2Error("invalid_id_token",
127+
"The ID Token contains invalid claims: " + claimsDetail,
128+
"https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation");
128129
}
129130

130-
private static Map<String, Object> validateRequiredClaims(Jwt idToken){
131+
private static Map<String, Object> validateRequiredClaims(Jwt idToken) {
131132
Map<String, Object> requiredClaims = new HashMap<>();
132133

133134
URL issuer = idToken.getIssuer();

oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/oidc/authentication/OidcIdTokenValidatorTests.java

-12
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ public void validateIdTokenWhenIssuerNullThenHasErrors() {
6666
.hasSize(1)
6767
.extracting(OAuth2Error::getDescription)
6868
.allMatch(msg -> msg.contains(IdTokenClaimNames.ISS));
69-
7069
}
7170

7271
@Test
@@ -194,17 +193,6 @@ public void validateIdTokenWhenMissingClaimsThenHasErrors() {
194193
.allMatch(msg -> msg.contains(IdTokenClaimNames.EXP));
195194
}
196195

197-
@Test(expected = IllegalArgumentException.class)
198-
public void validateIdTokenWhenNoClaimsThenHasErrors() {
199-
this.claims.remove(IdTokenClaimNames.ISS);
200-
this.claims.remove(IdTokenClaimNames.SUB);
201-
this.claims.remove(IdTokenClaimNames.AUD);
202-
this.issuedAt = null;
203-
this.expiresAt = null;
204-
assertThat(this.validateIdToken())
205-
.hasSize(1);
206-
}
207-
208196
private Collection<OAuth2Error> validateIdToken() {
209197
Jwt idToken = new Jwt("token123", this.issuedAt, this.expiresAt, this.headers, this.claims);
210198
OidcIdTokenValidator validator = new OidcIdTokenValidator(this.registration.build());

0 commit comments

Comments
 (0)