- From: Karl Dubost <karl@w3.org>
- Date: Wed, 11 Jan 2006 15:20:18 +0100
- To: www-qa@w3.org
- Cc: Yves Lafon <ylafon@w3.org>, Thomas Roessler <tlr@w3.org>
Joe Gregorio has written a blog post about HTTP Authentification Interoperability Problems. He cites http://www.w3.org/TR/NOTE-authentform http://whatwg.org/specs/web-apps/current-work/#requirements He has forgotten CHIPs (See below) [[[ I am not making any of this stuff up. Basic is not really an option since it transmits your name and password unencrypted. Yes, it encodes it as base64, but that's not encryption. Apache 2.0 does not do 'auth-int'. While Python's urllib2 claims to do MD5-sess, Apache does not implement it correctly. In addition looking at the code of urllib2 it supports algorithm=SHA, but there's no mention of that as an option in RFC 2617. WSSE isn't really specified for plain HTTP; it was originally designed for WS-Security and unofficially ported to HTTP; the definitive reference is an XML.com article, and while an august publication, it hardly ranks up there with the IETF or W3C. There are some bright spots: on Apache 2.0.51 or later you can get IE and Digest to work by using this directive: BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On Now before you start telling me to use TLS please realize that I, like many other people, use a shared hosting account; even if I wanted to shell out the money to buy a certificate I wouldn't be able to set up TLS for my site. And don't even get me started on how browsers handle authentication and how web designers have conniption fits because they can't control the look and feel of the default pop-up dialog that prompts you for your name and password when you use Basic or Digest. For further reading you may want to check out this W3C note from 1999 (!) User Agent Authentication Forms. In addition the WHATWG's Web Applications 1.0 specification lists Better defined user authentication state handling. (Being able to "log out" of sites reliably, for instance, or being able to integrate the HTTP authe Are you sad, disgusted and exasperated? If so then you might be in the right state of mind to join the Ietf-http-auth mailing list and help us get out of this mess. In the mean time, would you like a cookie? ]]] -- Problems with HTTP Authentication Interop | 2006-01-10 | BitWorking http://bitworking.org/news/Problems_with_HTTP_Authentication_Interop Wed, 11 Jan 2006 14:07:58 GMT [[[ 3.2: Identification and Session mechanisms SS CM HTTP/1.1 provides a number of mechanisms for identification, authentication and session management. Using these mechanisms instead of user-based or session-based URIs guarantees than the URIs used to serve resources are truly universal (allowing, for example, people to share, send, or copy them). 1. Use standard identification instead of per-user URIs SS CM For the reasons stated above, standard identification mechanisms should be prefered over user-dependent URIs. Standard identification mechanisms for the World Wide Web are described in RFC 2617 : "HTTP Authentication: Basic and Digest Access Authentication" [RFC2617]. 2. Use standard session mechanisms instead of session-based URIs. SS CM For the reasons stated above, standard session mechanisms should be prefered over session-dependent URIs. The latter may only be used in very specific cases, when standard mechanisms do not provide the desired features. Example of an acceptable practice: A URI may have some modifiers, like "?" used to pass arguments for cgi, or ";" to pass other kind of arguments or context information. Used for information tracking, this is a proper use of session information in URIs. Example of a bad practice: Bob tries to visit http://www.example.com/resource, but since it's a rainy Monday morning, he gets redirected to http:// www.example.com/rainymondaymorning/resource. The day after, when Bob tries to access the resource he had bookmarked earlier, the server answers that Bob has made a bad request, and serves http:// www.example.com/error/thisisnotmondayanymore. Had the server served back http://www.example.com/resource because the Monday session had expired, it would have been, if not acceptable, at least harmless. Standard session mechanisms include RFC 2109 : "HTTP State Management Mechanism" [RFC2109], also known as "cookies". ]]] -- Common HTTP Implementation Problems http://www.w3.org/TR/chips/#cp3.2 Fri, 24 Jan 2003 15:21:02 GMT -- Karl Dubost - http://www.w3.org/People/karl/ W3C Conformance Manager, QA Activity Lead *** Be Strict To Be Cool ***
Received on Wednesday, 11 January 2006 14:20:21 UTC