parent
							
								
									bc50146f60
								
							
						
					
					
						commit
						50f8df6f07
					
				| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2002-2017 the original author or authors.
 | 
					 * Copyright 2002-2022 the original author or authors.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 * you may not use this file except in compliance with the License.
 | 
					 * you may not use this file except in compliance with the License.
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,7 @@ final class MockWebResponseBuilder {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private WebResponseData webResponseData() {
 | 
						private WebResponseData webResponseData() {
 | 
				
			||||||
		List<NameValuePair> responseHeaders = responseHeaders();
 | 
							List<NameValuePair> responseHeaders = responseHeaders();
 | 
				
			||||||
		HttpStatus status = this.exchangeResult.getStatus();
 | 
							HttpStatus status = HttpStatus.resolve(this.exchangeResult.getStatus().value());
 | 
				
			||||||
		return new WebResponseData(this.exchangeResult.getResponseBodyContent(), status.value(),
 | 
							return new WebResponseData(this.exchangeResult.getResponseBodyContent(), status.value(),
 | 
				
			||||||
				status.getReasonPhrase(), responseHeaders);
 | 
									status.getReasonPhrase(), responseHeaders);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2002-2021 the original author or authors.
 | 
					 * Copyright 2002-2022 the original author or authors.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 * you may not use this file except in compliance with the License.
 | 
					 * you may not use this file except in compliance with the License.
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ import reactor.core.publisher.Mono;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.springframework.core.ParameterizedTypeReference;
 | 
					import org.springframework.core.ParameterizedTypeReference;
 | 
				
			||||||
import org.springframework.http.HttpHeaders;
 | 
					import org.springframework.http.HttpHeaders;
 | 
				
			||||||
import org.springframework.http.HttpStatus;
 | 
					import org.springframework.http.HttpStatusCode;
 | 
				
			||||||
import org.springframework.http.MediaType;
 | 
					import org.springframework.http.MediaType;
 | 
				
			||||||
import org.springframework.security.core.GrantedAuthority;
 | 
					import org.springframework.security.core.GrantedAuthority;
 | 
				
			||||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
 | 
					import org.springframework.security.core.authority.SimpleGrantedAuthority;
 | 
				
			||||||
| 
						 | 
					@ -108,7 +108,7 @@ public class DefaultReactiveOAuth2UserService implements ReactiveOAuth2UserServi
 | 
				
			||||||
					authenticationMethod);
 | 
										authenticationMethod);
 | 
				
			||||||
			// @formatter:off
 | 
								// @formatter:off
 | 
				
			||||||
			Mono<Map<String, Object>> userAttributes = requestHeadersSpec.retrieve()
 | 
								Mono<Map<String, Object>> userAttributes = requestHeadersSpec.retrieve()
 | 
				
			||||||
					.onStatus(HttpStatus::isError, (response) ->
 | 
										.onStatus(HttpStatusCode::isError, (response) ->
 | 
				
			||||||
						parse(response)
 | 
											parse(response)
 | 
				
			||||||
							.map((userInfoErrorResponse) -> {
 | 
												.map((userInfoErrorResponse) -> {
 | 
				
			||||||
								String description = userInfoErrorResponse.getErrorObject().getDescription();
 | 
													String description = userInfoErrorResponse.getErrorObject().getDescription();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2002-2021 the original author or authors.
 | 
					 * Copyright 2002-2022 the original author or authors.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 * you may not use this file except in compliance with the License.
 | 
					 * you may not use this file except in compliance with the License.
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,6 @@ import org.springframework.mock.http.MockHttpInputMessage;
 | 
				
			||||||
import org.springframework.mock.http.client.MockClientHttpResponse;
 | 
					import org.springframework.mock.http.client.MockClientHttpResponse;
 | 
				
			||||||
import org.springframework.security.oauth2.core.OAuth2AuthorizationException;
 | 
					import org.springframework.security.oauth2.core.OAuth2AuthorizationException;
 | 
				
			||||||
import org.springframework.security.oauth2.core.OAuth2Error;
 | 
					import org.springframework.security.oauth2.core.OAuth2Error;
 | 
				
			||||||
import org.springframework.web.client.UnknownHttpStatusCodeException;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
 | 
					import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
 | 
				
			||||||
import static org.mockito.ArgumentMatchers.any;
 | 
					import static org.mockito.ArgumentMatchers.any;
 | 
				
			||||||
| 
						 | 
					@ -102,8 +101,9 @@ public class OAuth2ErrorResponseErrorHandlerTests {
 | 
				
			||||||
	@Test
 | 
						@Test
 | 
				
			||||||
	public void handleErrorWhenErrorResponseWithInvalidStatusCodeThenHandled() {
 | 
						public void handleErrorWhenErrorResponseWithInvalidStatusCodeThenHandled() {
 | 
				
			||||||
		CustomMockClientHttpResponse response = new CustomMockClientHttpResponse(new byte[0], 596);
 | 
							CustomMockClientHttpResponse response = new CustomMockClientHttpResponse(new byte[0], 596);
 | 
				
			||||||
		assertThatExceptionOfType(UnknownHttpStatusCodeException.class)
 | 
							assertThatExceptionOfType(IllegalArgumentException.class)
 | 
				
			||||||
				.isThrownBy(() -> this.errorHandler.handleError(response)).withMessage("596 : [no body]");
 | 
									.isThrownBy(() -> this.errorHandler.handleError(response))
 | 
				
			||||||
 | 
									.withMessage("No matching constant for [596]");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static final class CustomMockClientHttpResponse extends MockHttpInputMessage implements ClientHttpResponse {
 | 
						private static final class CustomMockClientHttpResponse extends MockHttpInputMessage implements ClientHttpResponse {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -81,7 +81,7 @@ public class DefaultServerOAuth2AuthorizationRequestResolverTests {
 | 
				
			||||||
		given(this.clientRegistrationRepository.findByRegistrationId(any())).willReturn(Mono.empty());
 | 
							given(this.clientRegistrationRepository.findByRegistrationId(any())).willReturn(Mono.empty());
 | 
				
			||||||
		assertThatExceptionOfType(ResponseStatusException.class)
 | 
							assertThatExceptionOfType(ResponseStatusException.class)
 | 
				
			||||||
				.isThrownBy(() -> resolve("/oauth2/authorization/not-found-id"))
 | 
									.isThrownBy(() -> resolve("/oauth2/authorization/not-found-id"))
 | 
				
			||||||
				.satisfies((ex) -> assertThat(ex.getStatus()).isEqualTo(HttpStatus.BAD_REQUEST));
 | 
									.satisfies((ex) -> assertThat(ex.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@Test
 | 
						@Test
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2002-2021 the original author or authors.
 | 
					 * Copyright 2002-2022 the original author or authors.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 * you may not use this file except in compliance with the License.
 | 
					 * you may not use this file except in compliance with the License.
 | 
				
			||||||
| 
						 | 
					@ -143,7 +143,7 @@ public final class AntPathRequestMatcher implements RequestMatcher, RequestVaria
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public boolean matches(HttpServletRequest request) {
 | 
						public boolean matches(HttpServletRequest request) {
 | 
				
			||||||
		if (this.httpMethod != null && StringUtils.hasText(request.getMethod())
 | 
							if (this.httpMethod != null && StringUtils.hasText(request.getMethod())
 | 
				
			||||||
				&& this.httpMethod != HttpMethod.resolve(request.getMethod())) {
 | 
									&& this.httpMethod != HttpMethod.valueOf(request.getMethod())) {
 | 
				
			||||||
			return false;
 | 
								return false;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (this.pattern.equals(MATCH_ALL)) {
 | 
							if (this.pattern.equals(MATCH_ALL)) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue