Re: [OAUTH-WG] Defining a maximum token length?

David Waite <david@alkaline-solutions.com> Wed, 10 March 2010 06:33 UTC

Return-Path: <david@alkaline-solutions.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 4D10D3A6A48 for <oauth@core3.amsl.com>; Tue, 9 Mar 2010 22:33:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.018
X-Spam-Level:
X-Spam-Status: No, score=0.018 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FH_HOST_EQ_D_D_D_D=0.765, FH_HOST_EQ_D_D_D_DB=0.888, HELO_MISMATCH_COM=0.553, HOST_MISMATCH_NET=0.311, RDNS_DYNAMIC=0.1]
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 IUg7NcSN0eZG for <oauth@core3.amsl.com>; Tue, 9 Mar 2010 22:33:20 -0800 (PST)
Received: from alkaline-solutions.com (208-78-100-23.slicehost.net [208.78.100.23]) by core3.amsl.com (Postfix) with ESMTP id 56C5E3A69FF for <oauth@ietf.org>; Tue, 9 Mar 2010 22:33:20 -0800 (PST)
Received: from [192.168.3.2] (c-24-9-79-15.hsd1.co.comcast.net [24.9.79.15]) by alkaline-solutions.com (Postfix) with ESMTPSA id 09CBA11C0BB for <oauth@ietf.org>; Wed, 10 Mar 2010 06:33:24 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Apple Message framework v1077)
From: David Waite <david@alkaline-solutions.com>
In-Reply-To: <fd6741651003091916o4c3b3a3ao4dc7871ddf7df23b@mail.gmail.com>
Date: Tue, 09 Mar 2010 23:33:24 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <C39B5264-75E2-456A-ABB7-D1530660BA99@alkaline-solutions.com>
References: <fd6741651003091550t5a464496r57aae9a60c516599@mail.gmail.com> <74caaad21003091623i8b7c343jc3bb806fe327492d@mail.gmail.com> <12ED1FAC-B9C6-47C1-AC01-AB33D110EF8C@gmail.com> <68f4a0e81003091824n5453cf4cp151f313de5fd9c5e@mail.gmail.com> <fd6741651003091916o4c3b3a3ao4dc7871ddf7df23b@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
X-Mailer: Apple Mail (2.1077)
Subject: Re: [OAUTH-WG] Defining a maximum token length?
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, 10 Mar 2010 06:33:22 -0000

On Mar 9, 2010, at 8:16 PM, David Recordon wrote:

> The challenge is that client developers (who we really want to make
> OAuth dead simple for) will be forced to use less optimal storage for
> tokens (blobs versus shorter and indexable types such as varchars).
> They also won't be able to build any assumptions around token length
> into their database design.  Any DBA cringes when they see the blob
> type for multiple columns within a table (access token and refresh
> token per user).

To throw another opinion on the fire - access tokens shouldn't be required to be over an order of magnitude smaller than browser cookies or HTTP headers, and nearly an order of magnitude smaller than a URL. In fact, 256 characters is only barely long enough to hold the longest allowed domain name.

To parallel browser cookies, HTTP headers and URLs, there are accepted 'minimum maximums' out there - which the minimum size that user agents are expected to support, and the maximum size the server will assume be supported by an arbitrary agent. I don't believe all of these are formalized, but they all exist.

> Some OAuth servers will have short tokens which a client might
> integrate with first and decide that a varchar(255) is reasonable to
> hold tokens.  They'll then run across a server with longer tokens, not
> realize it, and be confused why their client isn't working when it's
> due to their database silently truncating tokens after 255 characters.

Sounds like they should consider picking a different database vendor.

-DW