Re: [OAUTH-WG] Implicit flow, scopes, and url length limit

Nat Sakimura <sakimura@gmail.com> Mon, 29 April 2013 09:19 UTC

Return-Path: <sakimura@gmail.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E239021F9D3C for <oauth@ietfa.amsl.com>; Mon, 29 Apr 2013 02:19:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.298
X-Spam-Level:
X-Spam-Status: No, score=-3.298 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HvmTrT1WmilM for <oauth@ietfa.amsl.com>; Mon, 29 Apr 2013 02:19:52 -0700 (PDT)
Received: from mail-lb0-f178.google.com (mail-lb0-f178.google.com [209.85.217.178]) by ietfa.amsl.com (Postfix) with ESMTP id 76E7A21F9D45 for <oauth@ietf.org>; Mon, 29 Apr 2013 02:19:51 -0700 (PDT)
Received: by mail-lb0-f178.google.com with SMTP id w10so5459639lbi.9 for <oauth@ietf.org>; Mon, 29 Apr 2013 02:19:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=73SbX9HawfI55awqE1k9LblsBT5QyXtRuHPxr6BzDYc=; b=dsV2IaLsGa5rg4G61K9yYwmkr1/eQPbw80uoi21JpgkwgTZzRllsO+WQzDmkBzZ3OH kwWJVNwQSWg2CE/unfE8csTwj3VrW0lbS99fYS7xp0UbWJEP7YoZQGHCnD+ZekjJDDrV wMf7Dr4IX3VBWt6+U4zowjIquVQipVYepngaFwqC10+55YhIRHP+Fdao6jwGKBHzbv4H sH2veHPQ/a00HOKi1JImjmsyLINH+1jCuSaJHIF+Onww2xeSmfsLlDIsEZk9t4aCY0zm Jy/nxuIrUyJE4v6b31A0S6nRQjsea3rugJ9y2wMrFAdAvZeW1z4/+EVi5L0joXpxtruj Xdvg==
MIME-Version: 1.0
X-Received: by 10.112.199.230 with SMTP id jn6mr26434517lbc.131.1367227190078; Mon, 29 Apr 2013 02:19:50 -0700 (PDT)
Received: by 10.112.129.165 with HTTP; Mon, 29 Apr 2013 02:19:50 -0700 (PDT)
In-Reply-To: <CA+iS77CZ-A9ZDed_UAWH00X+QjY2DxfxSb6g+BeAWSL6iF++BA@mail.gmail.com>
References: <CA+iS77CZ-A9ZDed_UAWH00X+QjY2DxfxSb6g+BeAWSL6iF++BA@mail.gmail.com>
Date: Mon, 29 Apr 2013 11:19:50 +0200
Message-ID: <CABzCy2DG5LAMmT3N4eSCd0Px0nHXBVFVt5ievyX-Jhiok+PTzw@mail.gmail.com>
From: Nat Sakimura <sakimura@gmail.com>
To: Bojan Živanović <bojanz@gmail.com>
Content-Type: multipart/alternative; boundary="001a11c38516fe028e04db7c62a1"
Cc: oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Implicit flow, scopes, and url length limit
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Mon, 29 Apr 2013 09:19:53 -0000

Essentially, that is what OpenID Connect does with request_uri or request
object.

In OpenID Connect, a client can register the request parameters to the
server before hand and get the reference to it called request_uri. Then, it
can be passed to the authorization server by an extensiion parameter called
request_uri. In this case, scope includes only "openid" effectively saying
"look at the registered request file for the details".

Best,

Nat


2013/4/28 Bojan Živanović <bojanz@gmail.com>

> Hi everyone,
> I've written an oauth2 server for Drupal (
> http://drupal.org/project/oauth2_server) based on the
> https://github.com/bshaffer/oauth2-server-php PHP library.
> My company is preparing a fairly large OAuth 2.0 deployment based on that
> code.
>
> On the library level we recently discussed the problem of scopes in the
> redirect urls during implicit flow.
>
> The URL limit is 2083 characters (imposed by Internet Explorer).
> During the implicit flow, scope is passed in the URL.
> If the server uses long scope names, and the client gets granted several
> of those, it is possible to breach that limit (especially since the domain
> name and the rest of the redirect url path is also a part of that 2083
> limit).
> Has this problem been discussed previously, and what were the conclusions?
>
> My idea was to introduce a setting that would cause scope to not be passed
> through the redirect_url in this case, so that it is later fetched through
> a separate resource (we have a "tokens" resource just like GitHub, Facebook
> and Google do, for getting all information about the passed token. Calling
> this resource from the server side after an implicit flow allows us to
> avoid the
> http://homakov.blogspot.com/2012/08/oauth2-one-accesstoken-to-rule-them-all.htmlattack
> ).
>
> Thoughts?
>
> Thanks,
> Bojan
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>


-- 
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en