Skip to content

Commit 363e10e

Browse files
committed
refactor: move and sort classes.
1 parent cd6223c commit 363e10e

17 files changed

Lines changed: 91 additions & 131 deletions

lib/src/main/java/com/auth0/jwtdecodejava/JWTDecoder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.auth0.jwtdecodejava;
22

3-
import com.auth0.jwtdecodejava.enums.Algorithm;
3+
import com.auth0.jwtdecodejava.algorithms.Algorithm;
44
import com.auth0.jwtdecodejava.exceptions.JWTException;
55
import com.auth0.jwtdecodejava.impl.JWTParser;
66
import com.auth0.jwtdecodejava.interfaces.Claim;
@@ -10,7 +10,7 @@
1010

1111
import java.util.Date;
1212

13-
import static com.auth0.jwtdecodejava.Utils.base64Decode;
13+
import static com.auth0.jwtdecodejava.SignUtils.base64Decode;
1414

1515
public final class JWTDecoder implements JWT {
1616

@@ -27,7 +27,7 @@ public static JWT decode(String jwt) {
2727
}
2828

2929
private void parseToken(String token) throws JWTException {
30-
final String[] parts = Utils.splitToken(token);
30+
final String[] parts = SignUtils.splitToken(token);
3131
final JWTParser converter = new JWTParser();
3232
header = converter.parseHeader(base64Decode(parts[0]));
3333
payload = converter.parsePayload(base64Decode(parts[1]));

lib/src/main/java/com/auth0/jwtdecodejava/impl/JWTVerifier.java renamed to lib/src/main/java/com/auth0/jwtdecodejava/JWTVerifier.java

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
package com.auth0.jwtdecodejava.impl;
2-
3-
import com.auth0.jwtdecodejava.JWTDecoder;
4-
import com.auth0.jwtdecodejava.Utils;
5-
import com.auth0.jwtdecodejava.enums.Algorithm;
6-
import com.auth0.jwtdecodejava.enums.HSAlgorithm;
7-
import com.auth0.jwtdecodejava.enums.NoneAlgorithm;
8-
import com.auth0.jwtdecodejava.enums.RSAlgorithm;
1+
package com.auth0.jwtdecodejava;
2+
3+
import com.auth0.jwtdecodejava.algorithms.Algorithm;
4+
import com.auth0.jwtdecodejava.algorithms.HSAlgorithm;
5+
import com.auth0.jwtdecodejava.algorithms.NoneAlgorithm;
6+
import com.auth0.jwtdecodejava.algorithms.RSAlgorithm;
97
import com.auth0.jwtdecodejava.exceptions.AlgorithmMismatchException;
108
import com.auth0.jwtdecodejava.exceptions.InvalidClaimException;
119
import com.auth0.jwtdecodejava.exceptions.JWTException;
1210
import com.auth0.jwtdecodejava.exceptions.SignatureVerificationException;
11+
import com.auth0.jwtdecodejava.impl.PublicClaims;
1312
import com.auth0.jwtdecodejava.interfaces.JWT;
1413

1514
import java.security.InvalidKeyException;
@@ -21,7 +20,7 @@
2120
import java.util.HashMap;
2221
import java.util.Map;
2322

24-
import static com.auth0.jwtdecodejava.enums.NoneAlgorithm.none;
23+
import static com.auth0.jwtdecodejava.algorithms.NoneAlgorithm.none;
2524

2625
public class JWTVerifier {
2726
private final Algorithm algorithm;
@@ -62,58 +61,58 @@ private static JWTVerifier init(Algorithm algorithm, PublicKey publicKey, String
6261
}
6362

6463
public JWTVerifier withIssuer(String issuer) {
65-
requireClaim(Claims.ISSUER, issuer);
64+
requireClaim(PublicClaims.ISSUER, issuer);
6665
return this;
6766
}
6867

6968
public JWTVerifier withSubject(String subject) {
70-
requireClaim(Claims.SUBJECT, subject);
69+
requireClaim(PublicClaims.SUBJECT, subject);
7170
return this;
7271
}
7372

7473
public JWTVerifier withAudience(String[] audience) {
75-
requireClaim(Claims.AUDIENCE, audience);
74+
requireClaim(PublicClaims.AUDIENCE, audience);
7675
return this;
7776
}
7877

7978
public JWTVerifier withExpiresAt(Date expiresAt) {
80-
requireClaim(Claims.EXPIRES_AT, expiresAt);
79+
requireClaim(PublicClaims.EXPIRES_AT, expiresAt);
8180
return this;
8281
}
8382

8483
public JWTVerifier withNotBefore(Date notBefore) {
85-
requireClaim(Claims.NOT_BEFORE, notBefore);
84+
requireClaim(PublicClaims.NOT_BEFORE, notBefore);
8685
return this;
8786
}
8887

8988
public JWTVerifier withIssuedAt(Date issuedAt) {
90-
requireClaim(Claims.ISSUED_AT, issuedAt);
89+
requireClaim(PublicClaims.ISSUED_AT, issuedAt);
9190
return this;
9291
}
9392

9493
public JWTVerifier withJWTId(String jwtId) {
95-
requireClaim(Claims.JWT_ID, jwtId);
94+
requireClaim(PublicClaims.JWT_ID, jwtId);
9695
return this;
9796
}
9897

9998
public JWT verify(String token) throws JWTException {
10099
JWT jwt = JWTDecoder.decode(token);
101100
verifyAlgorithm(jwt, algorithm);
102-
verifySignature(Utils.splitToken(token));
101+
verifySignature(SignUtils.splitToken(token));
103102
verifyClaims(jwt, claims);
104103
return jwt;
105104
}
106105

107106
private void verifySignature(String[] parts) {
108107
if (algorithm instanceof HSAlgorithm) {
109108
try {
110-
Utils.verifyHS((HSAlgorithm) algorithm, parts, secret);
109+
SignUtils.verifyHS((HSAlgorithm) algorithm, parts, secret);
111110
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
112111
throw new SignatureVerificationException(algorithm, e);
113112
}
114113
} else if (algorithm instanceof RSAlgorithm) {
115114
try {
116-
Utils.verifyRS((RSAlgorithm) algorithm, parts, key);
115+
SignUtils.verifyRS((RSAlgorithm) algorithm, parts, key);
117116
} catch (InvalidKeyException | NoSuchAlgorithmException | SignatureException e) {
118117
throw new SignatureVerificationException(algorithm, e);
119118
}
@@ -136,9 +135,9 @@ private void verifyClaims(JWT jwt, Map<String, Object> claims) {
136135

137136
private void assertValidClaim(JWT jwt, String claimName, Object expectedValue) {
138137
boolean isValid;
139-
if (Claims.AUDIENCE.equals(claimName)) {
138+
if (PublicClaims.AUDIENCE.equals(claimName)) {
140139
isValid = Arrays.equals(jwt.getAudience(), (String[]) expectedValue);
141-
} else if (Claims.NOT_BEFORE.equals(claimName) || Claims.EXPIRES_AT.equals(claimName) || Claims.ISSUED_AT.equals(claimName)) {
140+
} else if (PublicClaims.NOT_BEFORE.equals(claimName) || PublicClaims.EXPIRES_AT.equals(claimName) || PublicClaims.ISSUED_AT.equals(claimName)) {
142141
Date dateValue = (Date) expectedValue;
143142
isValid = dateValue.equals(jwt.getClaim(claimName).asDate());
144143
} else {

lib/src/main/java/com/auth0/jwtdecodejava/Utils.java renamed to lib/src/main/java/com/auth0/jwtdecodejava/SignUtils.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.auth0.jwtdecodejava;
22

3-
import com.auth0.jwtdecodejava.enums.HSAlgorithm;
4-
import com.auth0.jwtdecodejava.enums.RSAlgorithm;
3+
import com.auth0.jwtdecodejava.algorithms.HSAlgorithm;
4+
import com.auth0.jwtdecodejava.algorithms.RSAlgorithm;
55
import com.auth0.jwtdecodejava.exceptions.JWTException;
66
import org.apache.commons.codec.binary.Base64;
77
import org.apache.commons.codec.binary.StringUtils;
@@ -10,9 +10,9 @@
1010
import javax.crypto.spec.SecretKeySpec;
1111
import java.security.*;
1212

13-
public class Utils {
13+
class SignUtils {
1414

15-
public static String base64Decode(String string) throws JWTException {
15+
static String base64Decode(String string) throws JWTException {
1616
String decoded;
1717
try {
1818
decoded = StringUtils.newStringUtf8(Base64.decodeBase64(string));
@@ -22,7 +22,7 @@ public static String base64Decode(String string) throws JWTException {
2222
return decoded;
2323
}
2424

25-
public static String base64Encode(String string) throws JWTException {
25+
static String base64Encode(String string) throws JWTException {
2626
String encoded;
2727
try {
2828
encoded = StringUtils.newStringUtf8(Base64.encodeBase64(string.getBytes(), false, true));
@@ -32,7 +32,7 @@ public static String base64Encode(String string) throws JWTException {
3232
return encoded;
3333
}
3434

35-
public static String[] splitToken(String token) {
35+
static String[] splitToken(String token) {
3636
String[] parts = token.split("\\.");
3737
if (parts.length == 2 && token.endsWith(".")) {
3838
//Tokens with alg='none' have empty String as Signature.
@@ -44,7 +44,7 @@ public static String[] splitToken(String token) {
4444
return parts;
4545
}
4646

47-
public static boolean verifyHS(HSAlgorithm algorithm, String[] jwtParts, String secret) throws NoSuchAlgorithmException, InvalidKeyException {
47+
static boolean verifyHS(HSAlgorithm algorithm, String[] jwtParts, String secret) throws NoSuchAlgorithmException, InvalidKeyException {
4848
if (secret == null) {
4949
throw new IllegalArgumentException("The Secret cannot be null");
5050
}
@@ -59,7 +59,7 @@ public static boolean verifyHS(HSAlgorithm algorithm, String[] jwtParts, String
5959
return MessageDigest.isEqual(result, Base64.decodeBase64(jwtParts[2]));
6060
}
6161

62-
public static boolean verifyRS(RSAlgorithm algorithm, String[] jwtParts, PublicKey publicKey) throws InvalidKeyException, NoSuchAlgorithmException, SignatureException {
62+
static boolean verifyRS(RSAlgorithm algorithm, String[] jwtParts, PublicKey publicKey) throws InvalidKeyException, NoSuchAlgorithmException, SignatureException {
6363
if (publicKey == null) {
6464
throw new IllegalArgumentException("The PublicKey cannot be null");
6565
}

lib/src/main/java/com/auth0/jwtdecodejava/enums/Algorithm.java renamed to lib/src/main/java/com/auth0/jwtdecodejava/algorithms/Algorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.jwtdecodejava.enums;
1+
package com.auth0.jwtdecodejava.algorithms;
22

33
public interface Algorithm {
44

lib/src/main/java/com/auth0/jwtdecodejava/enums/HSAlgorithm.java renamed to lib/src/main/java/com/auth0/jwtdecodejava/algorithms/HSAlgorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.jwtdecodejava.enums;
1+
package com.auth0.jwtdecodejava.algorithms;
22

33
import org.apache.commons.codec.digest.HmacAlgorithms;
44

lib/src/main/java/com/auth0/jwtdecodejava/enums/NoneAlgorithm.java renamed to lib/src/main/java/com/auth0/jwtdecodejava/algorithms/NoneAlgorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.jwtdecodejava.enums;
1+
package com.auth0.jwtdecodejava.algorithms;
22

33
public enum NoneAlgorithm implements Algorithm {
44
none("none");

lib/src/main/java/com/auth0/jwtdecodejava/enums/RSAlgorithm.java renamed to lib/src/main/java/com/auth0/jwtdecodejava/algorithms/RSAlgorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.jwtdecodejava.enums;
1+
package com.auth0.jwtdecodejava.algorithms;
22

33
public enum RSAlgorithm implements Algorithm {
44
RS256("SHA256withRSA"),

lib/src/main/java/com/auth0/jwtdecodejava/exceptions/SignatureVerificationException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.auth0.jwtdecodejava.exceptions;
22

3-
import com.auth0.jwtdecodejava.enums.Algorithm;
3+
import com.auth0.jwtdecodejava.algorithms.Algorithm;
44

55
public class SignatureVerificationException extends JWTException {
66
public SignatureVerificationException(Algorithm algorithm) {

lib/src/main/java/com/auth0/jwtdecodejava/impl/HeaderImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package com.auth0.jwtdecodejava.impl;
22

3-
import com.auth0.jwtdecodejava.enums.Algorithm;
4-
import com.auth0.jwtdecodejava.enums.HSAlgorithm;
5-
import com.auth0.jwtdecodejava.enums.NoneAlgorithm;
6-
import com.auth0.jwtdecodejava.enums.RSAlgorithm;
3+
import com.auth0.jwtdecodejava.algorithms.Algorithm;
4+
import com.auth0.jwtdecodejava.algorithms.HSAlgorithm;
5+
import com.auth0.jwtdecodejava.algorithms.NoneAlgorithm;
6+
import com.auth0.jwtdecodejava.algorithms.RSAlgorithm;
77
import com.auth0.jwtdecodejava.interfaces.Header;
88
import com.fasterxml.jackson.databind.JsonNode;
99

1010
import java.util.Map;
1111

1212
import static com.auth0.jwtdecodejava.impl.ClaimImpl.extractClaim;
13-
import static com.auth0.jwtdecodejava.impl.Claims.*;
13+
import static com.auth0.jwtdecodejava.impl.PublicClaims.*;
1414

1515
class HeaderImpl implements Header {
1616
private final Map<String, JsonNode> tree;

lib/src/main/java/com/auth0/jwtdecodejava/impl/PayloadDeserializer.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ public Payload deserialize(JsonParser p, DeserializationContext ctxt) throws IOE
3232
throw new JWTException("Null map");
3333
}
3434

35-
String issuer = getString(tree, Claims.ISSUER);
36-
String subject = getString(tree, Claims.SUBJECT);
37-
String[] audience = getStringOrArray(tree, Claims.AUDIENCE);
38-
Date expiresAt = getDate(tree, Claims.EXPIRES_AT);
39-
Date notBefore = getDate(tree, Claims.NOT_BEFORE);
40-
Date issuedAt = getDate(tree, Claims.ISSUED_AT);
41-
String jwtId = getString(tree, Claims.JWT_ID);
35+
String issuer = getString(tree, PublicClaims.ISSUER);
36+
String subject = getString(tree, PublicClaims.SUBJECT);
37+
String[] audience = getStringOrArray(tree, PublicClaims.AUDIENCE);
38+
Date expiresAt = getDate(tree, PublicClaims.EXPIRES_AT);
39+
Date notBefore = getDate(tree, PublicClaims.NOT_BEFORE);
40+
Date issuedAt = getDate(tree, PublicClaims.ISSUED_AT);
41+
String jwtId = getString(tree, PublicClaims.JWT_ID);
4242

4343
return new PayloadImpl(issuer, subject, audience, expiresAt, notBefore, issuedAt, jwtId, tree);
4444
}

0 commit comments

Comments
 (0)