Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt

Nat Sakimura <> Thu, 30 March 2017 22:33 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0389D129440 for <>; Thu, 30 Mar 2017 15:33:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.452
X-Spam-Status: No, score=-0.452 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_BRBL_LASTEXT=1.449, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id heblVSM2o7yF for <>; Thu, 30 Mar 2017 15:33:37 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 914FB12426E for <>; Thu, 30 Mar 2017 15:33:37 -0700 (PDT)
Received: from [] ([::ffff:]) (AUTH: LOGIN nat, SSL: TLSv1/SSLv3,256bits,AES256-SHA) by with ESMTPSA; Thu, 30 Mar 2017 22:33:31 +0000 id 0000000000145F9D.0000000058DD87BE.00006CBA
In-Reply-To: <>
References: <> <> <> <> <>
X-Referenced-Uid: 33939
Thread-Topic: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt
X-Blue-Identity: !l=18&o=96429&fo=115353&pl=5&po=0&qs=PREFIX&f=HTML&m=!%3ANWE2ZTdkMjktZjQ5ZC00YjUxLThkZmYtOGUyOTFlOTM1Njc1%3ASU5CT1g%3D%3AMzM5Mzk%3D%3AANSWERED&p=5&q=SHOW
User-Agent: Type for Android
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----04IWH1RJCN36T4FLPNXQFPDYNFHQN8"
Content-Transfer-Encoding: 7bit
From: Nat Sakimura <>
Date: Thu, 30 Mar 2017 17:33:07 -0500
To: Mike Jones <>
CC: John Bradley <>, IETF oauth WG <>
Message-ID: <>
Archived-At: <>
Subject: Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: OAUTH WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 30 Mar 2017 22:33:40 -0000

Not right now. 

As of this writing, a client can still send duplicate parameters in the query but they get ignored by the servers honoring OAuth JAR. So, it is backwards compatible with OpenID Connect in that sense (OpenID Connect sends duplicate manatory RFC6749 parameters as the query parameters as well just to be compliant to RFC6749). Conversely, servers that do not support OAuth JAR will ignore request_uri etc. 

On Mar 30, 2017, 4:47 PM, at 4:47 PM, Mike Jones <> wrote:
>Is there a clear statement somewhere along the lines of “parameters
>(other than “request” or “request_uri”) are only allowed to be in the
>signed object if a signed object is used”?  That’s the kind of thing I
>was looking for and didn’t find.
>                                                       -- Mike
>From: John Bradley []
>Sent: Thursday, March 30, 2017 4:44 PM
>To: Mike Jones <>
>Cc: Nat Sakimura <>rg>; IETF oauth WG <>
>Subject: RE: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt
>The intent of the change is to only allow the paramaters to be in the
>signed object if a signed object is used.
>This requires State, nonce etc to be in the JWT.  Only one place to
>check will hopefully reduce implimentation errors.
>This also allows us to remove the caching text as we now have one JWT
>per request, so caching won't happen.
>John B.
>On Mar 30, 2017 4:36 PM, "Mike Jones"
>I *believe* the intent is that *all* parameters must be in the request
>object, but the spec doesn’t actually say that, as far as I can tell. 
>Or maybe the intent is that parameters must not be duplicated between
>the query parameters and the request object.
>One or the other of these statements should be explicitly included in
>the specification.  Of course, I could have missed the statement I’m
>asking for in my review, in which case please let me know what I
>                                                       Thanks,
>                                                      -- Mike
>From: OAuth
>[<>] On
>Behalf Of John Bradley
>Sent: Thursday, March 30, 2017 3:00 PM
>To: IETF OAUTH <<>>
>Subject: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt
>Based on feeback from the IESG we have removed some of the optionality
>in the draft.
>It is a shorter read than draft 12.
>John B.
>Sent from Mail<> for
>Windows 10
>Sent: March 30, 2017 1:38 PM
>Subject: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13.txt
>A New Internet-Draft is available from the on-line Internet-Drafts
>This draft is a work item of the Web Authorization Protocol of the
>Title           : The OAuth 2.0 Authorization Framework: JWT Secured
>Authorization Request (JAR)
>        Authors         : Nat Sakimura
>                          John Bradley
>           Filename        : draft-ietf-oauth-jwsreq-13.txt
>           Pages           : 27
>           Date            : 2017-03-30
>  The authorization request in OAuth 2.0 described in RFC 6749 utilizes
>  query parameter serialization, which means that Authorization Request
>   parameters are encoded in the URI of the request and sent through
>  user agents such as web browsers.  While it is easy to implement, it
>   means that (a) the communication through the user agents are not
>   integrity protected and thus the parameters can be tainted, and (b)
>   the source of the communication is not authenticated.  Because of
>   these weaknesses, several attacks to the protocol have now been put
>   forward.
>   This document introduces the ability to send request parameters in a
>   JSON Web Token (JWT) instead, which allows the request to be signed
>   with JSON Web Signature (JWS) and/or encrypted with JSON Web
>   Encryption (JWE) so that the integrity, source authentication and
>   confidentiality property of the Authorization Request is attained.
>   The request can be sent by value or by reference.
>The IETF datatracker status page for this draft is:
>There are also htmlized versions available at:
>A diff from the previous version is available at:
>Please note that it may take a couple of minutes from the time of
>until the htmlized version and diff are available at
>Internet-Drafts are also available by anonymous FTP at:
>OAuth mailing list