Re: [OAUTH-WG] Scope :: Was: Extensibility for OAuth?
Eran Hammer-Lahav <eran@hueniverse.com> Fri, 25 June 2010 18:15 UTC
Return-Path: <eran@hueniverse.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 BEFB028C14E for <oauth@core3.amsl.com>; Fri, 25 Jun 2010 11:15:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.222
X-Spam-Level:
X-Spam-Status: No, score=-2.222 tagged_above=-999 required=5 tests=[AWL=0.377, BAYES_00=-2.599]
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 joPlyJW3lLSe for <oauth@core3.amsl.com>; Fri, 25 Jun 2010 11:15:09 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id BF5763A6A12 for <oauth@ietf.org>; Fri, 25 Jun 2010 11:15:06 -0700 (PDT)
Received: (qmail 29031 invoked from network); 25 Jun 2010 18:15:15 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 25 Jun 2010 18:15:15 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 25 Jun 2010 11:15:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, "Tschofenig, Hannes (NSN - FI/Espoo)" <hannes.tschofenig@nsn.com>
Date: Fri, 25 Jun 2010 11:14:53 -0700
Thread-Topic: [OAUTH-WG] Scope :: Was: Extensibility for OAuth?
Thread-Index: AcsUfhXUk/ktt6NIQ7KrslszLvt3aQAE7yxQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E72343B3EC84994@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <3D3C75174CB95F42AD6BCC56E5555B4502BE07CC@FIESEXC015.nsn-intra.net><E7A7F197-3BBC-43F2-8242-D0164057A39A@gmail.com><AANLkTild51WHVcXxYFCygL8sGSGiN3HILDFwIbym6Lfi@mail.gmail.com> <3D3C75174CB95F42AD6BCC56E5555B4502869858@FIESEXC015.nsn-intra.net> <012AB2B223CB3F4BB846962876F47217059B663D@SNV-EXVS08.ds.corp.yahoo.com> <3D3C75174CB95F42AD6BCC56E5555B450286986B@FIESEXC015.nsn-intra.net> <9BBAE9AB-A0CD-448F-B817-21389C1BBCAF@gmail.com>
In-Reply-To: <9BBAE9AB-A0CD-448F-B817-21389C1BBCAF@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope :: Was: Extensibility for OAuth?
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: Fri, 25 Jun 2010 18:15:32 -0000
I like the idea of an extensibility mechanism for standard scopes, but I am not sure I like the idea of a prefix or reserved characters. Using URIs as scope values was a requirement (and something that is currently deployed by Google). We defined space-delimited to make simple strings and URIs possible as values. My question is, why isn't URIs enough for standard scopes? Define simple strings as server-specific and allow URIs to be used in standards (which will solve potential name collisions). It might make standard scopes a bit less cool but that's not a technical argument. I also think scopes are likely to be extended a lot more than other extension types and would like to keep the process as light as possible (i.e. no registration at all). EHL > -----Original Message----- > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf > Of Dick Hardt > Sent: Friday, June 25, 2010 8:50 AM > To: Tschofenig, Hannes (NSN - FI/Espoo) > Cc: OAuth WG > Subject: Re: [OAUTH-WG] Scope :: Was: Extensibility for OAuth? > > To clarify, the goal is to reserve a namespace for future use so that near term > implementations won't collide? > > I expect the standardization of scope values to not be in OAuth, but in > standardized APIs that use OAuth, so a namespace mechanism that > differentiates between a standardized scope and an implementation specific > scope may be useful. > > From what I have gathered, implementors are leaning towards simple strings > rather than URIs to declare scope. Perhaps reserving the ":" character from > being in a scope string unless the scope prefix has been registered with > IANA? > > -- Dick > On 2010-06-25, at 12:59 AM, Tschofenig, Hannes (NSN - FI/Espoo) wrote: > > > Dick pointed me to the Facebook API on how scope is used. > > The main page is here: > > http://developers.facebook.com/docs/authentication/ > > > > It describes the basic functionality and also lists an example: > > > > " > > https://graph.facebook.com/oauth/authorize? > > client_id=...& > > redirect_uri=http://www.example.com/callback& > > scope=user_photos,user_videos,publish_stream > > " > > > > The values of the scope parameter are then explained here: > > http://developers.facebook.com/docs/authentication/permissions > > > > Example: user_photos ... Provides access to the photos the user has > > uploaded > > > > I think it provides a good example that the scope values are not opaque. > > Opaque (in this context) means that only the entity creating it needs to > understand it and nobody else. Here the client needs to understand and set > them. > > > > However, one could argue that the scope values are already bound to the > specific entity the client requests to obtain the assertion from. In this specific > case it would be "https://graph.facebook.com". > > > > To respond to the statement Dick made about having standardized values > later there would still be the need to decide about the structure of the > values now. One possibility is to just add a prefix for standardized values that > are not allowed to be used in other cases, such as "std:". > > > > Ciao > > Hannes > > > > > >> -----Original Message----- > >> From: ext William Mills [mailto:wmills@yahoo-inc.com] > >> Sent: Thursday, June 24, 2010 8:15 PM > >> To: Tschofenig, Hannes (NSN - FI/Espoo); ext Lukas Rosenstock; Dick > >> Hardt > >> Cc: OAuth WG > >> Subject: RE: [OAUTH-WG] Scope :: Was: Extensibility for OAuth? > >> > >> I'm in favor of having a spaces separated list of tokens. > >> The only case I can think of where the client needs to handle the > >> scope as anything other than opaque is when it is accessing multiple > >> services. To reduce the numebr of login events the client will have > >> to poll all the endpoints it wants to access and get all the scopes > >> advertized by them and submit them all, and once it has them it needs > >> to submit all of them in it's auth request, so we need something > >> that's easy for the client to put together. > >> > >> > >> -bill > >> > >>> -----Original Message----- > >>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] > >>> On Behalf Of Tschofenig, Hannes (NSN - FI/Espoo) > >>> Sent: Thursday, June 24, 2010 3:58 AM > >>> To: ext Lukas Rosenstock; Dick Hardt > >>> Cc: OAuth WG > >>> Subject: Re: [OAUTH-WG] Scope :: Was: Extensibility for OAuth? > >>> > >>> The question is whether one would ever want to have a > >>> standardized semantic for the scope parameter. > >>> If the answer to that question is "no" then it does not > >>> matter what the format is. It can well be a list of > >>> space-delimited strings (as it is currently defined). > >>> > >>> An evironment specific semantic works well in cases where > >>> entity X sets the value and later it receives the value > >>> again. Only entity X needs to understand what it means. > >>> > >>> In some environments the use case is slightly different, > >>> namely entity X and entity Y are from the same organization > >>> and agree on the semantic. Usage of OAuth within an > >>> enterprise might be such a case. > >>> > >>> Now, the usage of the scope parameter is, however, a bit > >>> different in the spec. Section 4, for example, describes how > >>> a client obtains an access token. How does the client know > >>> what scope parameters to set and what the semantic is? > >>> > >>> Ciao > >>> Hannes > >>> > >>>> -----Original Message----- > >>>> From: ext Lukas Rosenstock [mailto:lr@lukasrosenstock.net] > >>>> Sent: Thursday, June 24, 2010 10:49 AM > >>>> To: Dick Hardt > >>>> Cc: Tschofenig, Hannes (NSN - FI/Espoo); OAuth WG > >>>> Subject: Re: [OAUTH-WG] Scope :: Was: Extensibility for OAuth? > >>>> > >>>> Wasn't there some concensus that URIs would be good for > >> scope? They > >>>> have "in-built namespacing" ... > >>>> > >>>> Lukas > >>>> > >>>> 2010/6/23 Dick Hardt <dick.hardt@gmail.com>: > >>>>> > >>>>> On 2010-06-22, at 11:07 PM, Tschofenig, Hannes (NSN - > >>>> FI/Espoo) wrote: > >>>>> > >>>>>> " > >>>>>> scope > >>>>>> OPTIONAL. The scope of the access request > >>>> expressed as a list > >>>>>> of space-delimited strings. The value of the > >>>> "scope" parameter > >>>>>> 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. > >>>>>> " > >>>>>> > >>>>>> Do folks think it would be useful to have standardized values? > >>>>> > >>>>> Not at this time. The semantics of scope are all over the > >>>> place. If standardized, people will feel they need to pick > >>> one that is > >>>> close to what they want, but is not exactly what they mean. > >>> I think it > >>>> is better for the AS to define what they mean by a scope > >>> and give it a > >>>> name that makes sense in that context. > >>>>> > >>>>>> > >>>>>> If the answer is "yes", then it would be useful to > >>>> differentiate the > >>>>>> standardized values from those values that are purely > >>>> defined locally by > >>>>>> the authorization server. > >>>> > >>> _______________________________________________ > >>> OAuth mailing list > >>> OAuth@ietf.org > >>> https://www.ietf.org/mailman/listinfo/oauth > >>> > >> > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth
- [OAUTH-WG] Extensibility for OAuth? Tschofenig, Hannes (NSN - FI/Espoo)
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… William Mills
- [OAUTH-WG] Scope :: Was: Extensibility for OAuth? Dick Hardt
- Re: [OAUTH-WG] Extensibility for OAuth? Thomas Hardjono
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Lukas Rosenstock
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Tschofenig, Hannes (NSN - FI/Espoo)
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Justin Richer
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Dick Hardt
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Tschofenig, Hannes (NSN - FI/Espoo)
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Justin Richer
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Blaine Cook
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Dick Hardt
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Dick Hardt
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Luke Shepard
- Re: [OAUTH-WG] Extensibility for OAuth? Eran Hammer-Lahav
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Eran Hammer-Lahav
- Re: [OAUTH-WG] Extensibility for OAuth? Dick Hardt
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Eran Hammer-Lahav
- Re: [OAUTH-WG] Extensibility for OAuth? Eran Hammer-Lahav
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Dick Hardt
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Eran Hammer-Lahav
- Re: [OAUTH-WG] Extensibility for OAuth? Dick Hardt
- Re: [OAUTH-WG] Extensibility for OAuth? Eran Hammer-Lahav
- Re: [OAUTH-WG] Scope :: Was: Extensibility for OA… Justin Hart