Fix NullPointerException
- Caused by a malformed WWW-Authenticate value Closes gh-9364
This commit is contained in:
parent
acb5ae607b
commit
580b988e7f
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -70,6 +70,9 @@ public class OAuth2ErrorResponseErrorHandler implements ResponseErrorHandler {
|
|||
return null;
|
||||
}
|
||||
BearerTokenError bearerTokenError = getBearerToken(wwwAuthenticateHeader);
|
||||
if (bearerTokenError == null) {
|
||||
return new OAuth2Error(OAuth2ErrorCodes.SERVER_ERROR, null, null);
|
||||
}
|
||||
String errorCode = (bearerTokenError.getCode() != null) ? bearerTokenError.getCode()
|
||||
: OAuth2ErrorCodes.SERVER_ERROR;
|
||||
String errorDescription = bearerTokenError.getDescription();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -58,4 +58,13 @@ public class OAuth2ErrorResponseErrorHandlerTests {
|
|||
.withMessage("[insufficient_scope] The access token expired");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleErrorWhenErrorResponseWithInvalidWwwAuthenticateHeaderThenHandled() {
|
||||
String invalidWwwAuthenticateHeader = "Unauthorized";
|
||||
MockClientHttpResponse response = new MockClientHttpResponse(new byte[0], HttpStatus.BAD_REQUEST);
|
||||
response.getHeaders().add(HttpHeaders.WWW_AUTHENTICATE, invalidWwwAuthenticateHeader);
|
||||
assertThatExceptionOfType(OAuth2AuthorizationException.class)
|
||||
.isThrownBy(() -> this.errorHandler.handleError(response)).withMessage("[server_error] ");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue