Re: [OAUTH-WG] OAuth2 WWW-Authenticate scheme

Eran Hammer-Lahav <eran@hueniverse.com> Wed, 17 November 2010 01:24 UTC

Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4692C3A680E for <oauth@core3.amsl.com>; Tue, 16 Nov 2010 17:24:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ioQjT9-I3k6B for <oauth@core3.amsl.com>; Tue, 16 Nov 2010 17:24:16 -0800 (PST)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id BBDF23A67A3 for <oauth@ietf.org>; Tue, 16 Nov 2010 17:24:16 -0800 (PST)
Received: (qmail 11358 invoked from network); 17 Nov 2010 01:25:00 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 17 Nov 2010 01:24:59 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 16 Nov 2010 18:24:59 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 16 Nov 2010 18:25:08 -0700
Thread-Topic: OAuth2 WWW-Authenticate scheme
Thread-Index: AcuFrF9JDL/bVYuHRYGeZ28ZaJLRPQAN3thQAASC5lA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E72343D470CC774@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <90C41DD21FB7C64BB94121FBBC2E72343D470CC5A5@P3PW5EX1MB01.EX1.SECURESERVER.NET> <255B9BB34FB7D647A506DC292726F6E11276DAD39C@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11276DAD39C@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] OAuth2 WWW-Authenticate scheme
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Nov 2010 01:24:18 -0000

WFM. I'll apply this to -11 and publish it shortly. This was the last open issue I had with the split. Looks like OAuth2 has consensus as the auth scheme name (I find it gross but lost all interest in any further discussions).

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Manger, James H
> Sent: Tuesday, November 16, 2010 4:13 PM
> To: OAuth WG
> Subject: Re: [OAUTH-WG] OAuth2 WWW-Authenticate scheme
> 
> Eran,
> 
> > Clients are allowed to try more than one authentication scheme.
> 
> I don't think so -- at least not in a single request.
> HTTP certainly allows a server to advertise multiple schemes in a *response*
> (via "WWW-Authenticate" headers). This is widely used.
> However, HTTP does not allow multiple schemes in a request (ie it does not
> allow multiple "Authorization" headers).
> The current httpbis draft says (draft-ietf-httpbis-p7-auth-12, section 2):
>   "The user agent MUST choose to use *one* of the challenges
>    with the strongest auth-scheme it understands"
> 
> 
> > Or we can only allow a single scheme per request (which is fine by me
> > but somewhat of a departure from HTTP).
> 
> I don't think this is a departure.
> I can't think of any current systems that use multiple HTTP auth schemes in a
> single request.
> 
> 
> > We can say that an OAuth2 challenge is always included (fail or first time).
> > Do we keep the current error reporting setup?
> 
> It is clear (in my mind) that a server should use a "WWW-Authenticate:
> OAuth2..."
> response header to say to the client:
>   "Hey, you can get access to this resource (or better access)
>    if you first run an OAuth flow: with these endpoints & parameters"
> 
> But there are a number of OAuth flows:
> * user delegation
> * swapping client credentials for a token (or swapping an assertion for a
> token)
> * refreshing an existing token/delegation
> 
> The server needs to give the client enough information for it to know what it
> can do next, eg which OAuth flow to perform.
> A good approach would be for the "WWW-Authenticate: OAuth2..."
> response to explicitly indicate which flows are possible *at this point*.
> If a "WWW-Authenticate: OAuth2..." response includes a refresh=<uri>
> parameter, for instance, then the client knows they can refresh their existing
> token.
> If the "WWW-Authenticate: OAuth2..." response includes a user=<uri>
> parameter, but no refresh parameter, then the client knows they can run a
> user-delegation flow, but they cannot refresh their existing token.
> 
> 
> --
> James Manger
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth