@Before public void setUp() throws Exception { when(oAuth2ContextFactory.newContext(request, response, oAuth2IdentityProvider)).thenReturn(oauth2Context); when(baseContextFactory.newContext(request, response, baseIdentityProvider)).thenReturn(baseContext); when(server.getContextPath()).thenReturn(""); }
@Test public void create_context() { BaseIdentityProvider.Context context = underTest.newContext(request, response, identityProvider); assertThat(context.getRequest()).isEqualTo(request); assertThat(context.getResponse()).isEqualTo(response); assertThat(context.getServerBaseURL()).isEqualTo(PUBLIC_ROOT_URL); }
@Test public void authenticate() { BaseIdentityProvider.Context context = underTest.newContext(request, response, identityProvider); ArgumentCaptor<UserDto> userArgumentCaptor = ArgumentCaptor.forClass(UserDto.class); context.authenticate(USER_IDENTITY); assertThat(userIdentityAuthenticator.isAuthenticated()).isTrue(); verify(threadLocalUserSession).set(any(UserSession.class)); verify(jwtHttpHandler).generateToken(userArgumentCaptor.capture(), eq(request), eq(response)); assertThat(userArgumentCaptor.getValue().getLogin()).isEqualTo(USER_IDENTITY.getLogin()); assertThat(userArgumentCaptor.getValue().getExternalId()).isEqualTo(USER_IDENTITY.getProviderId()); assertThat(userArgumentCaptor.getValue().getExternalLogin()).isEqualTo(USER_IDENTITY.getProviderLogin()); assertThat(userArgumentCaptor.getValue().getExternalIdentityProvider()).isEqualTo("github"); }
private void handleBaseIdentityProvider(HttpServletRequest request, HttpServletResponse response, BaseIdentityProvider provider) { try { provider.init(baseContextFactory.newContext(request, response, provider)); } catch (UnauthorizedException e) { throw AuthenticationException.newBuilder() .setSource(Source.external(provider)) .setMessage(e.getMessage()) .setPublicMessage(e.getMessage()) .build(); } }
private void handleBaseIdentityProvider(HttpServletRequest request, HttpServletResponse response, BaseIdentityProvider provider) { try { provider.init(baseContextFactory.newContext(request, response, provider)); } catch (UnauthorizedException e) { throw AuthenticationException.newBuilder() .setSource(Source.external(provider)) .setMessage(e.getMessage()) .setPublicMessage(e.getMessage()) .build(); } }