001/*
002 * ====================================================================
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements.  See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership.  The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License.  You may obtain a copy of the License at
010 *
011 *   http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied.  See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 * ====================================================================
020 *
021 * This software consists of voluntary contributions made by many
022 * individuals on behalf of the Apache Software Foundation.  For more
023 * information on the Apache Software Foundation, please see
024 * <http://www.apache.org/>.
025 *
026 */
027
028package org.apache.http.client.config;
029
030/**
031 * Standard authentication schemes supported by HttpClient.
032 *
033 * @since 4.3
034 */
035public final class AuthSchemes {
036
037    /**
038     * Basic authentication scheme as defined in RFC 2617 (considered inherently
039     * insecure, but most widely supported).
040     */
041    public static final String BASIC = "Basic";
042
043    /**
044     * Digest authentication scheme as defined in RFC 2617.
045     */
046    public static final String DIGEST = "Digest";
047
048    /**
049     * The NTLM authentication scheme is a proprietary Microsoft Windows
050     * authentication protocol as defined in [MS-NLMP].
051     */
052    public static final String NTLM = "NTLM";
053
054    /**
055     * SPNEGO authentication scheme as defined in RFC 4559 and RFC 4178
056     * (considered to be the most secure among currently supported
057     * authentication schemes if Kerberos is selected).
058     */
059    public static final String SPNEGO = "Negotiate";
060
061    /**
062     * Kerberos authentication scheme as defined in RFC 4120
063     * (considered to be the most secure among currently supported
064     * authentication schemes).
065     */
066    public static final String KERBEROS = "Kerberos";
067
068    private AuthSchemes() {
069    }
070
071}