@Override public TokenProvider apply(TokenConfiguration tokenConfiguration) { return tokenConfiguration.getTokenProvider(root); } });
@Override public TokenProvider apply(TokenConfiguration tokenConfiguration) { return tokenConfiguration.getTokenProvider(root); } });
/** * 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; }
/** * 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; }
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()); }