Skip to content

Commit

Permalink
Refactored validateExpectedClaims
Browse files Browse the repository at this point in the history
  • Loading branch information
dogeared committed Sep 23, 2015
1 parent 62ccd16 commit 5dd95b6
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -363,18 +363,32 @@ public Jwt parse(String jwt) throws ExpiredJwtException, MalformedJwtException,

private void validateExpectedClaims(Header header, Claims claims) {
for (String expectedClaimName : expectedClaims.keySet()) {
Object expectedClaimValue;
Object actualClaimValue;

// since issued at is a date, call the specific method
// other methods deal with strings and the more
// general method can be used
// this will be overridden if one of the default claims is used
Object expectedClaimValue = expectedClaims.get(expectedClaimName);
Object actualClaimValue = claims.get(expectedClaimName);

if (Claims.ISSUED_AT.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getIssuedAt();
actualClaimValue = claims.getIssuedAt();
} else {
expectedClaimValue = expectedClaims.get(expectedClaimName);
actualClaimValue = claims.get(expectedClaimName);
} else if (Claims.AUDIENCE.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getAudience();
actualClaimValue = claims.getAudience();
} else if (Claims.ISSUER.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getIssuer();
actualClaimValue = claims.getIssuer();
} else if (Claims.SUBJECT.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getSubject();
actualClaimValue = claims.getSubject();
} else if (Claims.EXPIRATION.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getExpiration();
actualClaimValue = claims.getExpiration();
} else if (Claims.NOT_BEFORE.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getNotBefore();
actualClaimValue = claims.getNotBefore();
} else if (Claims.ID.equals(expectedClaimName)) {
expectedClaimValue = expectedClaims.getId();
actualClaimValue = claims.getId();
}

InvalidClaimException invalidClaimException = null;
Expand All @@ -385,8 +399,7 @@ private void validateExpectedClaims(Header header, Claims claims) {
expectedClaimName, expectedClaimValue
);
invalidClaimException = new MissingClaimException(header, claims, msg);
}
else if (!expectedClaimValue.equals(actualClaimValue)) {
} else if (!expectedClaimValue.equals(actualClaimValue)) {
String msg = String.format(
ClaimJwtException.INCORRECT_EXPECTED_CLAIM_MESSAGE_TEMPLATE,
expectedClaimName, expectedClaimValue, actualClaimValue
Expand Down

0 comments on commit 5dd95b6

Please sign in to comment.