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

Phil Hunt <> Fri, 02 December 2011 00:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 7DA0D21F959F for <>; Thu, 1 Dec 2011 16:23:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id eT-mLr9n2aHb for <>; Thu, 1 Dec 2011 16:23:55 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 2554F21F959E for <>; Thu, 1 Dec 2011 16:23:52 -0800 (PST)
Received: from ( []) by (Switch-3.4.4/Switch-3.4.4) with ESMTP id pB20Nkb2026445 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 Dec 2011 00:23:47 GMT
Received: from ( []) by (8.14.4+Sun/8.14.4) with ESMTP id pB20Njpt010537 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 2 Dec 2011 00:23:46 GMT
Received: from ( []) by ( with ESMTP id pB20NejW016781; Thu, 1 Dec 2011 18:23:40 -0600
Received: from [] (/ by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 01 Dec 2011 16:23:38 -0800
Mime-Version: 1.0 (Apple Message framework v1251.1)
Content-Type: text/plain; charset="us-ascii"
From: Phil Hunt <>
In-Reply-To: <>
Date: Thu, 01 Dec 2011 16:23:38 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <>
To: Stephen Farrell <>
X-Mailer: Apple Mail (2.1251.1)
X-Source-IP: []
X-CT-RefId: str=0001.0A090203.4ED81A94.000A,ss=1,re=0.000,fgs=0
Cc: Barry Leiba <>, 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: Fri, 02 Dec 2011 00:23:57 -0000

Because different token types have distinct advantages in different scenarios, choosing a single MTI would be difficult. E.g. MAC tokens work well for non-TLS protected resources.  Bearer tokens in contrast are easier to use, but require TLS protected service to avoid theft-of-credential. Even at this level, site security policies will simply override whatever is stated in the specification and choose one type only. 

Having multiple MTIs, suggests choice and that causes other problems. What happens when a client wants to use a bearer token over an unprotected connection? How does the client discover what can be used and when?

The approach we have now where the Token specification defines interop requirements and a profile for use with OAuth2 seems to be a good way to go.



On 2011-12-01, at 1:25 PM, Stephen Farrell wrote:

> Barry, all,
> First, apologies for being so slow responding, various
> travels got in the way. I hope we can quickly resolve this now.
> Bit of process first: at the meeting we discussed this and at the
> end of that discussion, there were quite a few more folks for the
> "pick one" position. People who favour that outcome and really
> care about that need to speak up on the list, since the list
> consensus trumps the sense of the room in the chairs' evaluation
> of the WG consensus.
> Second, at the meeting I said that I'd like to see either MAC or
> bearer picked as MTI, and if not, that I want the draft to say
> why its ok to have no MTI token type. So the WG either need to
> pick one, or else explicitly and convincingly justify not
> picking one. That's the "firm" AD position to which Barry
> referred. (I didn't properly call out the "if not" part of
> that in my AD review, sorry.)
> My own argument for picking one is simple: if every relevant
> piece of code has to know how to handle one then it becomes
> easier to get interop. If everyone decides for themselves
> then interop is less likely since there are currently two
> choices and may be more in future.
> I do realise that the background here and current practice
> is that code tends to be written that is specific to a
> resource server (or however that's best phrased) but that's
> maybe where the IETF differs from the community that produced
> OAuth - here we want two independent implementers who've
> never talked to produce code that interops even so.
> I also realise that that's not the full story for getting
> interop with OAuth and that more is needed. However, this
> aspect is otherwise fully specified and so I don't buy the
> argument that this isn't worth doing just because we don't
> have the full registration story etc. figured out. If we don't
> sort this out now, then later specs will have to update
> this one in this respect. possibly making existing code
> "non-compliant" in some sense, so just going ahead and doing
> it right now is better.
> So, pick one (my strong personal preference) or establish and
> document why you're not picking one seem to me to be the choices
> available.
> Regards,
> Stephen.
> On 11/17/2011 08:28 AM, Barry Leiba wrote:
>> Stephen, as AD, brought up the question of mandatory-to-implement
>> token types, in the IETF 82 meeting.  There was some extended
>> discussion on the point:
>> - Stephen is firm in his belief that it's necessary for
>> interoperability.  He notes that mandatory to *implement* is not the
>> same as mandatory to *use*.
>> - Several participants believe that without a mechanism for requesting
>> or negotiating a token type, there is no value in having any type be
>> mandatory to implement.
>> Stephen is happy to continue the discussion on the list, and make his
>> point clear.  In any case, there was clear consensus in the room that
>> we *should* specify a mandatory-to-implement type, and that that type
>> be bearer tokens.  This would be specified in the base document, and
>> would make a normative reference from the base doc to the bearer token
>> doc.
>> We need to confirm that consensus on the mailing list, so this starts
>> the discussion.  Let's work on resolving this over the next week or
>> so, and moving forward:
>> 1. Should we specify some token type as mandatory to implement?  Why
>> or why not (*briefly*)?
>> 2. If we do specify one, which token type should it be?
>> Barry, as chair
>> _______________________________________________
>> OAuth mailing list
> _______________________________________________
> OAuth mailing list