Re: [OAUTH-WG] polling in the device flow

Dirk Balfanz <balfanz@google.com> Wed, 09 June 2010 23:52 UTC

Return-Path: <balfanz@google.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 B43A83A6880 for <oauth@core3.amsl.com>; Wed, 9 Jun 2010 16:52:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.373
X-Spam-Level:
X-Spam-Status: No, score=-101.373 tagged_above=-999 required=5 tests=[AWL=0.603, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
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 h6mh+lwmRpfq for <oauth@core3.amsl.com>; Wed, 9 Jun 2010 16:51:59 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 1BFAB3A69B9 for <oauth@ietf.org>; Wed, 9 Jun 2010 16:51:57 -0700 (PDT)
Received: from wpaz5.hot.corp.google.com (wpaz5.hot.corp.google.com [172.24.198.69]) by smtp-out.google.com with ESMTP id o59Npv66015598 for <oauth@ietf.org>; Wed, 9 Jun 2010 16:51:58 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1276127518; bh=cvUMpRGa4Aj3IIIMAGKk6O/s/og=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=XmurqJzcYbzvEbYgxQghvWeuPedYsuKrEXP0Zpg7wCSa5mQSWxfQF7WrvD9xKREH0 +8icXL6JHEV65dXglcCxw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type; b=lDVcmmG4P2sKrggM5T+ZmpVwfMWfiDU3mss3D/4cOO4EaCh3dhC3QFP/G0rwGf9Te eQS6mmxZ/prj1OL7et2VQ==
Received: from iwn35 (iwn35.prod.google.com [10.241.68.99]) by wpaz5.hot.corp.google.com with ESMTP id o59Npuil022326 for <oauth@ietf.org>; Wed, 9 Jun 2010 16:51:57 -0700
Received: by iwn35 with SMTP id 35so6159929iwn.10 for <oauth@ietf.org>; Wed, 09 Jun 2010 16:51:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.141.27 with SMTP id k27mr8541553ibu.152.1276127515897; Wed, 09 Jun 2010 16:51:55 -0700 (PDT)
Received: by 10.231.68.144 with HTTP; Wed, 9 Jun 2010 16:51:55 -0700 (PDT)
In-Reply-To: <AANLkTim5tJMXK4mcb7SrxK4ZR6FQqRKpZqRmxZ9QOpY9@mail.gmail.com>
References: <AANLkTimOXzscoFDtf-PO8965xuchEBJvqALiWM3O9fMl@mail.gmail.com> <4C0F3FFF.2050209@lodderstedt.net> <255B9BB34FB7D647A506DC292726F6E11263F7B9FB@WSMSG3153V.srv.dir.telstra.com> <AANLkTim5tJMXK4mcb7SrxK4ZR6FQqRKpZqRmxZ9QOpY9@mail.gmail.com>
Date: Wed, 09 Jun 2010 16:51:55 -0700
Message-ID: <AANLkTimyolfWkyYLCVw50fUkL7R94ifdtN-dGhe_vPHT@mail.gmail.com>
From: Dirk Balfanz <balfanz@google.com>
To: David Recordon <recordond@gmail.com>
Content-Type: multipart/alternative; boundary="0016e646513c45ef300488a19769"
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] polling in the device flow
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, 09 Jun 2010 23:52:02 -0000

On Wed, Jun 9, 2010 at 10:58 AM, David Recordon <recordond@gmail.com> wrote:

> Unless I'm misreading the Timeouts spec, it defines a HTTP request
> header which the client uses to tell the server how long it will wait.
>

That's how I read them, too. But that might be an alternative way to pick up
the token in the device flow - issue a "hanging" request that returns when
the token is rejected/approved. If you do that, then the timeout specs
become relevant. Either way, it feels to me like this should be handled at
the HTTP layer.

Dirk.


> That's a different problem from the server telling the client to back
> off it's request rate.
>
> A 503 with a Retry-After header seems reasonable. We should specify
> this interaction given that 503 headers will be new to many
> developers.
>
> --David
>
>
> On Wed, Jun 9, 2010 at 12:29 AM, Manger, James H
> <James.H.Manger@team.telstra.com> wrote:
> > Right on cue a new internet-draft covering the HTTP polling issue has
> just
> > appeared:
> >
> >
> >
> >   Hypertext Transfer Protocol (HTTP) Timeouts
> >
> >   draft-loreto-http-timeout [June 2010]
> >
> >
> >
> > See also:
> >
> >   Best Practices for the Use of Long Polling and Streaming in
> Bidirectional
> > HTTP
> >
> >   draft-loreto-http-bidirectional [Feb 2010]
> >
> >
> >
> > --
> >
> > James Manger
> >
> >
> >
> > Am 08.06.2010 22:23, schrieb Dirk Balfanz:
> >
> > Hi guys,
> >
> > currently, we specify how polling should work in the device flow as part
> of
> > the OAuth2 spec.
> >
> > I would argue that that polling should be handled at a lower layer of the
> > stack, and that OAuth2 should be silent on the issue of polling. The
> benefit
> > will be a simpler spec.
> >
> > HTTP specifies the 503 response code with the (optional) Retry-After
> > response header. ASs could just use that mechanism to throttle clients,
> > instead of handling it at the OAuth layer.
> >
> > The OAuth spec could say something like: "The client requests the access
> > token after the user approves or rejects authorization. If the client
> cannot
> > determine when the user has approved or rejected the authorization, the
> > client MAY poll the server. The server MAY use throttling mechanisms such
> as
> > 503 HTTP response codes and Retry-After response headers which, if used,
> the
> > client MUST obey."
> >
> > What do you guys think?
> >
> > BTW, there is some precedence for this. Google's APIs use 503 response
> codes
> > to throttle servers, e.g.
> >
> http://code.google.com/googleapps/domain/gdata_provisioning_api_v2.0_reference.html
> >
> > Dirk.
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> >
>