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

Brian Campbell <bcampbell@pingidentity.com> Tue, 21 September 2010 22:19 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 CAC993A681A for <oauth@core3.amsl.com>; Tue, 21 Sep 2010 15:19:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.853
X-Spam-Level:
X-Spam-Status: No, score=-5.853 tagged_above=-999 required=5 tests=[AWL=0.124, 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 NGSMoVX2NNjr for <oauth@core3.amsl.com>; Tue, 21 Sep 2010 15:19:53 -0700 (PDT)
Received: from na3sys009aog107.obsmtp.com (na3sys009aog107.obsmtp.com [74.125.149.197]) by core3.amsl.com (Postfix) with SMTP id 4EF593A6804 for <oauth@ietf.org>; Tue, 21 Sep 2010 15:19:52 -0700 (PDT)
Received: from source ([209.85.161.54]) by na3sys009aob107.postini.com ([74.125.148.12]) with SMTP ID DSNKTJkvoiy86APhunLk4LXZjMpHymdvFVFF@postini.com; Tue, 21 Sep 2010 15:20:19 PDT
Received: by mail-fx0-f54.google.com with SMTP id 9so2282864fxm.13 for <oauth@ietf.org>; Tue, 21 Sep 2010 15:20:18 -0700 (PDT)
Received: by 10.223.105.135 with SMTP id t7mr5108758fao.57.1285107618105; Tue, 21 Sep 2010 15:20:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.113.3 with HTTP; Tue, 21 Sep 2010 15:19:48 -0700 (PDT)
In-Reply-To: <1285104656.15179.12.camel@localhost.localdomain>
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>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Tue, 21 Sep 2010 16:19:48 -0600
Message-ID: <AANLkTi=3iCCDzbtuzHx7iD1qVTGadiPMnBNpHuVyuC-b@mail.gmail.com>
To: Justin Richer <jricher@mitre.org>
Content-Type: text/plain; charset="windows-1252"
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: Tue, 21 Sep 2010 22:19:54 -0000

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%3Aassertion&
>> >>
>> >>   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%3Aassertion&
>> >>
>> >>   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
>> >
>
>
>