mirror of
				https://github.com/spring-projects/spring-security.git
				synced 2025-10-30 22:28:46 +00:00 
			
		
		
		
	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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user