Polish
This commit is contained in:
@@ -117,10 +117,9 @@ class CloudFoundrySecurityService {
|
||||
|
||||
private Map<String, String> extractTokenKeys(Map<?, ?> response) {
|
||||
Map<String, String> tokenKeys = new HashMap<String, String>();
|
||||
List<?> keys = (List<?>) response.get("keys");
|
||||
for (Object key : keys) {
|
||||
for (Object key : (List<?>) response.get("keys")) {
|
||||
Map<?, ?> tokenKey = (Map<?, ?>) key;
|
||||
tokenKeys.put((String) (tokenKey).get("kid"), (String) (tokenKey).get("value"));
|
||||
tokenKeys.put((String) tokenKey.get("kid"), (String) tokenKey.get("value"));
|
||||
}
|
||||
return tokenKeys;
|
||||
}
|
||||
|
||||
@@ -97,7 +97,6 @@ class Token {
|
||||
return getRequired(this.claims, "scope", List.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public String getKeyId() {
|
||||
return getRequired(this.header, "kid", String.class);
|
||||
}
|
||||
|
||||
@@ -52,8 +52,6 @@ class TokenValidator {
|
||||
validateAudience(token);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void validateAlgorithm(Token token) {
|
||||
String algorithm = token.getSignatureAlgorithm();
|
||||
if (algorithm == null) {
|
||||
@@ -83,9 +81,9 @@ class TokenValidator {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasValidKeyId(String tokenKeyId) {
|
||||
for (String keyId: this.tokenKeys.keySet()) {
|
||||
if (tokenKeyId.equals(keyId)) {
|
||||
private boolean hasValidKeyId(String tokenKey) {
|
||||
for (String candidate : this.tokenKeys.keySet()) {
|
||||
if (tokenKey.equals(candidate)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,8 @@ public class TokenValidatorTests {
|
||||
private static final Map<String, String> INVALID_KEYS = Collections
|
||||
.singletonMap("invalid-key", INVALID_KEY);
|
||||
|
||||
private static final Map<String, String> VALID_KEYS = Collections.singletonMap("valid-key", VALID_KEY);
|
||||
private static final Map<String, String> VALID_KEYS = Collections
|
||||
.singletonMap("valid-key", VALID_KEY);
|
||||
|
||||
@Before
|
||||
public void setup() throws Exception {
|
||||
@@ -100,8 +101,8 @@ public class TokenValidatorTests {
|
||||
given(this.securityService.fetchTokenKeys()).willReturn(INVALID_KEYS);
|
||||
String header = "{\"alg\": \"RS256\", \"kid\": \"valid-key\",\"typ\": \"JWT\"}";
|
||||
String claims = "{\"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\", \"scope\": [\"actuator.read\"]}";
|
||||
this.thrown.expect(
|
||||
AuthorizationExceptionMatcher.withReason(Reason.INVALID_KEY_ID));
|
||||
this.thrown
|
||||
.expect(AuthorizationExceptionMatcher.withReason(Reason.INVALID_KEY_ID));
|
||||
this.tokenValidator.validate(
|
||||
new Token(getSignedToken(header.getBytes(), claims.getBytes())));
|
||||
}
|
||||
@@ -131,8 +132,7 @@ public class TokenValidatorTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void validateTokenWhenValidShouldNotFetchTokenKeys()
|
||||
throws Exception {
|
||||
public void validateTokenWhenValidShouldNotFetchTokenKeys() throws Exception {
|
||||
ReflectionTestUtils.setField(this.tokenValidator, "tokenKeys", VALID_KEYS);
|
||||
given(this.securityService.getUaaUrl()).willReturn("http://localhost:8080/uaa");
|
||||
String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\",\"typ\": \"JWT\"}";
|
||||
@@ -144,7 +144,8 @@ public class TokenValidatorTests {
|
||||
|
||||
@Test
|
||||
public void validateTokenWhenSignatureInvalidShouldThrowException() throws Exception {
|
||||
ReflectionTestUtils.setField(this.tokenValidator, "tokenKeys", Collections.singletonMap("valid-key", INVALID_KEY));
|
||||
ReflectionTestUtils.setField(this.tokenValidator, "tokenKeys",
|
||||
Collections.singletonMap("valid-key", INVALID_KEY));
|
||||
given(this.securityService.getUaaUrl()).willReturn("http://localhost:8080/uaa");
|
||||
String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\",\"typ\": \"JWT\"}";
|
||||
String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\", \"scope\": [\"actuator.read\"]}";
|
||||
|
||||
Reference in New Issue
Block a user