001: /**
002: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
003: * Unpublished - rights reserved under the Copyright Laws of the United States.
004: * Copyright © 2003 Sun Microsystems, Inc. All rights reserved.
005: * Copyright © 2005 BEA Systems, Inc. All rights reserved.
006: *
007: * Use is subject to license terms.
008: *
009: * This distribution may include materials developed by third parties.
010: *
011: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
012: *
013: * Module Name : JSIP Specification
014: * File Name : ProxyAuthorizationHeader.java
015: * Author : Phelim O'Doherty
016: *
017: * HISTORY
018: * Version Date Author Comments
019: * 1.1 08/10/2002 Phelim O'Doherty
020: *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
021: */package javax.sip.header;
022:
023: /**
024:
025: * The Proxy-Authorization header field allows the client to identify
026:
027: * itself (or its user) to a proxy that requires authentication. A
028:
029: * Proxy-Authorization field value consists of credentials containing
030:
031: * the authentication information of the user agent for the proxy and/or
032:
033: * realm of the resource being requested.
034:
035: * <p>
036:
037: * This header field, along with Authorization, breaks the general rules
038:
039: * about multiple header field names. Although not a comma-separated
040:
041: * list, this header field name may be present multiple times, and MUST
042:
043: * NOT be combined into a single header line.
044:
045: * <p>
046:
047: * An UAC sends a request to a proxy server containing a Proxy-Authorization
048:
049: * header field, so that the proxy can authenticate the UAC before processing
050:
051: * the request. A proxy can challenge for credentials by rejecting a request
052:
053: * with a 407 (Proxy Authentication Required) status code upon which a UAC may
054:
055: * provide credentials for the requested resource in the Proxy-Authorization
056:
057: * header.
058:
059: * <p>
060:
061: * A Proxy-Authorization header field value applies only to the proxy
062:
063: * whose realm is identified in the "realm" parameter. When multiple proxies
064:
065: * are used in a chain, a Proxy-Authorization header field value MUST NOT be
066:
067: * consumed by any proxy whose realm does not match the "realm" parameter
068:
069: * specified in that value. Note that if an authentication scheme that does not
070:
071: * support realms is used in the Proxy-Authorization header field, a proxy
072:
073: * server MUST attempt to parse all Proxy-Authorization header field values to
074:
075: * determine whether one of them has what the proxy server considers to be
076:
077: * valid credentials.
078:
079: * <p>
080:
081: * Example:<br>
082:
083: * Proxy-Authorization: Digest username="Alice", realm="atlanta.com",
084:
085: * nonce="c60f3082ee1212b402a21831ae", response="245f23415f11432b3434341c022"
086:
087: *
088:
089: * @see Parameters
090:
091: * @see ProxyAuthenticateHeader
092: * @author BEA Systems, NIST
093: * @version 1.2
094:
095: */
096:
097: public interface ProxyAuthorizationHeader extends AuthorizationHeader {
098:
099: /**
100:
101: * Name of ProxyAuthorizationHeader
102:
103: */
104:
105: public final static String NAME = "Proxy-Authorization";
106:
107: }
|