Re: [OAUTH-WG] Versioning

Rob Richards <rrichards@cdatazone.org> Thu, 01 July 2010 18:42 UTC

Return-Path: <rrichards@cdatazone.org>
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 71E1D3A6862 for <oauth@core3.amsl.com>; Thu, 1 Jul 2010 11:42:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.949
X-Spam-Level:
X-Spam-Status: No, score=-1.949 tagged_above=-999 required=5 tests=[AWL=0.650, 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 c6hJteH9tm+8 for <oauth@core3.amsl.com>; Thu, 1 Jul 2010 11:42:52 -0700 (PDT)
Received: from smtp2go.com (smtp2go.com [207.58.142.213]) by core3.amsl.com (Postfix) with ESMTP id 482B23A67A3 for <oauth@ietf.org>; Thu, 1 Jul 2010 11:42:52 -0700 (PDT)
Received: from [67.158.171.203] (helo=Rob-Richardss-MacBook-Pro.local) by smtp2go.com with esmtp (Exim 4.69) (envelope-from <rrichards@cdatazone.org>) id 1OUOix-0003zX-1i; Thu, 01 Jul 2010 18:42:59 +0000
Message-ID: <4C2CE1B2.8000605@cdatazone.org>
Date: Thu, 01 Jul 2010 14:42:58 -0400
From: Rob Richards <rrichards@cdatazone.org>
User-Agent: Thunderbird 2.0.0.24 (Macintosh/20100228)
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <4C2C6D4A.5010401@cdatazone.org> <90C41DD21FB7C64BB94121FBBC2E72343B3ED4C3E6@P3PW5EX1MB01.EX1.SECURESERVER.NET> <AANLkTikcB3kHy7zGY1EJOQR5eVCjn3cTvqQm-N2z4Ueb@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72343B3ED4C450@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E72343B3ED4C450@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-SMTP2Go-MailScanner-Information: Please contact support@smtp2go.com for more information
X-SMTP2Go-MailScanner-ID: 1OUOix-0003zX-1i
X-SMTP2Go-MailScanner: Found to be clean
X-SMTP2Go-MailScanner-From: rrichards@cdatazone.org
Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Versioning
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: Thu, 01 Jul 2010 18:42:53 -0000

Eran Hammer-Lahav wrote:
>   
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Thursday, July 01, 2010 10:37 AM
>> To: Eran Hammer-Lahav
>> Cc: Rob Richards; OAuth WG (oauth@ietf.org)
>> Subject: Re: [OAUTH-WG] Versioning
>>
>> On Thu, Jul 1, 2010 at 9:35 AM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>     
>>> Hi Rob,
>>>
>>>       
>>>> -----Original Message-----
>>>> From: Rob Richards [mailto:rrichards@cdatazone.org]
>>>> Sent: Thursday, July 01, 2010 3:26 AM
>>>> To: OAuth WG (oauth@ietf.org) Eran Hammer-Lahav
>>>> Subject: Versioning
>>>>
>>>> Versioning is still something that needs to be addressed before being
>>>> being able to consider the draft core complete.
>>>>         
>>> Versioning rarely works because when you define it, you have no idea
>>>       
>> what the requirements will be for the next version. A good example is the
>> OAuth 1.0 version parameter. When we worked to revised 1.0 into 1.0a, we
>> had a long debate on changing the protocol version number. We had a hard
>> time agreeing on what the version meant and what was it a version *of*: the
>> signature method or the token flow.
>>     
>>> If this protocol will require significant changes in the future that go beyond
>>>       
>> its extensibility support, such a new version will need to use different
>> endpoints (token or end-user authorization) and/or different HTTP
>> authentication scheme.
>>
>> I don't think the authz server endpoints are an issue, but the protected
>> resources. The auth scheme is very generic, "Token". So either the scheme
>> should be more specific, like "OAuth2", or a version should be added as a
>> parameter. Maybe a token type as Dick suggested.
>>     
>
> HTTP Basic has no version, and I believe Digest doesn't have a version either (though it has been revised from 2069 to 2617). The Token scheme is generic, but also wide open. The only required parameter is 'token' (which makes sense for a Token scheme). I can't come up with a single requirement that would require an explicit version parameter.
>
> Version discussions are almost always a waste of time because at the time they are debated, no one knows what the requirement for such a feature will be. Versioning usually makes sense in a follow-up revision where the protocol needs a way to differentiate itself from the previous version.
>
>
>   
Exactly. While it might be needed in the future, there is a need to 
differentiate OAuth 1.0 from 2.0 on resource endpoints right now. 
Outside of requiring an oauth_version parameter (or equivalent) all 
other suggestions leave versioning as a grey area, where things can be 
interpreted one way or another with no consistency. Grey areas in specs 
are a bad thing. You end up with different languages/libraries dealing 
with things in completely different and incompatible ways because 
something was not clearly spelled out.

Rob