@Override public TokenProvider apply(TokenConfiguration tokenConfiguration) { return tokenConfiguration.getTokenProvider(root); } });
@Test public void testConfigOptions2() { long exp = getConfig(TokenConfiguration.class).getParameters().getConfigValue(TokenProvider.PARAM_TOKEN_EXPIRATION, TokenProviderImpl.DEFAULT_TOKEN_EXPIRATION); assertEquals(60, exp); }
@Test public void testEmptyConstructor() { TokenConfiguration composite = new CompositeTokenConfiguration(); assertEquals(TokenConfiguration.NAME, composite.getName()); }
@Test public void testSetTokenConfiguration() { TokenConfiguration tc = Mockito.mock(TokenConfiguration.class); when(tc.getParameters()).thenReturn(PARAMS); securityProvider.setTokenConfiguration(tc); assertSame(tc, securityProvider.getConfiguration(TokenConfiguration.class)); for (SecurityConfiguration sc : securityProvider.getConfigurations()) { if (sc instanceof TokenConfiguration) { assertSame(tc, sc); } } assertEquals(PARAMS, securityProvider.getParameters(TokenConfiguration.NAME)); }
@Override public TokenProvider apply(TokenConfiguration tokenConfiguration) { return tokenConfiguration.getTokenProvider(root); } });
@Test public void testRefresh() { boolean refresh = getConfig(TokenConfiguration.class).getParameters().getConfigValue(TokenProvider.PARAM_TOKEN_REFRESH, false); assertTrue(refresh); }
/** * Retrieve the token provider * @return the token provider or {@code null}. */ @Nullable private TokenProvider getTokenProvider() { TokenProvider provider = null; SecurityProvider securityProvider = getSecurityProvider(); Root root = getRoot(); if (root != null && securityProvider != null) { TokenConfiguration tokenConfig = securityProvider.getConfiguration(TokenConfiguration.class); provider = tokenConfig.getTokenProvider(root); } if (provider == null && callbackHandler != null) { try { TokenProviderCallback tcCallback = new TokenProviderCallback(); callbackHandler.handle(new Callback[] {tcCallback}); provider = tcCallback.getTokenProvider(); } catch (IOException | UnsupportedCallbackException e) { log.warn(e.getMessage()); } } return provider; }
/** * Retrieve the token provider * @return the token provider or {@code null}. */ @Nullable private TokenProvider getTokenProvider() { TokenProvider provider = null; SecurityProvider securityProvider = getSecurityProvider(); Root root = getRoot(); if (root != null && securityProvider != null) { TokenConfiguration tokenConfig = securityProvider.getConfiguration(TokenConfiguration.class); provider = tokenConfig.getTokenProvider(root); } if (provider == null && callbackHandler != null) { try { TokenProviderCallback tcCallback = new TokenProviderCallback(); callbackHandler.handle(new Callback[] {tcCallback}); provider = tcCallback.getTokenProvider(); } catch (IOException | UnsupportedCallbackException e) { log.warn(e.getMessage()); } } return provider; }
/** * Retrieve the token provider * @return the token provider or {@code null}. */ @CheckForNull private TokenProvider getTokenProvider() { TokenProvider provider = null; SecurityProvider securityProvider = getSecurityProvider(); Root root = getRoot(); if (root != null && securityProvider != null) { TokenConfiguration tokenConfig = securityProvider.getConfiguration(TokenConfiguration.class); provider = tokenConfig.getTokenProvider(root); } if (provider == null && callbackHandler != null) { try { TokenProviderCallback tcCallback = new TokenProviderCallback(); callbackHandler.handle(new Callback[] {tcCallback}); provider = tcCallback.getTokenProvider(); } catch (IOException e) { log.warn(e.getMessage()); } catch (UnsupportedCallbackException e) { log.warn(e.getMessage()); } } return provider; }
ContentSession session = login(getAdminCredentials()); Root r = session.getLatestRoot(); tokenProviders.add(tc.getTokenProvider(r)); sessions.add(session);
@Test public void testValidTokenCredentials() throws Exception { Root root = adminSession.getLatestRoot(); TokenConfiguration tokenConfig = getSecurityProvider().getConfiguration(TokenConfiguration.class); TokenProvider tp = tokenConfig.getTokenProvider(root); SimpleCredentials sc = (SimpleCredentials) getAdminCredentials(); TokenInfo info = tp.createToken(sc.getUserID(), Collections.<String, Object>emptyMap()); ContentSession cs = login(new TokenCredentials(info.getToken())); try { assertEquals(sc.getUserID(), cs.getAuthInfo().getUserID()); } finally { cs.close(); } }
@Test public void testValidTokenCredentials() throws Exception { Root root = adminSession.getLatestRoot(); TokenConfiguration tc = getSecurityProvider().getConfiguration(TokenConfiguration.class); TokenProvider tp = tc.getTokenProvider(root); SimpleCredentials sc = (SimpleCredentials) getAdminCredentials(); TokenInfo info = tp.createToken(sc.getUserID(), Collections.<String, Object>emptyMap()); ContentSession cs = login(new TokenCredentials(info.getToken())); try { assertEquals(sc.getUserID(), cs.getAuthInfo().getUserID()); } finally { cs.close(); } }
/** * @see <a href="https://issues.apache.org/jira/browse/OAK-1985">OAK-1985</a> */ @Test public void testTokenValidationIsCaseInsensitive() throws Exception { Root root = adminSession.getLatestRoot(); TokenConfiguration tokenConfig = getSecurityProvider().getConfiguration(TokenConfiguration.class); TokenProvider tp = tokenConfig.getTokenProvider(root); String userId = ((SimpleCredentials) getAdminCredentials()).getUserID(); TokenInfo info = tp.createToken(userId.toUpperCase(), Collections.<String, Object>emptyMap()); assertTrue(info.matches(new TokenCredentials(info.getToken()))); assertEquals(userId, info.getUserId()); info = tp.getTokenInfo(info.getToken()); assertTrue(info.matches(new TokenCredentials(info.getToken()))); assertEquals(userId, info.getUserId()); }