Re: [OAUTH-WG] Simpilfying use of assertions when requesting an access token

Brian Campbell <bcampbell@pingidentity.com> Thu, 23 September 2010 21:08 UTC

Return-Path: <bcampbell@pingidentity.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 0C0183A6A59 for <oauth@core3.amsl.com>; Thu, 23 Sep 2010 14:08:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.859
X-Spam-Level:
X-Spam-Status: No, score=-5.859 tagged_above=-999 required=5 tests=[AWL=0.118, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4]
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 De7hC+EFABdK for <oauth@core3.amsl.com>; Thu, 23 Sep 2010 14:08:32 -0700 (PDT)
Received: from na3sys009aog104.obsmtp.com (na3sys009aog104.obsmtp.com [74.125.149.73]) by core3.amsl.com (Postfix) with SMTP id C65EE3A69D0 for <oauth@ietf.org>; Thu, 23 Sep 2010 14:08:31 -0700 (PDT)
Received: from source ([209.85.161.51]) by na3sys009aob104.postini.com ([74.125.148.12]) with SMTP ID DSNKTJvB7Vi+Qki5EMRSvm1BJU/cLRBE4wnw@postini.com; Thu, 23 Sep 2010 14:09:02 PDT
Received: by fxm2 with SMTP id 2so1796869fxm.24 for <oauth@ietf.org>; Thu, 23 Sep 2010 14:09:00 -0700 (PDT)
Received: by 10.223.113.79 with SMTP id z15mr2678208fap.23.1285276140569; Thu, 23 Sep 2010 14:09:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.113.3 with HTTP; Thu, 23 Sep 2010 14:08:30 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E72343D45D7F94F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <90C41DD21FB7C64BB94121FBBC2E72343B3F35BE13@P3PW5EX1MB01.EX1.SECURESERVER.NET> <1283462840.3809.42.camel@localhost.localdomain> <90C41DD21FB7C64BB94121FBBC2E72343B3F35BE2D@P3PW5EX1MB01.EX1.SECURESERVER.NET> <AANLkTinvch2Xc+LzMzVjQGjMx0yXHKheR=93D5ExJhzC@mail.gmail.com> <1285104656.15179.12.camel@localhost.localdomain> <AANLkTi=3iCCDzbtuzHx7iD1qVTGadiPMnBNpHuVyuC-b@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72343D45D7F94F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Thu, 23 Sep 2010 15:08:30 -0600
Message-ID: <AANLkTi=bK6oVTs+fBdpNqD0KU+1XU5wM++W2zqs61DwS@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Simpilfying use of assertions when requesting an access token
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: Thu, 23 Sep 2010 21:08:37 -0000

Do parameters defined by grant types really need a registry?  I mean,
a client only presents one access grant request at a time so it's not
like there's potential for name conflicts. Am I missing something?



On Wed, Sep 22, 2010 at 10:53 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> It's a question of use cases. Right now, a single assertion parameter seems to be useful. But there is no strong reason why the SAML spec can't register that as an extension. The thing is, once that is done, other specs using the same parameter (say, a future SAML spec for a newer version) will need to update the registry and potentially the RFC of the extension... Not pretty.
>
> So if we have consensus that an assertion parameter is better than a saml2 and saml3 parameters for each extension, I'd say keep it in.
>
> EHL
>
>> -----Original Message-----
>> From: Brian Campbell [mailto:bcampbell@pingidentity.com]
>> Sent: Tuesday, September 21, 2010 3:20 PM
>> To: Justin Richer
>> Cc: Eran Hammer-Lahav; OAuth WG (oauth@ietf.org)
>> Subject: Re: [OAUTH-WG] Simpilfying use of assertions when requesting an
>> access token
>>
>> I'm not sure one email from me asking for clarification exactly counts
>> as a movement ;-)   I was just thinking that it'd be more consistent
>> to have each uri-defined grant type define it's own parameter set.
>> Really this is what is already happening with the core defined short names -
>> the "authorization_code" grant type defines the "code" param, the
>> "password" grant type defines the "username" and "password"
>> params, and "refresh_token" defines "refresh_token".   The
>> "client_credentials" grant type is a little different in that it doesn't directly
>> define parameters but defers to a different part of the spec to do that but a
>> uri extension could conceivably do something similar (point to other specs or
>> other layers in the protocol stack or whatever).
>>
>> Having said all that, however, I do see the logic in what you said about having
>> the one assertion parameter.  But, I dunno, it just seems a little awkward
>> there all by itself.
>>
>>
>> On Tue, Sep 21, 2010 at 3:30 PM, Justin Richer <jricher@mitre.org> wrote:
>> > I personally think it makes a certain amount of sense to have the
>> > assertion parameter: if you have only one thing to say, here's where
>> > to say it. And I think that we've got a few cases of assertions with
>> > only a single string to assert. However, I was always concerned with
>> > that single parameter as the *only* allowed parameter, which Eran has
>> > said won't be a problem. That said, if there's a movement for dropping
>> > it in favor of extension-defined parameter sets, I won't block it.
>> >
>> >  -- Justin
>> >
>> > On Tue, 2010-09-21 at 17:11 -0400, Brian Campbell wrote:
>> >> Following from that (Justin: "url-defined grant type can also legally
>> >> add and remove parameters from the endpoint, right?" / Eran: "Yes")
>> >> does the assertion parameter still make sense to have in the core
>> >> spec?  I had sort of assumed that it would be going away in favor of
>> >> whatever parameters any url-defined grant type would deem necessary.
>> >> However, Eran's "working copy" of draft -11 as of 2010-09-03 still
>> >> has the assertion parameter.  Is that area still being worked on or
>> >> was the intent to leave the parameter in for -11?
>> >>
>> >>
>> >> On Thu, Sep 2, 2010 at 3:28 PM, Eran Hammer-Lahav
>> <eran@hueniverse.com> wrote:
>> >> > Yes.
>> >> >
>> >> > -----Original Message-----
>> >> > From: Justin Richer [mailto:jricher@mitre.org]
>> >> > Sent: Thursday, September 02, 2010 2:27 PM
>> >> > To: Eran Hammer-Lahav
>> >> > Cc: OAuth WG (oauth@ietf.org)
>> >> > Subject: Re: [OAUTH-WG] Simpilfying use of assertions when
>> >> > requesting an access token
>> >> >
>> >> > +1
>> >> >
>> >> > I've never liked the notion of not being able to extend the "grant type"
>> >> > field, and this change addresses that particular gripe.
>> >> >
>> >> > Just so I'm clear here: an extension that defines its own url-defined
>> grant type can also legally add and remove parameters from the endpoint,
>> right?
>> >> >
>> >> >  -- Justin
>> >> >
>> >> > On Thu, 2010-09-02 at 17:11 -0400, Eran Hammer-Lahav wrote:
>> >> >> I would like to make this change in -11:
>> >> >>
>> >> >>
>> >> >>
>> >> >> Instead of the current user of the 'assertion' grant type -
>> >> >>
>> >> >>
>> >> >>
>> >> >>   POST /token HTTP/1.1
>> >> >>
>> >> >>   Host: server.example.com
>> >> >>
>> >> >>   Content-Type: application/x-www-form-urlencoded
>> >> >>
>> >> >>
>> >> >>
>> >> >>   grant_type=assertion&
>> >> >>
>> >> >>
>> >> >>
>> assertion_type=urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aassertio
>> n&
>> >> >>
>> >> >>   assertion=PHNhbWxwOl[...omitted for brevity...]ZT4%3D
>> >> >>
>> >> >>
>> >> >>
>> >> >> Drop the 'assertion' grant type and put the assertion type
>> >> >> directly in the grant_type parameter:
>> >> >>
>> >> >>
>> >> >>
>> >> >>   POST /token HTTP/1.1
>> >> >>
>> >> >>   Host: server.example.com
>> >> >>
>> >> >>   Content-Type: application/x-www-form-urlencoded
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>   grant_type=urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aassertio
>> n&
>> >> >>
>> >> >>   assertion=PHNhbWxwOl[...omitted for brevity...]ZT4%3D
>> >> >>
>> >> >>
>> >> >>
>> >> >> In other words, the grant_type parameter value will be defined as:
>> >> >>
>> >> >>
>> >> >>
>> >> >> -          authorization_code
>> >> >>
>> >> >> -          password
>> >> >>
>> >> >> -          client_credentials
>> >> >>
>> >> >> -          refresh_token
>> >> >>
>> >> >> -          an abolute URI (extensions)
>> >> >>
>> >> >>
>> >> >>
>> >> >> I considered turning all the values into URIs but found it to be
>> >> >> counter-intuitive. The practice of using "official" short names
>> >> >> and extension URIs is well established and is already the general
>> >> >> architecture used here. This just makes it cleaner.
>> >> >>
>> >> >>
>> >> >>
>> >> >> I ran this idea by Brian Campbell and Chuck Mortimore who are
>> >> >> generally supportive of the idea.
>> >> >>
>> >> >>
>> >> >>
>> >> >> Any objections?
>> >> >>
>> >> >>
>> >> >>
>> >> >> EHL
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > OAuth mailing list
>> >> > OAuth@ietf.org
>> >> > https://www.ietf.org/mailman/listinfo/oauth
>> >> >
>> >
>> >
>> >
>