javax.sip.header.WWWAuthenticateHeader Maven / Gradle / Ivy
/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Unpublished - rights reserved under the Copyright Laws of the United States.
* Copyright ? 2003 Sun Microsystems, Inc. All rights reserved.
* Copyright ? 2005 BEA Systems, Inc. All rights reserved.
*
* Use is subject to license terms.
*
* This distribution may include materials developed by third parties.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* Module Name : JSIP Specification
* File Name : WWWAuthenticateHeader.java
* Author : Phelim O'Doherty
*
* HISTORY
* Version Date Author Comments
* 1.1 08/10/2002 Phelim O'Doherty
* 1.2 13/06/2005 Phelim O'Doherty Deprecated get/set URI parameter
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package javax.sip.header;
import java.text.ParseException;
import javax.sip.address.URI;
/**
* This interface represents the WWW-Authenticate response-header. A
* WWW-Authenticate header field value contains an authentication challenge.
* When a UAS receives a request from a UAC, the UAS MAY authenticate
* the originator before the request is processed. If no credentials
* (in the Authorization header field) are provided in the request, the
* UAS can challenge the originator to provide credentials by rejecting
* the request with a 401 (Unauthorized) status code. The WWW-Authenticate
* response-header field MUST be included in 401 (Unauthorized) response
* messages. The field value consists of at least one challenge that indicates
* the authentication scheme(s) and parameters applicable to the realm.
*
* For Example:
* WWW-Authenticate: Digest realm="atlanta.com", domain="sip:boxesbybob.com",
* qop="auth", nonce="f84f1cec41e6cbe5aea9c8e88d359", opaque="", stale=FALSE,
* algorithm=MD5
*
* @see Parameters
* @author BEA Systems, NIST
* @version 1.2
*/
public interface WWWAuthenticateHeader extends Parameters, Header {
/**
* Sets the scheme of the challenge information for this WWWAuthenticateHeader.
* For example, Digest.
*
* @param scheme - the new string value that identifies the challenge
* information scheme.
*/
public void setScheme(String scheme);
/**
* Returns the scheme of the challenge information for this WWWAuthenticateHeader.
*
* @return the string value of the challenge information.
*/
public String getScheme();
/**
* Sets the Realm of the WWWAuthenicateHeader to the realm
* parameter value. Realm strings MUST be globally unique. It is
* RECOMMENDED that a realm string contain a hostname or domain name.
* Realm strings SHOULD present a human-readable identifier that can be
* rendered to a user.
*
* @param realm the new Realm String of this WWWAuthenicateHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the realm.
*/
public void setRealm(String realm) throws ParseException;
/**
* Returns the Realm value of this WWWAuthenicateHeader. This convenience
* method returns only the realm of the complete Challenge.
*
* @return the String representing the Realm information, null if value is
* not set.
*/
public String getRealm();
/**
* Sets the Nonce of the WWWAuthenicateHeader to the nonce
* parameter value.
*
* @param nonce - the new nonce String of this WWWAuthenicateHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the nonce value.
*/
public void setNonce(String nonce) throws ParseException;
/**
* Returns the Nonce value of this WWWAuthenicateHeader.
*
* @return the String representing the nonce information, null if value is
* not set.
*/
public String getNonce();
/**
* Sets the URI of the WWWAuthenicateHeader to the URI parameter value.
*
* @param uri - the new URI of this WWWAuthenicateHeader.
* @deprecated Since v1.2. URI is not a supported parameter for this header.
*/
public void setURI(URI uri);
/**
* Returns the URI value of this WWWAuthenicateHeader, for example DigestURI.
*
* @return the URI representing the URI information, null if value is
* not set.
* @deprecated Since v1.2. URI is not a supported parameter for this
* header. This method should return null.
*/
public URI getURI();
/**
* Sets the Algorithm of the WWWAuthenicateHeader to the new
* algorithm parameter value.
*
* @param algorithm - the new algorithm String of this WWWAuthenicateHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the algorithm value.
*/
public void setAlgorithm(String algorithm) throws ParseException;
/**
* Returns the Algorithm value of this WWWAuthenicateHeader.
*
* @return the String representing the Algorithm information, null if the
* value is not set.
*/
public String getAlgorithm();
/**
* Sets the Qop value of the WWWAuthenicateHeader to the new
* qop parameter value.
*
* @param qop - the new Qop string of this WWWAuthenicateHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the Qop value.
*/
public void setQop(String qop) throws ParseException;
/**
* Returns the Qop value of this WWWAuthenicateHeader.
*
* @return the string representing the Qop information, null if the
* value is not set.
*/
public String getQop();
/**
* Sets the Opaque value of the WWWAuthenicateHeader to the new
* opaque parameter value.
*
* @param opaque - the new Opaque string of this WWWAuthenicateHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the opaque value.
*/
public void setOpaque(String opaque) throws ParseException;
/**
* Returns the Opaque value of this WWWAuthenicateHeader.
*
* @return the String representing the Opaque information, null if the
* value is not set.
*/
public String getOpaque();
/**
* Sets the Domain of the WWWAuthenicateHeader to the domain
* parameter value.
*
* @param domain - the new Domain string of this WWWAuthenicateHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the domain.
*/
public void setDomain(String domain) throws ParseException;
/**
* Returns the Domain value of this WWWAuthenicateHeader.
*
* @return the String representing the Domain information, null if value is
* not set.
*/
public String getDomain();
/**
* Sets the value of the stale parameter of the WWWAuthenicateHeader to the
* stale parameter value.
*
* @param stale - the new boolean value of the stale parameter.
*/
public void setStale(boolean stale);
/**
* Returns the boolean value of the state paramater of this
* WWWAuthenicateHeader.
*
* @return the boolean representing if the challenge is stale.
*/
public boolean isStale();
/**
* Name of WWWAuthenticateHeader
*/
public final static String NAME = "WWW-Authenticate";
}