Re: [OAUTH-WG] Mandatory-to-implement token type

Mike Jones <> Sun, 04 December 2011 02:26 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4BE1621F8E0D for <>; Sat, 3 Dec 2011 18:26:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id T-+e4sNOd1+x for <>; Sat, 3 Dec 2011 18:26:12 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 3F47A21F8DF3 for <>; Sat, 3 Dec 2011 18:26:12 -0800 (PST)
Received: from ( by ( with Microsoft SMTP Server id; Sun, 4 Dec 2011 02:26:11 +0000
Received: from mail96-db3 (localhost []) by (Postfix) with ESMTP id 56F5C260171; Sun, 4 Dec 2011 02:26:11 +0000 (UTC)
X-SpamScore: -50
X-BigFish: VS-50(zzbb2dK9371K542Mdf9M1432N1418M98dKzz1202hzz1033IL8275dhz2fh2a8h668h839h61h)
X-Spam-TCS-SCL: 0:0
X-Forefront-Antispam-Report: CIP:; KIP:(null); UIP:(null); IPV:NLI;; RD:none; EFVD:NLI
Received-SPF: pass (mail96-db3: domain of designates as permitted sender) client-ip=;; ; ;
Received: from mail96-db3 (localhost.localdomain []) by mail96-db3 (MessageSwitch) id 132296557168208_31510; Sun, 4 Dec 2011 02:26:11 +0000 (UTC)
Received: from (unknown []) by (Postfix) with ESMTP id 0D1332E0046; Sun, 4 Dec 2011 02:26:11 +0000 (UTC)
Received: from ( by ( with Microsoft SMTP Server (TLS) id; Sun, 4 Dec 2011 02:26:10 +0000
Received: from ([]) by ([]) with mapi id 14.02.0247.005; Sat, 3 Dec 2011 18:26:08 -0800
From: Mike Jones <>
To: Barry Leiba <>, Stephen Farrell <>
Thread-Topic: [OAUTH-WG] Mandatory-to-implement token type
Thread-Index: AQHMpQLwA9RtSm1QTkeczilud+gNJJXIYlkAgAABeQCAABrqAIAAXtcAgAJmEwD//8n+kA==
Date: Sun, 04 Dec 2011 02:26:07 +0000
Message-ID: <>
References: <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: oauth WG <>
Subject: Re: [OAUTH-WG] Mandatory-to-implement token type
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 04 Dec 2011 02:26:13 -0000

I strongly object to a mandatory-to-implement clause for the MAC scheme.  They are unnecessary and market forces have shown that implementers do not want or need this kind of an authentication scheme.

				-- Mike

-----Original Message-----
From: [] On Behalf Of Barry Leiba
Sent: Saturday, December 03, 2011 1:38 PM
To: Stephen Farrell
Cc: oauth WG
Subject: Re: [OAUTH-WG] Mandatory-to-implement token type

Stephen says:
> On 12/02/2011 03:20 AM, Barry Leiba wrote:
>> Maybe what would work best is some text that suggests what I say
>> above: that toolkits intended for use in implementing OAuth services 
>> in general... implement [X and/or Y], and that code written for a 
>> specific environment implement what makes sense for that environment.
>> It seems to me that to require any particular implementation in the 
>> latter case is arbitrary and counter-productive, and doesn't help 
>> anything interoperate.  Whereas general-purpose toolkits that 
>> implement everything DO help interop.
> That'd work just fine for me.

OK, so here's what I suggest... I propose adding a new section 7.2, thus:

7.2 Access Token Implementation Considerations

Access token types have to be mutually understood among the authorization server, the resource server, and the client -- the access token issues the token, the resource server validates it, and the client is required to understand the type, as noted in section 7.1, above.  Because of that, interoperability of program code developed separately depends upon the token types that are supported in the code.

Toolkits that are intended for general use (for building other clients and/or servers), therefore, SHOULD implement as many token types as practical, to ensure that programs developed with those toolkits are able to use the token types they need.  In particular, all general-use toolkits MUST implement bearer tokens [...ref...] and MAC tokens [...ref...].

Purpose-built code, built without such toolkits, has somewhat more flexibility, as its developers know the specific environment they're developing for.  There's clearly little point to including code to support a particular token type when it's known in advance that the type in question will never be used in the intended deployment.
Developers of purpose-built code are encouraged to consider future extensions and to plan ahead for changes in circumstances, and might still want to include support for multiple token types.  That said, the choice of token-type support for such purpose-built code is left to the developers and their specific requirements.

I think that expresses a reasonable compromise that might actually be followed and might actually do some good.  Comments?  Can we go with this and close this issue?  (And, sorry, I've been a Bad Chair, and haven't put this in the tracker.)

OAuth mailing list