protected AuthScheme chooseAuthScheme(Map<String, String> challenges, String challengeHeaderKey) { HashSet<String> authSchemesLeftToTry = new HashSet<String>(challenges.keySet()); for (String authSchemeName: new String[]{"digest","basic"}) { if (authSchemesLeftToTry.remove(authSchemeName)) { AuthScheme authScheme = AUTH_SCHEME_REGISTRY.lookup(authSchemeName).create(null);; BasicHeader challenge = new BasicHeader(challengeHeaderKey, challenges.get(authSchemeName)); try { authScheme.processChallenge(challenge); } catch (MalformedChallengeException e) { logger.fine(e.getMessage() + " " + challenge); continue; } if (authScheme.isConnectionBased()) { logger.fine("Connection based " + authScheme); continue; } if (authScheme.getRealm() == null || authScheme.getRealm().length() <= 0) { logger.fine("Empty realm " + authScheme); continue; } return authScheme; } } for (String unsupportedSchemeName: authSchemesLeftToTry) { logger.fine("Unsupported http auth scheme: " + unsupportedSchemeName); } return null; }
/** * Create a new instance using a provider found via a {@link Lookup}. * * @param authSchemeProviderLookup Lookup that will return an {@link AuthScheme} * when asked for "Signatures" * @param credentials credentials containing the HTTP Signature username */ public HttpSignatureAuthenticationStrategy( final Lookup<AuthSchemeProvider> authSchemeProviderLookup, final Credentials credentials) { this(authSchemeProviderLookup.lookup("Signatures").create(null), credentials); }
public HttpClientContext build() { if (StringUtils.isEmpty(preemptiveAuth)) { preemptiveAuth = "true"; } HttpClientContext context = HttpClientContext.create(); if (authTypes.size() == 1 && Boolean.parseBoolean(preemptiveAuth) && !authTypes.contains(AuthTypes.ANONYMOUS)) { AuthCache authCache = new BasicAuthCache(); authCache.put(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), authSchemeLookup.lookup(authTypes.iterator().next()).create(context)); context.setCredentialsProvider(credentialsProvider); context.setAuthCache(authCache); } return context; } }
public HttpClientContext build() { if (StringUtils.isEmpty(preemptiveAuth)) { preemptiveAuth = "true"; } HttpClientContext context = HttpClientContext.create(); if (authTypes.size() == 1 && Boolean.parseBoolean(preemptiveAuth) && !authTypes.contains(AuthTypes.ANONYMOUS)) { AuthCache authCache = new BasicAuthCache(); authCache.put(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), authSchemeLookup.lookup(authTypes.iterator().next()).create(context)); context.setCredentialsProvider(credentialsProvider); context.setAuthCache(authCache); } return context; } }
public HttpClientContext build() { if (StringUtils.isEmpty(preemptiveAuth)) { preemptiveAuth = "true"; } HttpClientContext context = HttpClientContext.create(); if (authTypes.size() == 1 && Boolean.parseBoolean(preemptiveAuth) && !authTypes.contains(AuthTypes.ANONYMOUS)) { AuthCache authCache = new BasicAuthCache(); authCache.put(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), authSchemeLookup.lookup(authTypes.iterator().next()).create(context)); context.setCredentialsProvider(credentialsProvider); context.setAuthCache(authCache); } return context; } }
public HttpClientContext build() { if (StringUtils.isEmpty(preemptiveAuth)) { preemptiveAuth = "true"; } HttpClientContext context = HttpClientContext.create(); if (authTypes.size() == 1 && Boolean.parseBoolean(preemptiveAuth) && !authTypes.contains(AuthTypes.ANONYMOUS)) { AuthCache authCache = new BasicAuthCache(); authCache.put(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), authSchemeLookup.lookup(authTypes.iterator().next()).create(context)); context.setCredentialsProvider(credentialsProvider); context.setAuthCache(authCache); } return context; } }
protected AuthScheme chooseAuthScheme(Map<String, String> challenges, String challengeHeaderKey) { HashSet<String> authSchemesLeftToTry = new HashSet<String>(challenges.keySet()); for (String authSchemeName: new String[]{"digest","basic"}) { if (authSchemesLeftToTry.remove(authSchemeName)) { AuthScheme authScheme = AUTH_SCHEME_REGISTRY.lookup(authSchemeName).create(null);; BasicHeader challenge = new BasicHeader(challengeHeaderKey, challenges.get(authSchemeName)); try { authScheme.processChallenge(challenge); } catch (MalformedChallengeException e) { logger.fine(e.getMessage() + " " + challenge); continue; } if (authScheme.isConnectionBased()) { logger.fine("Connection based " + authScheme); continue; } if (authScheme.getRealm() == null || authScheme.getRealm().length() <= 0) { logger.fine("Empty realm " + authScheme); continue; } return authScheme; } } for (String unsupportedSchemeName: authSchemesLeftToTry) { logger.fine("Unsupported http auth scheme: " + unsupportedSchemeName); } return null; }
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge);
log.debug(String.format("Use provider %s for challenge %s", provider, challenge)); final AuthScheme authScheme = provider.create(context); authScheme.processChallenge(challenge); final AuthScope authScope = new AuthScope( continue; final AuthScheme authScheme = authSchemeProvider.create(context); authScheme.processChallenge(challenge); options.add(new AuthOption(authScheme, new NTCredentials(credentials.getUsername(), credentials.getPassword(),