Re: [OAUTH-WG] draft-ietf-oauth-v2-bearer-09: Open Issues & Proposed Resolutions

William Mills <wmills@yahoo-inc.com> Fri, 14 October 2011 16:49 UTC

Return-Path: <wmills@yahoo-inc.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 977EE21F8CB6 for <oauth@ietfa.amsl.com>; Fri, 14 Oct 2011 09:49:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -16.998
X-Spam-Level:
X-Spam-Status: No, score=-16.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OmCERzNja0ja for <oauth@ietfa.amsl.com>; Fri, 14 Oct 2011 09:49:36 -0700 (PDT)
Received: from nm15-vm0.bullet.mail.sp2.yahoo.com (nm15-vm0.bullet.mail.sp2.yahoo.com [98.139.91.208]) by ietfa.amsl.com (Postfix) with SMTP id 95E9021F8CB1 for <oauth@ietf.org>; Fri, 14 Oct 2011 09:49:36 -0700 (PDT)
Received: from [98.139.91.69] by nm15.bullet.mail.sp2.yahoo.com with NNFMP; 14 Oct 2011 16:49:35 -0000
Received: from [98.139.91.11] by tm9.bullet.mail.sp2.yahoo.com with NNFMP; 14 Oct 2011 16:48:35 -0000
Received: from [127.0.0.1] by omp1011.mail.sp2.yahoo.com with NNFMP; 14 Oct 2011 16:48:35 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 579625.17691.bm@omp1011.mail.sp2.yahoo.com
Received: (qmail 93219 invoked by uid 60001); 14 Oct 2011 16:48:34 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo-inc.com; s=ginc1024; t=1318610914; bh=4H27TnPZTrcWH9QDprQCoJhlzUltH82vYdIWzPkdtls=; h=X-YMail-OSG:Received:X-RocketYMMF:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=IcXgGcxAWYvlhQX0e7qHRruLyIjA2SR2gFiX2pYDFCj4c2IUwFSovuoEjT7Yjk7JSq4/LUBx0/ImZFb2jLgDm8biwFhWifKjQnzf6DowdwsEbKAJ3Y0bQ+8H0pr/1Z8Hlx8w6zOvWe/O4YTQUFMx8VKMf0s4PVD+uA1g4j5hJQg=
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=ginc1024; d=yahoo-inc.com; h=X-YMail-OSG:Received:X-RocketYMMF:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=CYALGeoxV/yxbRhnwG2cmbCgcAPwPFw3klyaxr8GeqnDncNO1fhjH09jDyTvpMmOc8pQkT46Bbv6XVJH/fxNuRhrFMF6VVrWLUicVtSIo8DadZwp45U2v7z4q3SV9rBLmZGD9cfjsjMj4IkSo6s3mxNIv9dMddFv5PIozHbfGdA=;
X-YMail-OSG: Fmu669AVM1mxEJt6wTvfpOdEMXGikwWXQORtQpLFWGKx6at Aef_2XJr2ZoFItJQVA3XO31rxemtg_uvIQwLaQqh8gRlcIWWORPE1x3rK5W8 W5ar4kBKFetgUbx6OBVG4wOOfjNG8K7.ILElL6yE0ftIcvhgGIaXokQ8c068 .t83ArVQJ1aOZsHoN6MVFGxofW9dNBGQ355PAsmEHlKAYvNvj7SdXCU71tp2 1HWbJGeUMZTSjuaf2qIpSEHUg1ALfinX3EOBIHZFe3CB_bsn.t6GC0uor.SQ RJLRYqUEyNvL__2ULrNEqt7t9QkUvjimGnV323OVlTYFWHMwXvdRkMxa4cO2 s9khkHWmsSbD9wV7J4EoWpFfWBtuW6vasrvC4zHkQDzSGvEvpZ2uK_pPLv.C FeXZubCCrlckYK3y1akunRxT1vVkc8vq3WdvRR90VTTzGmfx0vcDEyfXmlDD PR8K9A3TPLYp_h1i1ULHzBXoYEBJYJrD0bozqa_W3xg9.P58m9IidAzMT9gL q0AwOulLqgTAVHT7itp8PK.0y1V0-
Received: from [99.31.212.42] by web31808.mail.mud.yahoo.com via HTTP; Fri, 14 Oct 2011 09:48:34 PDT
X-RocketYMMF: william_john_mills
X-Mailer: YahooMailWebService/0.8.115.325013
References: <4E1F6AAD24975D4BA5B16804296739435C23C5A6@TK5EX14MBXC284.redmond.corp.microsoft.com>
Message-ID: <1318610914.92931.YahooMailNeo@web31808.mail.mud.yahoo.com>
Date: Fri, 14 Oct 2011 09:48:34 -0700
From: William Mills <wmills@yahoo-inc.com>
To: Mike Jones <Michael.Jones@microsoft.com>, Hannes Tschofenig <hannes.tschofenig@gmx.net>, OAuth WG <oauth@ietf.org>
In-Reply-To: <4E1F6AAD24975D4BA5B16804296739435C23C5A6@TK5EX14MBXC284.redmond.corp.microsoft.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="0-1929416670-1318610914=:92931"
Subject: Re: [OAUTH-WG] draft-ietf-oauth-v2-bearer-09: Open Issues & Proposed Resolutions
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: William Mills <wmills@yahoo-inc.com>
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Fri, 14 Oct 2011 16:49:37 -0000

Scope has to be defined in the core OAuth spec.  I think it's a mistake to talk about it in regard to the Bearer token spec specifically.

I think removing the auth-param usage is workable.  Then if we need extensibility defining a new scheme can do that.  It's a bit more work that way if needed, but it's clean.


-bill



________________________________
From: Mike Jones <Michael.Jones@microsoft.com>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>; OAuth WG <oauth@ietf.org>
Sent: Friday, October 14, 2011 8:42 AM
Subject: Re: [OAUTH-WG] draft-ietf-oauth-v2-bearer-09: Open Issues & Proposed Resolutions


 
Thanks for the useful discussion and the write-up, Hannes.  For context, Hannes and I discussed how to resolve the remaining Bearer spec issues in a manner that meets the needs of implementations and will not generate objections during the IESG or IETF Last Call reviews.  A few additional comments…
 
1.  Error Description – Nothing to add to Hannes’ write-up.
 
2.  Scope – I was planning to allow a broader set of ASCII characters than the “token” set, as these characters are inadequate for the use of URIs/URLs as scope elements.  In particular, scope elements need to permit the full sets of “reserved” and “unreserved” characters in RFC 3986.  The draft I am working on will say that scope is a space separated set of elements, where the elements consist of one or more characters from the union of the “reserved” and “unreserved” sets.
 
3.  Authorization Request Header Field – We agreed on the call that we’re not doing implementers any favors by allowing both the b64token and #auth-param syntaxes, and that it is better to specify one or the other.  Since existing practice corresponds to the b4token syntax, the choice is clear which to specify.  Thus, it was a mistake to introduce the #auth-param choice in draft 9.  It will be removed in draft 10, which is shortly forthcoming.
 
                                                            -- Mike
 
-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of Hannes Tschofenig
Sent: Friday, October 14, 2011 5:25 AM
To: OAuth WG
Subject: [OAUTH-WG] draft-ietf-oauth-v2-bearer-09: Open Issues & Proposed Resolutions
 
Hi all, 
 
I had a discussion with Mike and Julian to hear what to discuss the open issues with the OAuth Bearer Token draft. Below is a short writeup of my impressions. 
 
1. Error Description
 
The error description field provides information to the software developer and is not meant to be shown to the end user. As such, there is no desire to provide internationalization support for this field. Hence, it has a similar characteristic as the HTTP 'Reason-Phrase. 
 
http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#reason.phrase says
 
"
The Reason Phrase exists for the sole purpose of providing a textual description associated with the numeric status code, out of deference to earlier Internet application protocols that were more frequently used with interactive text clients. A client SHOULD ignore the content of the Reason Phrase.
 
Reason-Phrase  = *( HTAB / SP / VCHAR / obs-text ) "
 
We can use something similar for the error description field and even simplify it further by omitting HTAB and obs-text:
 
  error-desc      = "error_description" "=" *( SP / VCHAR )
 
2. Scope
 
The scope field is yet another item that will not be shown to the user and it serves the purpose of an identifier for authorization comparison. So, we don't need to have any internationalization support here either. 
 
The suggestion is to re-use the 'token ABNF syntax from the HTTP spec:
http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#rfc.section.3.2.3
 
3. Authorization Request Header Field
 
Finally, there is the authorization request header field where we have to decide how we want to deal with extensions. 
The current specification says: 
 
  credentials = "Bearer" 1*SP ( b64token / #auth-param )
 
This means that we can have either a base64 opaque blob or a parameter like syntax (but not both). 
 
An example of the b64token is 
 
Authorization: Bearer vF9dft4qmT
 
and an example of the auth-param usage is
 
Authorization: Bearer t=vF9dft4qmT
 
With an opaque blob extensibility is limited and for this reason, I guess, Mike had provided the additional option of auth-parameter. 
 
If we want to allow extensibility then we have to go for the auth-param approach. If we only use the auth-param (without the b64token) then there may be an issue with already existing implementations. We will have to double-check. 
 
Then, there is the possibility to provide two ways to encode the same information, namely either as a base64 blob and in the auth-parameter style. (In a single protocol run one would obviously only use one or the other.)
 
If we define the auth-param then we have to also provide information on what it actually is. We cannot leave that out of scope. 
 
Ciao
Hannes
 
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth
 
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth