|
@@ -13,7 +13,18 @@
|
|
|
* See the License for the specific language governing permissions and
|
|
|
* limitations under the License.
|
|
|
*/
|
|
|
-package org.springframework.security.samples;
|
|
|
+package sample;
|
|
|
+
|
|
|
+import java.net.URI;
|
|
|
+import java.net.URL;
|
|
|
+import java.net.URLDecoder;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
|
|
|
import com.gargoylesoftware.htmlunit.WebClient;
|
|
@@ -25,29 +36,22 @@ import com.gargoylesoftware.htmlunit.html.HtmlPage;
|
|
|
import org.junit.Before;
|
|
|
import org.junit.Test;
|
|
|
import org.junit.runner.RunWith;
|
|
|
+
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.boot.SpringBootConfiguration;
|
|
|
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
|
-import org.springframework.context.annotation.Bean;
|
|
|
-import org.springframework.context.annotation.ComponentScan;
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
|
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
|
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
|
|
import org.springframework.security.core.GrantedAuthority;
|
|
|
-import org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService;
|
|
|
-import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService;
|
|
|
import org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient;
|
|
|
import org.springframework.security.oauth2.client.endpoint.OAuth2AuthorizationCodeGrantRequest;
|
|
|
import org.springframework.security.oauth2.client.registration.ClientRegistration;
|
|
|
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
|
|
|
import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
|
|
|
import org.springframework.security.oauth2.client.userinfo.OAuth2UserService;
|
|
|
-import org.springframework.security.oauth2.client.web.AuthenticatedPrincipalOAuth2AuthorizedClientRepository;
|
|
|
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter;
|
|
|
-import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository;
|
|
|
import org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter;
|
|
|
import org.springframework.security.oauth2.core.OAuth2AccessToken;
|
|
|
import org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse;
|
|
@@ -60,17 +64,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|
|
import org.springframework.web.util.UriComponents;
|
|
|
import org.springframework.web.util.UriComponentsBuilder;
|
|
|
|
|
|
-import java.net.URI;
|
|
|
-import java.net.URL;
|
|
|
-import java.net.URLDecoder;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Optional;
|
|
|
-import java.util.Set;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
import static org.mockito.ArgumentMatchers.any;
|
|
|
import static org.mockito.Mockito.mock;
|
|
@@ -85,7 +78,7 @@ import static org.mockito.Mockito.when;
|
|
|
* @since 5.0
|
|
|
*/
|
|
|
@RunWith(SpringRunner.class)
|
|
|
-@SpringBootTest
|
|
|
+@SpringBootTest(classes={ OAuth2LoginApplication.class, OAuth2LoginApplicationTests.SecurityTestConfig.class })
|
|
|
@AutoConfigureMockMvc
|
|
|
public class OAuth2LoginApplicationTests {
|
|
|
private static final String AUTHORIZATION_BASE_URI = "/oauth2/authorization";
|
|
@@ -405,20 +398,4 @@ public class OAuth2LoginApplicationTests {
|
|
|
return userService;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- @SpringBootConfiguration
|
|
|
- @EnableAutoConfiguration
|
|
|
- @ComponentScan(basePackages = "sample.web")
|
|
|
- public static class SpringBootApplicationTestConfig {
|
|
|
-
|
|
|
- @Bean
|
|
|
- public OAuth2AuthorizedClientService authorizedClientService(ClientRegistrationRepository clientRegistrationRepository) {
|
|
|
- return new InMemoryOAuth2AuthorizedClientService(clientRegistrationRepository);
|
|
|
- }
|
|
|
-
|
|
|
- @Bean
|
|
|
- public OAuth2AuthorizedClientRepository authorizedClientRepository(OAuth2AuthorizedClientService authorizedClientService) {
|
|
|
- return new AuthenticatedPrincipalOAuth2AuthorizedClientRepository(authorizedClientService);
|
|
|
- }
|
|
|
- }
|
|
|
}
|