Realm.RealmBuilder realmBuilder = new Realm.RealmBuilder() .setPrincipal(authentication.getUsername()) .setPassword(authentication.getPassword()) .setUsePreemptiveAuth(authentication.isPreemptive()); realmBuilder.setScheme(Realm.AuthScheme.BASIC); realmBuilder.setScheme(Realm.AuthScheme.DIGEST); if (domain != null) realmBuilder.setNtlmDomain(domain); realmBuilder.setNtlmHost(ntlmHost).setScheme(NTLM); builder.setRealm(realmBuilder.build());
.setUri(req.getUri())// .setOmitQuery(true)// .setMethodName(req.getMethod())// .setUsePreemptiveAuth(true)// .parseProxyAuthenticateHeader(firstAuthHeader)// .build();
newRealm = new Realm.RealmBuilder() .clone(realm) .setUri(req.getUri()) .setMethodName(req.getMethod()) .setUsePreemptiveAuth(true) .parseWWWAuthenticateHeader(firstAuthHeader) .build();
realm = new Realm.RealmBuilder().clone(realm) .setScheme(realm.getAuthScheme()) .setUri(httpTransactionContext.request.getURI()) .setMethodName(req.getMethod()) .setUsePreemptiveAuth(true) .parseWWWAuthenticateHeader(auth) .build(); String lowerCaseAuth = auth.toLowerCase(Locale.ENGLISH); if (lowerCaseAuth.startsWith("basic")) {
new Realm.RealmBuilder().setPrincipal( nras.getUsername() ).setPassword( nras.getPassword() ).setNtlmDomain( nras.getNtlmDomain() ).setNtlmHost( nras.getNtlmHost() ).build(); new Realm.RealmBuilder().setPrincipal( uras.getUsername() ).setPassword( uras.getPassword() ).setUsePreemptiveAuth( true ).build();
newRealm = new Realm.RealmBuilder()// .clone(realm)// .setScheme(realm.getAuthScheme())// .setUri(request.getURI())// .setMethodName(request.getMethod())// .setUsePreemptiveAuth(true)// .parseWWWAuthenticateHeader(wwwAuthHeaders.get(0))// .build();
return true; } else { newRealm = new Realm.RealmBuilder().clone(realm)// .setScheme(realm.getAuthScheme())// .setUri(request.getURI())// .setOmitQuery(true)// .setMethodName(HttpMethod.CONNECT.getName())// .setUsePreemptiveAuth(true)// .parseProxyAuthenticateHeader(proxyAuthHeaders.get(0))// .build();
Realm.RealmBuilder realmBuilder = new Realm.RealmBuilder() .setPrincipal(authentication.getUsername()) .setPassword(authentication.getPassword()) .setUsePreemptiveAuth(authentication.isPreemptive()); realmBuilder.setScheme(Realm.AuthScheme.BASIC); } else if (authentication.getType() == HttpAuthenticationType.DIGEST) { realmBuilder.setScheme(Realm.AuthScheme.DIGEST); } else if (authentication.getType() == HttpAuthenticationType.NTLM) { String domain = ((HttpAuthentication.HttpNtlmAuthentication) authentication).getDomain(); if (domain != null) { realmBuilder.setNtlmDomain(domain); realmBuilder.setNtlmHost(ntlmHost).setScheme(NTLM); builder.setRealm(realmBuilder.build());
final Realm.RealmBuilder realm = new Realm.RealmBuilder(); if (username != null) { realm.setPrincipal(username); realm.setPassword(password); realm.setUsePreemptiveAuth(true); realm.setScheme(Realm.AuthScheme.BASIC); builder.setRealm(realm.build());
throw new RuntimeException("Scheme " + this.scheme + " not supported by the UrlFetch WS backend."); builder.setRealm((new RealmBuilder()).setScheme(authScheme).setPrincipal(this.username).setPassword(this.password) .setUsePreemptiveAuth(true).build());
@Override public final void init(final Map<String, String> properties) { // map properties url = properties.get(PROPERTY_URL); final String basicAuthUser = properties.get(PROPERTY_BASIC_AUTH_USER); final String basicAuthPassword = properties.get(PROPERTY_BASIC_AUTH_PASSWORD); final String proxyHost = properties.get(PROPERTY_PROXY_HOST); final String proxyUser = properties.get(PROPERTY_PROXY_USER); final String proxyPassword = properties.get(PROPERTY_PROXY_PASSWORD); final Integer proxyPort = convertStringToInt(properties.get(PROPERTY_PROXY_PORT), null); final Integer requestTimeoutInMs = convertStringToInt(properties.get(PROPERTY_REQUEST_TIMEOUT), DEFAULT_REQUEST_TIMEOUT); builder = new AsyncHttpClientConfig.Builder(); if (basicAuthUser != null && basicAuthPassword != null) { final Realm realm = new Realm.RealmBuilder().setPrincipal(basicAuthUser).setPassword(basicAuthPassword).setUsePreemptiveAuth(true) .setScheme(AuthScheme.BASIC).build(); builder.setRealm(realm); } // Add Proxy Support - use authentication if user and password properties are set if (proxyHost != null && proxyPort != null) { final ProxyServer proxy; if (proxyUser != null && proxyPassword != null) { proxy = new ProxyServer(proxyHost, proxyPort, proxyUser, proxyPassword); } else { proxy = new ProxyServer(proxyHost, proxyPort); } builder.setProxyServer(proxy); } builder.setRequestTimeoutInMs(requestTimeoutInMs); builder.setIdleConnectionTimeoutInMs(DEFAULT_REQUEST_IDLE_TIMEOUT); }
public RealmBuilder clone(Realm clone) { setRealmName(clone.getRealmName()); setAlgorithm(clone.getAlgorithm()); setMethodName(clone.getMethodName()); setNc(clone.getNc()); setNonce(clone.getNonce()); setPassword(clone.getPassword()); setPrincipal(clone.getPrincipal()); setEnconding(clone.getEncoding()); setOpaque(clone.getOpaque()); setQop(clone.getQop()); setScheme(clone.getScheme()); setUri(clone.getUri()); setUsePreemptiveAuth(clone.getUsePreemptiveAuth()); setNtlmDomain(clone.getNtlmDomain()); setNtlmHost(clone.getNtlmHost()); setNtlmMessageType2Received(clone.isNtlmMessageType2Received()); setUseAbsoluteURI(clone.isUseAbsoluteURI()); setOmitQuery(clone.isOmitQuery()); setTargetProxy(clone.isTargetProxy()); return this; }
public RealmBuilder parseWWWAuthenticateHeader(String headerLine) { setRealmName(match(headerLine, "realm")); setNonce(match(headerLine, "nonce")); String algorithm = match(headerLine, "algorithm"); if (isNonEmpty(algorithm)) { setAlgorithm(algorithm); } setOpaque(match(headerLine, "opaque")); String rawQop = match(headerLine, "qop"); if (rawQop != null) { setQop(parseRawQop(rawQop)); } if (isNonEmpty(getNonce())) { setScheme(AuthScheme.DIGEST); } else { setScheme(AuthScheme.BASIC); } return this; }
public AHCWebClient(Injector injector, Web.Auth authType, String username, String password, String url, Map<String, String> headers, Class<T> transporting, Key<? extends Transport> transport) { this.injector = injector; this.url = url; this.headers = (null == headers) ? null : ImmutableMap.copyOf(headers); this.authType = authType; this.username = username; this.password = password; this.transporting = transporting; this.transport = transport; // configure auth AsyncHttpClientConfig.Builder c = new AsyncHttpClientConfig.Builder(); if (null != authType) { Realm.RealmBuilder b = new Realm.RealmBuilder(); // TODO: Add support for Kerberos and SPNEGO Realm.AuthScheme scheme = authType.equals(Web.Auth.BASIC) ? Realm.AuthScheme.BASIC : Realm.AuthScheme.DIGEST; b.setPrincipal(username).setPassword(password).setScheme(scheme); c.setRealm(b.build()); } this.httpClient = new AsyncHttpClient(c.build()); }
private void testOldDigest(String qop) { String user = "user"; String pass = "pass"; String realm = "realm"; String nonce = "nonce"; String method = "GET"; Uri uri = Uri.create("http://ahc.io/foo"); RealmBuilder builder = new RealmBuilder(); builder.setPrincipal(user).setPassword(pass); builder.setNonce(nonce); builder.setUri(uri); builder.setMethodName(method); builder.setRealmName(realm); builder.setQop(qop); builder.setScheme(AuthScheme.DIGEST); Realm orig = builder.build(); String ha1 = getMd5(user + ":" + realm + ":" + pass); String ha2 = getMd5(method + ":" + uri.getPath()); String expectedResponse = getMd5(ha1 + ":" + nonce + ":" + ha2); Assert.assertEquals(expectedResponse, orig.getResponse()); }
public RealmBuilder clone(Realm clone) { return setRealmName(clone.getRealmName())// .setAlgorithm(clone.getAlgorithm())// .setMethodName(clone.getMethodName())// .setNc(clone.getNc())// .setNonce(clone.getNonce())// .setPassword(clone.getPassword())// .setPrincipal(clone.getPrincipal())// .setCharset(clone.getCharset())// .setOpaque(clone.getOpaque())// .setQop(clone.getQop())// .setScheme(clone.getScheme())// .setUri(clone.getUri())// .setUsePreemptiveAuth(clone.getUsePreemptiveAuth())// .setNtlmDomain(clone.getNtlmDomain())// .setNtlmHost(clone.getNtlmHost())// .setUseAbsoluteURI(clone.isUseAbsoluteURI())// .setOmitQuery(clone.isOmitQuery())// .setTargetProxy(clone.isTargetProxy()); }
private void doTest(boolean usePreemptiveAuth) throws UnknownHostException, InterruptedException, ExecutionException { try (AsyncHttpClient client = getAsyncHttpClient(new AsyncHttpClientConfig.Builder().setSSLContext(createSSLContext(new AtomicBoolean(true))).build())) { Request request = new RequestBuilder("GET") .setProxyServer(basicProxy()) .setUrl(getTargetUrl2()) .setRealm(new Realm.RealmBuilder() .setPrincipal("user") .setPassword("passwd") .setScheme(AuthScheme.BASIC) .setUsePreemptiveAuth(usePreemptiveAuth) .build()) .build(); Future<Response> responseFuture = client.executeRequest(request); Response response = responseFuture.get(); Assert.assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK); Assert.assertEquals("127.0.0.1:" + port2, response.getHeader("x-host")); } }
public RealmBuilder clone(Realm clone) { return setRealmName(clone.getRealmName())// .setAlgorithm(clone.getAlgorithm())// .setMethodName(clone.getMethodName())// .setNc(clone.getNc())// .setNonce(clone.getNonce())// .setPassword(clone.getPassword())// .setPrincipal(clone.getPrincipal())// .setCharset(clone.getCharset())// .setOpaque(clone.getOpaque())// .setQop(clone.getQop())// .setScheme(clone.getScheme())// .setUri(clone.getUri())// .setUsePreemptiveAuth(clone.getUsePreemptiveAuth())// .setNtlmDomain(clone.getNtlmDomain())// .setNtlmHost(clone.getNtlmHost())// .setUseAbsoluteURI(clone.isUseAbsoluteURI())// .setOmitQuery(clone.isOmitQuery())// .setTargetProxy(clone.isTargetProxy()); }
/** Asynchronously gets access and refresh tokens for given user from the authorization server * using the Resource owner credentials flow. */ public CompletableFuture<Tokens> getTokensForClient( final String tokenEndpoint, final String clientId, final String clientSecret, final String scope) { try { Realm basicAuthRealm = new Realm.RealmBuilder() .setPrincipal(clientId) .setPassword(clientSecret) .setScheme(Realm.AuthScheme.BASIC) .build(); final AsyncHttpClient.BoundRequestBuilder requestBuilder = httpClient.preparePost(tokenEndpoint) .setRealm(basicAuthRealm) .setHeader("Content-Type", "application/x-www-form-urlencoded") .addQueryParameter("grant_type", "client_credentials") .addQueryParameter("scope", scope); return CompletableFutureUtils.wrap(requestBuilder.execute()).thenApply((Response resp) -> parseResponse(resp, requestBuilder)); } catch (IOException e) { throw new RuntimeException(e);//TODO } }
public RealmBuilder parseProxyAuthenticateHeader(String headerLine) { setRealmName(match(headerLine, "realm")); setNonce(match(headerLine, "nonce")); setOpaque(match(headerLine, "opaque")); String algorithm = match(headerLine, "algorithm"); if (isNonEmpty(algorithm)) { setAlgorithm(algorithm); } setQop(match(headerLine, "qop")); if (isNonEmpty(getNonce())) { setScheme(AuthScheme.DIGEST); } else { setScheme(AuthScheme.BASIC); } setTargetProxy(true); return this; }