Re: [OAUTH-WG] assertion, client_assertion_type and client_assertion

Brian Campbell <> Mon, 31 January 2011 14:13 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5480E3A6C04 for <>; Mon, 31 Jan 2011 06:13:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.755
X-Spam-Status: No, score=-5.755 tagged_above=-999 required=5 tests=[AWL=0.222, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id zn31FHsyCrvF for <>; Mon, 31 Jan 2011 06:13:31 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 8EAE53A6BFA for <>; Mon, 31 Jan 2011 06:13:29 -0800 (PST)
Received: from source ([]) (using TLSv1) by ([]) with SMTP ID DSNKTUbESayjy0cWCAL28ixQD4/; Mon, 31 Jan 2011 06:16:45 PST
Received: by with SMTP id 12so6662922fxm.14 for <>; Mon, 31 Jan 2011 06:16:41 -0800 (PST)
Received: by with SMTP id c7mr1101359fao.76.1296483401416; Mon, 31 Jan 2011 06:16:41 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Mon, 31 Jan 2011 06:16:11 -0800 (PST)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723445A8FB2B14@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <> <90C41DD21FB7C64BB94121FBBC2E723445A8FB2B14@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Brian Campbell <>
Date: Mon, 31 Jan 2011 07:16:11 -0700
Message-ID: <>
To: Eran Hammer-Lahav <>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <>
Subject: Re: [OAUTH-WG] assertion, client_assertion_type and client_assertion
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 31 Jan 2011 14:13:32 -0000

I'm happy to make that change.  But is it really necessary?   The
assertion parameter in draft-ietf-oauth-saml2-bearer is defined in the
context of using the
"" grant type.
Couldn't it be argued that other URI grant types could make use of it
without issue or conflict?  Does this suggest that the registry isn't
granular enough?  It seems the definition of the assertion parameter
in the context of a new grant type should probably prohibit its use in
other extension mechanisms that might be used along side the grant but
not in other grant definitions (AFAIK, there's no way to present two
grants at the same time).

On Sun, Jan 30, 2011 at 3:58 PM, Eran Hammer-Lahav <> wrote:
>> -----Original Message-----
>> Marius Scurtescu
>> The assertion parameter was in core, but it was removed and now it is
>> defined by SAML 2.0 Bearer Assertion Grant Type Profile. What will the next
>> assertion extension do, let's say JWT? It can either re-define the assertion
>> parameter or it can reference SAML 2.0 Bearer. Does re-defining imply
>> registration as well? How would that work? Having JWT depend on SAML
>> does not make much sense.
> It makes no sense to define this parameter in the authorization specification because assertions are no longer discussed. It would be a very odd and out of context definition. The appropriate solution here is for the SAML specification to change its definition of the assertion parameter to be more generally applicable. For example:
>   assertion
>         REQUIRED.  The assertion used to obtain an access token. The value of the
>         assertion parameter MUST contain a single assertion. When used with the
>"  grant type, the
>         assertion MUST be a SAML 2.0 Assertion.  The SAML 2.0 Assertion XML data
>         MUST be encoded using base64url, where the encoding adheres to the
>         definition in Section 5 of RFC4648 [RFC4648] and where the
>         padding bits are set to zero.  To avoid the need for
>         subsequent encoding steps (by "application/
>         x-www-form-urlencoded" [W3C.REC-html401-19991224], for
>         example), the base64url encoded data SHOULD NOT be line wrapped
>         and pad characters ("=") SHOULD NOT be included.
> This way, other specifications can simply use this parameter as-is without any additional registrations or updates.