private ServerOAuth2AuthorizedClientRepository getAuthorizedClientRepository() { if (this.authorizedClientRepository != null) { return this.authorizedClientRepository; } if (this.authorizedClientService != null) { return new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository(this.authorizedClientService); } return null; } }
@Override public <T extends OAuth2AuthorizedClient> Mono<T> loadAuthorizedClient(String clientRegistrationId, Authentication principal, ServerWebExchange exchange) { if (this.isPrincipalAuthenticated(principal)) { return this.authorizedClientService.loadAuthorizedClient(clientRegistrationId, principal.getName()); } else { return this.anonymousAuthorizedClientRepository.loadAuthorizedClient(clientRegistrationId, principal, exchange); } }
@Before public void setup() { this.authorizedClientService = mock(ReactiveOAuth2AuthorizedClientService.class); this.anonymousAuthorizedClientRepository = mock( ServerOAuth2AuthorizedClientRepository.class); this.authorizedClientRepository = new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository(this.authorizedClientService); this.authorizedClientRepository.setAnonymousAuthorizedClientRepository(this.anonymousAuthorizedClientRepository); }
@Test public void loadAuthorizedClientWhenAnonymousPrincipalThenLoadFromAnonymousRepository() { when(this.anonymousAuthorizedClientRepository.loadAuthorizedClient(any(), any(), any())).thenReturn(Mono.empty()); Authentication authentication = this.createAnonymousPrincipal(); this.authorizedClientRepository.loadAuthorizedClient(this.registrationId, authentication, this.exchange).block(); verify(this.anonymousAuthorizedClientRepository).loadAuthorizedClient(this.registrationId, authentication, this.exchange); }
@Test public void saveAuthorizedClientWhenAnonymousPrincipalThenSaveToAnonymousRepository() { when(this.anonymousAuthorizedClientRepository.saveAuthorizedClient(any(), any(), any())).thenReturn(Mono.empty()); Authentication authentication = this.createAnonymousPrincipal(); OAuth2AuthorizedClient authorizedClient = mock(OAuth2AuthorizedClient.class); this.authorizedClientRepository.saveAuthorizedClient(authorizedClient, authentication, this.exchange).block(); verify(this.anonymousAuthorizedClientRepository).saveAuthorizedClient(authorizedClient, authentication, this.exchange); }
@Test public void removeAuthorizedClientWhenAuthenticatedPrincipalThenRemoveFromService() { when(this.authorizedClientService.removeAuthorizedClient(any(), any())).thenReturn(Mono.empty()); Authentication authentication = this.createAuthenticatedPrincipal(); this.authorizedClientRepository.removeAuthorizedClient(this.registrationId, authentication, this.exchange).block(); verify(this.authorizedClientService).removeAuthorizedClient(this.registrationId, this.principalName); }
@Test public void setAuthorizedClientRepositoryWhenAuthorizedClientRepositoryIsNullThenThrowIllegalArgumentException() { assertThatThrownBy(() -> this.authorizedClientRepository.setAnonymousAuthorizedClientRepository(null)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void loadAuthorizedClientWhenAuthenticatedPrincipalThenLoadFromService() { when(this.authorizedClientService.loadAuthorizedClient(any(), any())).thenReturn(Mono.empty()); Authentication authentication = this.createAuthenticatedPrincipal(); this.authorizedClientRepository.loadAuthorizedClient(this.registrationId, authentication, this.exchange).block(); verify(this.authorizedClientService).loadAuthorizedClient(this.registrationId, this.principalName); }
@Test public void saveAuthorizedClientWhenAuthenticatedPrincipalThenSaveToService() { when(this.authorizedClientService.saveAuthorizedClient(any(), any())).thenReturn(Mono.empty()); Authentication authentication = this.createAuthenticatedPrincipal(); OAuth2AuthorizedClient authorizedClient = mock(OAuth2AuthorizedClient.class); this.authorizedClientRepository.saveAuthorizedClient(authorizedClient, authentication, this.exchange).block(); verify(this.authorizedClientService).saveAuthorizedClient(authorizedClient, authentication); }
@Test public void removeAuthorizedClientWhenAnonymousPrincipalThenRemoveFromAnonymousRepository() { when(this.anonymousAuthorizedClientRepository.removeAuthorizedClient(any(), any(), any())).thenReturn(Mono.empty()); Authentication authentication = this.createAnonymousPrincipal(); this.authorizedClientRepository.removeAuthorizedClient(this.registrationId, authentication, this.exchange).block(); verify(this.anonymousAuthorizedClientRepository).removeAuthorizedClient(this.registrationId, authentication, this.exchange); }
public OAuth2LoginSpec authorizedClientService(ReactiveOAuth2AuthorizedClientService authorizedClientService) { this.authorizedClientRepository = new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository(authorizedClientService); return this; }
@Override public Mono<Void> removeAuthorizedClient(String clientRegistrationId, Authentication principal, ServerWebExchange exchange) { if (this.isPrincipalAuthenticated(principal)) { return this.authorizedClientService.removeAuthorizedClient(clientRegistrationId, principal.getName()); } else { return this.anonymousAuthorizedClientRepository.removeAuthorizedClient(clientRegistrationId, principal, exchange); } }
private ServerOAuth2AuthorizedClientRepository getAuthorizedClientRepository() { if (this.authorizedClientRepository != null) { return this.authorizedClientRepository; } ServerOAuth2AuthorizedClientRepository result = getBeanOrNull(ServerOAuth2AuthorizedClientRepository.class); if (result == null) { ReactiveOAuth2AuthorizedClientService authorizedClientService = getAuthorizedClientService(); if (authorizedClientService != null) { result = new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository( authorizedClientService); } } return result; }
@Override public Mono<Void> saveAuthorizedClient(OAuth2AuthorizedClient authorizedClient, Authentication principal, ServerWebExchange exchange) { if (this.isPrincipalAuthenticated(principal)) { return this.authorizedClientService.saveAuthorizedClient(authorizedClient, principal); } else { return this.anonymousAuthorizedClientRepository.saveAuthorizedClient(authorizedClient, principal, exchange); } }
private ServerOAuth2AuthorizedClientRepository getAuthorizedClientRepository() { ServerOAuth2AuthorizedClientRepository result = this.authorizedClientRepository; if (result == null) { result = getBeanOrNull(ServerOAuth2AuthorizedClientRepository.class); } if (result == null) { ReactiveOAuth2AuthorizedClientService authorizedClientService = getAuthorizedClientService(); if (authorizedClientService != null) { result = new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository( authorizedClientService); } } return result; }
@Override public <T extends OAuth2AuthorizedClient> Mono<T> loadAuthorizedClient(String clientRegistrationId, Authentication principal, ServerWebExchange exchange) { if (this.isPrincipalAuthenticated(principal)) { return this.authorizedClientService.loadAuthorizedClient(clientRegistrationId, principal.getName()); } else { return this.anonymousAuthorizedClientRepository.loadAuthorizedClient(clientRegistrationId, principal, exchange); } }
private ServerOAuth2AuthorizedClientRepository getAuthorizedClientRepository() { if (this.authorizedClientRepository != null) { return this.authorizedClientRepository; } if (this.authorizedClientService != null) { return new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository(this.authorizedClientService); } return null; } }
@Override public Mono<Void> removeAuthorizedClient(String clientRegistrationId, Authentication principal, ServerWebExchange exchange) { if (this.isPrincipalAuthenticated(principal)) { return this.authorizedClientService.removeAuthorizedClient(clientRegistrationId, principal.getName()); } else { return this.anonymousAuthorizedClientRepository.removeAuthorizedClient(clientRegistrationId, principal, exchange); } }
public OAuth2LoginSpec authorizedClientService(ReactiveOAuth2AuthorizedClientService authorizedClientService) { this.authorizedClientRepository = new AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository(authorizedClientService); return this; }
@Override public Mono<Void> saveAuthorizedClient(OAuth2AuthorizedClient authorizedClient, Authentication principal, ServerWebExchange exchange) { if (this.isPrincipalAuthenticated(principal)) { return this.authorizedClientService.saveAuthorizedClient(authorizedClient, principal); } else { return this.anonymousAuthorizedClientRepository.saveAuthorizedClient(authorizedClient, principal, exchange); } }