[OAUTH-WG] access/refresh token scope ambiguity

Andrew Arnott <andrewarnott@gmail.com> Mon, 27 June 2011 15:47 UTC

Return-Path: <andrewarnott@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 26C74228011 for <oauth@ietfa.amsl.com>; Mon, 27 Jun 2011 08:47:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level:
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id veSVZW1ayku2 for <oauth@ietfa.amsl.com>; Mon, 27 Jun 2011 08:47:53 -0700 (PDT)
Received: from mail-qy0-f179.google.com (mail-qy0-f179.google.com [209.85.216.179]) by ietfa.amsl.com (Postfix) with ESMTP id 6641222800E for <oauth@ietf.org>; Mon, 27 Jun 2011 08:47:53 -0700 (PDT)
Received: by qyk29 with SMTP id 29so3560870qyk.10 for <oauth@ietf.org>; Mon, 27 Jun 2011 08:47:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=G7wXHjNiv3IwIh9gcbwqZ80wny9rnv9jKLYbxmjZVXQ=; b=sWKyDtbKhaSCj3qsLVXOvcs5OAPajARkpp0Capb7utgNFsUSbT/CRHEzIVhm1Jqrv8 Z9h7LdYhRL0XdQA+UBhejca6ODWQWmaQKO9DrS+M4bNtSDPTtpEbt/JuxBwBzuzfZBjD gfPxaxahsvNGQCrzoT426A3R5qzxdZrDs19Oo=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=jBF03U3UzLgzIVrA0xSZvnrNhtUTxyLd8zRTT7+rPo5+2Qr4XgpVUMhGmtcpehF2OF +UHde+CMhjR8UzC9Kux8koMgN8ye8f0Wz5Gr/cuW9Hf/TfT9QUrzUzhmdW7r59rQTPDm R/vTIWlQPExrMn8BJIRwWzqVlHrOCrV8evTMM=
Received: by 10.229.44.14 with SMTP id y14mr4726196qce.110.1309189668128; Mon, 27 Jun 2011 08:47:48 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.34.202 with HTTP; Mon, 27 Jun 2011 08:47:28 -0700 (PDT)
From: Andrew Arnott <andrewarnott@gmail.com>
Date: Mon, 27 Jun 2011 08:47:28 -0700
Message-ID: <BANLkTik+37xDk=e3HR8pXMEJczgwRp3Kog@mail.gmail.com>
To: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="0016364ed7741cc84804a6b3795e"
Subject: [OAUTH-WG] access/refresh token scope ambiguity
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, 27 Jun 2011 15:47:54 -0000

I was looking at the scenario of using a refresh token to obtain a new
access token, and noticed that in draft 16, Section 5.1 "Successful
Response" describes the scope parameter in a confusing way that suggests a
copy and paste error.  Included below, with [[emphasis added]].

   scope
         OPTIONAL.  The scope of the [[access request]] expressed as a list
         of space-delimited, case sensitive strings.  The value is
         defined by the authorization server.  If the value contains
         multiple space-delimited strings, their order does not matter,
         and each string adds an additional access range to the
         requested scope.  The authorization server SHOULD include the
         parameter [[if the requested scope is different from the one
         requested by the client.]]

Why would the scope parameter in a response includes the scope of the
[[request]]? Particularly in light of what comes [[later]].  Also, how could
the requested scope be different from the one requested from the client.
 The client is the one making the request in the first place.


I'm also wondering if while using a refresh_token to obtain a new access
token, when the auth server has the opportunity to issue a new refresh_token
at the same time that the scope of the refresh token might change.  I would
hope not, but perhaps it may.  Considering the scenario where a client has a
powerful refresh token and wishes to obtain a limited access token (smaller
scope), would the scope parameter in the section 5.1 response match the
scope of the newly issued refresh token or the newly issued access token?
 I'm hoping the spec can be beefed up to remove any ambiguity here.
--
Andrew Arnott
"I [may] not agree with what you have to say, but I'll defend to the death
your right to say it." - S. G. Tallentyre