Skip to content

Commit 6a93e14

Browse files
committed
URL bug fixes
1 parent 1652f7b commit 6a93e14

6 files changed

Lines changed: 49 additions & 21 deletions

File tree

src/main/java/com/clerk/backend_api/helpers/security/token_verifiers/impl/APIKeyTokenVerifier.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,17 @@
1717
import java.util.HashMap;
1818
import java.util.Map;
1919

20+
import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
21+
2022
public class APIKeyTokenVerifier implements TokenVerifier {
2123

2224
private final static String API_KEY_TOKEN_VERIFICATION_URL = "/api_keys/verify";
23-
private final static ObjectMapper objectMapper = new ObjectMapper();
25+
private final static ObjectMapper objectMapper;
26+
27+
static {
28+
objectMapper = new ObjectMapper();
29+
objectMapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
30+
}
2431

2532
@Override
2633
public TokenVerificationResponse<MachineAuthVerificationData> verify(String token, VerifyTokenOptions options)
@@ -34,7 +41,7 @@ public TokenVerificationResponse<MachineAuthVerificationData> verify(String toke
3441
HttpRequest request = HttpRequest.newBuilder()
3542
.uri(URI.create(options.apiUrl() + API_KEY_TOKEN_VERIFICATION_URL))
3643
.header("Content-Type", "application/json")
37-
.header("Authorization", "Bearer " + options.secretKey())
44+
.header("Authorization", "Bearer " + options.secretKey().get())
3845
.timeout(Duration.ofSeconds(30))
3946
.POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
4047
.build();

src/main/java/com/clerk/backend_api/helpers/security/token_verifiers/impl/MachineTokenVerifier.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,17 @@
1717
import java.util.HashMap;
1818
import java.util.Map;
1919

20+
import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
21+
2022
public class MachineTokenVerifier implements TokenVerifier {
2123

22-
private final static String MACHINE_TOKEN_VERIFICATION_URL = "/oauth_applications/access_tokens/verify";
23-
private final static ObjectMapper objectMapper = new ObjectMapper();
24+
private final static String MACHINE_TOKEN_VERIFICATION_URL = "/m2m_tokens/verify";
25+
private final static ObjectMapper objectMapper;
26+
27+
static {
28+
objectMapper = new ObjectMapper();
29+
objectMapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
30+
}
2431

2532
@Override
2633
public TokenVerificationResponse<MachineAuthVerificationData> verify(String token, VerifyTokenOptions options)
@@ -34,7 +41,7 @@ public TokenVerificationResponse<MachineAuthVerificationData> verify(String toke
3441
HttpRequest request = HttpRequest.newBuilder()
3542
.uri(URI.create(options.apiUrl() + MACHINE_TOKEN_VERIFICATION_URL))
3643
.header("Content-Type", "application/json")
37-
.header("Authorization", "Bearer " + options.secretKey())
44+
.header("Authorization", "Bearer " + options.secretKey().get())
3845
.timeout(Duration.ofSeconds(30))
3946
.POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
4047
.build();

src/main/java/com/clerk/backend_api/helpers/security/token_verifiers/impl/OAuthTokenVerifier.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.clerk.backend_api.helpers.security.models.VerifyTokenOptions;
88
import com.clerk.backend_api.helpers.security.token_verifiers.TokenVerifier;
99
import com.fasterxml.jackson.core.JsonProcessingException;
10+
import com.fasterxml.jackson.databind.DeserializationFeature;
1011
import com.fasterxml.jackson.databind.ObjectMapper;
1112
import java.io.IOException;
1213
import java.net.URI;
@@ -17,10 +18,17 @@
1718
import java.util.HashMap;
1819
import java.util.Map;
1920

21+
import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
22+
2023
public class OAuthTokenVerifier implements TokenVerifier {
2124

22-
private final static String OAUTH_TOKEN_VERIFICATION_URL = "/oauth/tokens/verify";
23-
private final static ObjectMapper objectMapper = new ObjectMapper();
25+
private final static String OAUTH_TOKEN_VERIFICATION_URL = "/oauth_applications/access_tokens/verify";
26+
private final static ObjectMapper objectMapper;
27+
28+
static {
29+
objectMapper = new ObjectMapper();
30+
objectMapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
31+
}
2432

2533
@Override
2634
public TokenVerificationResponse<MachineAuthVerificationData> verify(String token, VerifyTokenOptions options)
@@ -35,7 +43,7 @@ public TokenVerificationResponse<MachineAuthVerificationData> verify(String toke
3543
HttpRequest request = HttpRequest.newBuilder()
3644
.uri(URI.create(options.apiUrl() + OAUTH_TOKEN_VERIFICATION_URL))
3745
.header("Content-Type", "application/json")
38-
.header("Authorization", "Bearer " + options.secretKey())
46+
.header("Authorization", "Bearer " + options.secretKey().get())
3947
.timeout(Duration.ofSeconds(30))
4048
.POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
4149
.build();

src/test/java/com/clerk/backend_api/helpers/security/token_verifiers/impl/APIKeyTokenVerifierTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ void verify_shouldReturnValidResponse_whenHttpStatusIs200() throws Exception {
4343
staticHttpClient.when(HttpClient::newHttpClient).thenReturn(mockClient);
4444

4545
APIKeyTokenVerifier verifier = new APIKeyTokenVerifier();
46-
47-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
46+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
47+
.build();
4848

4949
TokenVerificationResponse<MachineAuthVerificationData> result = verifier.verify(token, options);
5050

@@ -82,8 +82,8 @@ void verify_shouldThrowTokenVerificationException_whenHttpStatusIsNot200() throw
8282
staticHttpClient.when(HttpClient::newHttpClient).thenReturn(mockClient);
8383

8484
APIKeyTokenVerifier verifier = new APIKeyTokenVerifier();
85-
86-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
85+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
86+
.build();
8787

8888
assertThrows(TokenVerificationException.class, () -> verifier.verify("ak_token", options));
8989
}
@@ -103,8 +103,8 @@ void verify_shouldThrowTokenVerificationException_whenResponseIsInvalidJson() th
103103
staticHttpClient.when(HttpClient::newHttpClient).thenReturn(mockClient);
104104

105105
APIKeyTokenVerifier verifier = new APIKeyTokenVerifier();
106-
107-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
106+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
107+
.build();
108108

109109
TokenVerificationException ex = assertThrows(TokenVerificationException.class,
110110
() -> verifier.verify("ak_token", options));

src/test/java/com/clerk/backend_api/helpers/security/token_verifiers/impl/MachineTokenVerifierTests.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import static org.mockito.Mockito.mockStatic;
2424
import static org.mockito.Mockito.when;
2525

26-
class MachineTokenVerifierTest {
26+
class MachineTokenVerifierTests {
2727

2828
private final ObjectMapper objectMapper = new ObjectMapper();
2929

@@ -44,7 +44,8 @@ void verify_shouldReturnValidResponse_whenHttpStatusIs200() throws Exception {
4444

4545
MachineTokenVerifier verifier = new MachineTokenVerifier();
4646

47-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
47+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
48+
.build();
4849

4950
TokenVerificationResponse<MachineAuthVerificationData> result = verifier.verify(token, options);
5051

@@ -82,7 +83,8 @@ void verify_shouldThrowTokenVerificationException_whenHttpStatusIsNot200() throw
8283
staticHttpClient.when(HttpClient::newHttpClient).thenReturn(mockClient);
8384

8485
MachineTokenVerifier verifier = new MachineTokenVerifier();
85-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
86+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
87+
.build();
8688

8789
assertThrows(TokenVerificationException.class, () -> verifier.verify("mt_token", options));
8890
}
@@ -103,7 +105,8 @@ void verify_shouldThrowTokenVerificationException_whenJsonParsingFails() throws
103105

104106
MachineTokenVerifier verifier = new MachineTokenVerifier();
105107

106-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
108+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
109+
.build();
107110

108111
TokenVerificationException ex = assertThrows(TokenVerificationException.class,
109112
() -> verifier.verify("mt_token", options));

src/test/java/com/clerk/backend_api/helpers/security/token_verifiers/impl/OAuthTokenVerifierTests.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ void verify_shouldReturnValidResponse_whenHttpStatusIs200() throws Exception {
4646

4747
OAuthTokenVerifier verifier = new OAuthTokenVerifier();
4848

49-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
49+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
50+
.build();
5051

5152
TokenVerificationResponse<MachineAuthVerificationData> result = verifier.verify(token, options);
5253

@@ -85,7 +86,8 @@ void verify_shouldThrowTokenVerificationException_whenHttpStatusIsNot200() throw
8586

8687
OAuthTokenVerifier verifier = new OAuthTokenVerifier();
8788

88-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
89+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
90+
.build();
8991

9092
assertThrows(TokenVerificationException.class, () -> verifier.verify("oat_token", options));
9193
}
@@ -106,7 +108,8 @@ void verify_shouldThrowTokenVerificationException_whenJsonParsingFails() throws
106108

107109
OAuthTokenVerifier verifier = new OAuthTokenVerifier();
108110

109-
VerifyTokenOptions options = new VerifyTokenOptions.Builder().build();
111+
VerifyTokenOptions options =VerifyTokenOptions.secretKey("test_key")
112+
.build();
110113

111114
TokenVerificationException ex = assertThrows(TokenVerificationException.class,
112115
() -> verifier.verify("oat_token", options));

0 commit comments

Comments
 (0)