alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 * $Header: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth/AuthScheme.java,v 1.4.2.2 2004/02/22 18:21:14 olegk Exp $
 * $Revision: 1.4.2.2 $
 * $Date: 2004/02/22 18:21:14 $
 *
 * ====================================================================
 *
 *  Copyright 2002-2004 The Apache Software Foundation
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * .
 *
 * [Additional notices, if required by prior licensing conditions]
 *
 */

package org.apache.commons.httpclient.auth;

import org.apache.commons.httpclient.Credentials;

/**
 * 

* This interface represents an abstract authentication scheme. *

*

* An authentication scheme should be able to support the following * functions: *

    *
  • Provide its textual designation *
  • Provide its parameters, if available *
  • Provide the realm this authentication scheme is applicable to, * if available *
  • Generate authorization string for the given set of credentials, * request method and URI as specificed in the HTTP request line *
*

*

* Authentication schemes may ignore method name and URI parameters * if they are not relevant for the given authentication mechanism *

* * @author Oleg Kalnichevski * @author Adrian Sutton * * @since 2.0beta1 */ public interface AuthScheme { /** * Returns textual designation of the given authentication scheme. * * @return the name of the given authentication scheme */ String getSchemeName(); /** * Returns authentication parameter with the given name, if available. * * @param name The name of the parameter to be returned * * @return the parameter with the given name */ String getParameter(final String name); /** * Returns authentication realm. If the concept of an authentication * realm is not applicable to the given authentication scheme, returns * null. * * @return the authentication realm */ String getRealm(); /** * Returns a String identifying the authentication challenge. This is * used, in combination with the host and port to determine if * authorization has already been attempted or not. Schemes which * require multiple requests to complete the authentication should * return a different value for each stage in the request. * *

Additionally, the ID should take into account any changes to the * authentication challenge and return a different value when appropriate. * For example when the realm changes in basic authentication it should be * considered a different authentication attempt and a different value should * be returned.

* * @return String a String identifying the authentication challenge. The * returned value may be null. */ String getID(); /** * Produces an authorization string for the given set of {@link Credentials}, * method name and URI using the given authentication scheme. * * @param credentials The set of credentials to be used for athentication * @param method The name of the method that requires authorization. * This parameter may be ignored, if it is irrelevant * or not applicable to the given authentication scheme * @param uri The URI for which authorization is needed. * This parameter may be ignored, if it is irrelevant or not * applicable to the given authentication scheme * @throws AuthenticationException if authorization string cannot * be generated due to an authentication failure * * @return the authorization string * * @see org.apache.commons.httpclient.HttpMethod#getName() * @see org.apache.commons.httpclient.HttpMethod#getPath() */ String authenticate(Credentials credentials, String method, String uri) throws AuthenticationException; }
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.