Changeset 1478 for draft-ietf-httpbis/latest/p7-auth.html
- Timestamp:
- 25/11/11 15:53:44 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p7-auth.html
r1477 r1478 359 359 } 360 360 @bottom-center { 361 content: "Expires May 17, 2012";361 content: "Expires May 28, 2012"; 362 362 } 363 363 @bottom-right { … … 405 405 <meta name="dct.creator" content="Reschke, J. F."> 406 406 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p7-auth-latest"> 407 <meta name="dct.issued" scheme="ISO8601" content="2011-11- 14">407 <meta name="dct.issued" scheme="ISO8601" content="2011-11-25"> 408 408 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 409 409 <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World Wide Web global information initiative since 1990. This document is Part 7 of the seven-part specification that defines the protocol referred to as "HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 7 defines the HTTP Authentication framework."> … … 436 436 </tr> 437 437 <tr> 438 <td class="left">Expires: May 17, 2012</td>438 <td class="left">Expires: May 28, 2012</td> 439 439 <td class="right">HP</td> 440 440 </tr> … … 489 489 <tr> 490 490 <td class="left"></td> 491 <td class="right">November 14, 2011</td>491 <td class="right">November 25, 2011</td> 492 492 </tr> 493 493 </tbody> … … 517 517 in progress”. 518 518 </p> 519 <p>This Internet-Draft will expire on May 17, 2012.</p>519 <p>This Internet-Draft will expire on May 28, 2012.</p> 520 520 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 521 521 <p>Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 705 705 <div id="rfc.iref.r.1"></div> 706 706 <h2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <a id="protection.space" href="#protection.space">Protection Space (Realm)</a></h2> 707 <p id="rfc.section.2.2.p.1">The authentication parameter realm is reserved for use by authentication schemes that wish to indicate the scope of protection:</p> 708 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.r.2"></span><span id="rfc.iref.r.3"></span><span id="rfc.iref.g.6"></span> realm = "realm" <a href="#core.rules" class="smpl">BWS</a> "=" <a href="#core.rules" class="smpl">BWS</a> realm-value 709 realm-value = quoted-string 710 </pre><p id="rfc.section.2.2.p.3">A <dfn>protection space</dfn> is defined by the canonical root URI (the scheme and authority components of the effective request URI; see <a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) of the server being accessed, in combination with the realm value if present. These realms allow the protected resources 707 <p id="rfc.section.2.2.p.1">The authentication parameter realm is reserved for use by authentication schemes that wish to indicate the scope of protection.</p> 708 <p id="rfc.section.2.2.p.2">A <dfn>protection space</dfn> is defined by the canonical root URI (the scheme and authority components of the effective request URI; see <a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) of the server being accessed, in combination with the realm value if present. These realms allow the protected resources 711 709 on a server to be partitioned into a set of protection spaces, each with its own authentication scheme and/or authorization 712 710 database. The realm value is a string, generally assigned by the origin server, which can have additional semantics specific 713 711 to the authentication scheme. Note that there can be multiple challenges with the same auth-scheme but different realms. 714 712 </p> 715 <p id="rfc.section.2.2.p. 4">The protection space determines the domain over which credentials can be automatically applied. If a prior request has been713 <p id="rfc.section.2.2.p.3">The protection space determines the domain over which credentials can be automatically applied. If a prior request has been 716 714 authorized, the same credentials <em class="bcp14">MAY</em> be reused for all other requests within that protection space for a period of time determined by the authentication scheme, 717 715 parameters, and/or user preference. Unless otherwise defined by the authentication scheme, a single protection space cannot 718 716 extend outside the scope of its server. 717 </p> 718 <p id="rfc.section.2.2.p.4">For historical reasons, senders <em class="bcp14">MUST</em> only use the quoted-string syntax. Recipients might have to support both token and quoted-string syntax for maximum interoperability 719 with existing clients that have been accepting both notations for a long time. 719 720 </p> 720 721 <h2 id="rfc.section.2.3"><a href="#rfc.section.2.3">2.3</a> <a id="authentication.scheme.registry" href="#authentication.scheme.registry">Authentication Scheme Registry</a></h2> … … 779 780 </ul> 780 781 <h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a id="status.code.definitions" href="#status.code.definitions">Status Code Definitions</a></h1> 781 <div id="rfc.iref.1 5"></div>782 <div id="rfc.iref.12"></div> 782 783 <div id="rfc.iref.s.1"></div> 783 784 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="status.401" href="#status.401">401 Unauthorized</a></h2> … … 787 788 information. 788 789 </p> 789 <div id="rfc.iref.1 6"></div>790 <div id="rfc.iref.13"></div> 790 791 <div id="rfc.iref.s.2"></div> 791 792 <h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a id="status.407" href="#status.407">407 Proxy Authentication Required</a></h2> … … 802 803 for the realm of the resource being requested. 803 804 </p> 804 <div id="rfc.figure.u. 6"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.authorization" class="smpl">Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a>805 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.6"></span> <a href="#header.authorization" class="smpl">Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a> 805 806 </pre><p id="rfc.section.4.1.p.3">If a request is authenticated and a realm specified, the same credentials <em class="bcp14">SHOULD</em> be valid for all other requests within this realm (assuming that the authentication scheme itself does not require otherwise, 806 807 such as credentials that vary according to a challenge value or using synchronized clocks). … … 825 826 to the proxy for this effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). It <em class="bcp14">MUST</em> be included as part of a 407 (Proxy Authentication Required) response. 826 827 </p> 827 <div id="rfc.figure.u. 7"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a>828 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.proxy-authenticate" class="smpl">Proxy-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a> 828 829 </pre><p id="rfc.section.4.2.p.3">Unlike WWW-Authenticate, the Proxy-Authenticate header field applies only to the current connection and <em class="bcp14">SHOULD NOT</em> be passed on to downstream clients. However, an intermediate proxy might need to obtain its own credentials by requesting 829 830 them from the downstream client, which in some circumstances will appear as if the proxy is forwarding the Proxy-Authenticate … … 837 838 the resource being requested. 838 839 </p> 839 <div id="rfc.figure.u. 8"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.proxy-authorization" class="smpl">Proxy-Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a>840 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.proxy-authorization" class="smpl">Proxy-Authorization</a> = <a href="#challenge.and.response" class="smpl">credentials</a> 840 841 </pre><p id="rfc.section.4.3.p.3">Unlike Authorization, the Proxy-Authorization header field applies only to the next outbound proxy that demanded authentication 841 842 using the Proxy-Authenticate field. When multiple proxies are used in a chain, the Proxy-Authorization header field is consumed … … 852 853 response. 853 854 </p> 854 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a>855 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.www-authenticate" class="smpl">WWW-Authenticate</a> = 1#<a href="#challenge.and.response" class="smpl">challenge</a> 855 856 </pre><p id="rfc.section.4.4.p.4">User agents are advised to take special care in parsing the WWW-Authenticate field value as it might contain more than one 856 857 challenge, or if more than one WWW-Authenticate header field is provided, the contents of a challenge itself can contain a 857 858 comma-separated list of authentication parameters. 858 859 </p> 859 <div id="rfc.figure.u. 10"></div>860 <div id="rfc.figure.u.9"></div> 860 861 <p>For instance:</p> <pre class="text"> WWW-Authenticate: Newauth realm="apps", type=1, 861 862 title="Login to \"apps\"", Basic realm="simple" … … 1063 1064 </p> 1064 1065 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1065 <div id="rfc.figure.u.1 1"></div> <pre class="inline"><a href="#header.authorization" class="smpl">Authorization</a> = credentials1066 <div id="rfc.figure.u.10"></div> <pre class="inline"><a href="#header.authorization" class="smpl">Authorization</a> = credentials 1066 1067 1067 1068 <a href="#core.rules" class="smpl">BWS</a> = <BWS, defined in [Part1], Section 1.2.2> … … 1089 1090 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.3> 1090 1091 1091 realm = "realm" BWS "=" BWS realm-value1092 realm-value = quoted-string1093 1094 1092 <a href="#core.rules" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.3> 1095 </pre> <div id="rfc.figure.u.1 2"></div>1093 </pre> <div id="rfc.figure.u.11"></div> 1096 1094 <p>ABNF diagnostics:</p><pre class="inline">; Authorization defined but not used 1097 1095 ; Proxy-Authenticate defined but not used 1098 1096 ; Proxy-Authorization defined but not used 1099 1097 ; WWW-Authenticate defined but not used 1100 ; realm defined but not used1101 1098 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 1102 1099 <h2 id="rfc.section.C.1"><a href="#rfc.section.C.1">C.1</a> Since RFC 2616 … … 1213 1210 <p id="rfc.section.C.19.p.1">Closed issues: </p> 1214 1211 <ul> 1212 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/314">http://tools.ietf.org/wg/httpbis/trac/ticket/314</a>>: "allow unquoted realm parameters" 1213 </li> 1215 1214 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/321">http://tools.ietf.org/wg/httpbis/trac/ticket/321</a>>: "Repeating auth-params" 1216 1215 </li> … … 1222 1221 <ul class="ind"> 1223 1222 <li><a id="rfc.index.4" href="#rfc.index.4"><b>4</b></a><ul> 1224 <li>401 Unauthorized (status code) <a href="#rfc.iref.1 5"><b>3.1</b></a>, <a href="#rfc.xref.status.401.1">5.2</a></li>1225 <li>407 Proxy Authentication Required (status code) <a href="#rfc.iref.1 6"><b>3.2</b></a>, <a href="#rfc.xref.status.407.1">5.2</a></li>1223 <li>401 Unauthorized (status code) <a href="#rfc.iref.12"><b>3.1</b></a>, <a href="#rfc.xref.status.401.1">5.2</a></li> 1224 <li>407 Proxy Authentication Required (status code) <a href="#rfc.iref.13"><b>3.2</b></a>, <a href="#rfc.xref.status.407.1">5.2</a></li> 1226 1225 </ul> 1227 1226 </li> … … 1246 1245 <li><tt>auth-param</tt> <a href="#rfc.iref.g.2"><b>2.1</b></a></li> 1247 1246 <li><tt>auth-scheme</tt> <a href="#rfc.iref.g.1"><b>2.1</b></a></li> 1248 <li><tt>Authorization</tt> <a href="#rfc.iref.g. 7"><b>4.1</b></a></li>1247 <li><tt>Authorization</tt> <a href="#rfc.iref.g.6"><b>4.1</b></a></li> 1249 1248 <li><tt>b64token</tt> <a href="#rfc.iref.g.3"><b>2.1</b></a></li> 1250 1249 <li><tt>challenge</tt> <a href="#rfc.iref.g.4"><b>2.1</b></a></li> 1251 1250 <li><tt>credentials</tt> <a href="#rfc.iref.g.5"><b>2.1</b></a></li> 1252 <li><tt>Proxy-Authenticate</tt> <a href="#rfc.iref.g.8"><b>4.2</b></a></li> 1253 <li><tt>Proxy-Authorization</tt> <a href="#rfc.iref.g.9"><b>4.3</b></a></li> 1254 <li><tt>realm</tt> <a href="#rfc.iref.g.6"><b>2.2</b></a></li> 1255 <li><tt>WWW-Authenticate</tt> <a href="#rfc.iref.g.10"><b>4.4</b></a></li> 1251 <li><tt>Proxy-Authenticate</tt> <a href="#rfc.iref.g.7"><b>4.2</b></a></li> 1252 <li><tt>Proxy-Authorization</tt> <a href="#rfc.iref.g.8"><b>4.3</b></a></li> 1253 <li><tt>WWW-Authenticate</tt> <a href="#rfc.iref.g.9"><b>4.4</b></a></li> 1256 1254 </ul> 1257 1255 </li> … … 1291 1289 <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul> 1292 1290 <li>Realm <a href="#rfc.iref.r.1">2.2</a></li> 1293 <li><tt>realm</tt> <a href="#rfc.iref.r.2"><b>2.2</b></a></li>1294 <li><tt>realm-value</tt> <a href="#rfc.iref.r.3"><b>2.2</b></a></li>1295 1291 <li><em>RFC2119</em> <a href="#rfc.xref.RFC2119.1">1.1</a>, <a href="#RFC2119"><b>8.1</b></a></li> 1296 1292 <li><em>RFC2616</em> <a href="#rfc.xref.RFC2616.1">1</a>, <a href="#RFC2616"><b>8.2</b></a>, <a href="#rfc.xref.RFC2616.2">C.1</a></li>
Note: See TracChangeset
for help on using the changeset viewer.