/** * Register a new authentication scheme. * * @param name * @param scheme */ public static void registerScheme(String name, Class<? extends AuthScheme> scheme) { AuthPolicy.registerAuthScheme(name, scheme); }
protected void setupAuthentication( final HttpClient client, final String user, final String password ) { UsernamePasswordCredentials creds = new UsernamePasswordCredentials( user, password ); List<String> policies = new ArrayList<String>(); policies.add( NxBasicScheme.POLICY_NAME ); AuthPolicy.registerAuthScheme( NxBasicScheme.POLICY_NAME, NxBasicScheme.class ); client.getParams().setParameter( AuthPolicy.AUTH_SCHEME_PRIORITY, policies ); client.getState().setCredentials( AuthScope.ANY, creds ); }
/** * Enable NTLM authentication on http client * * @param httpClient HttpClient instance */ public static void addNTLM(HttpClient httpClient) { // disable preemptive authentication httpClient.getParams().setParameter(HttpClientParams.PREEMPTIVE_AUTHENTICATION, false); // register the jcifs based NTLMv2 implementation AuthPolicy.registerAuthScheme(AuthPolicy.NTLM, NTLMv2Scheme.class); ArrayList<String> authPrefs = new ArrayList<String>(); authPrefs.add(AuthPolicy.NTLM); authPrefs.add(AuthPolicy.DIGEST); authPrefs.add(AuthPolicy.BASIC); httpClient.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs); // make sure NTLM is always active needNTLM = true; // separate domain from username in credentials AuthScope authScope = new AuthScope(null, -1); NTCredentials credentials = (NTCredentials) httpClient.getState().getCredentials(authScope); if (credentials != null && credentials.getDomain() == null) { setCredentials(httpClient, credentials.getUserName(), credentials.getPassword()); } }
@Override public void applyTo(OwnCloudClient client) { AuthPolicy.registerAuthScheme(BearerAuthScheme.AUTH_POLICY, BearerAuthScheme.class); List<String> authPrefs = new ArrayList<String>(1); authPrefs.add(BearerAuthScheme.AUTH_POLICY); client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs); client.getParams().setAuthenticationPreemptive(true); client.getParams().setCredentialCharset(OwnCloudCredentialsFactory.CREDENTIAL_CHARSET); client.getState().setCredentials( AuthScope.ANY, new BearerCredentials(mAccessToken) ); }
AuthPolicy.registerAuthScheme("Negotiate", SpNegoScheme.class); ArrayList<String> authPrefs = new ArrayList<String>(); authPrefs.add("Negotiate");