[OAUTH-WG] First Draft of OAuth 2.1

Aaron Parecki <aaron@parecki.com> Thu, 12 March 2020 00:28 UTC

Return-Path: <aaron@parecki.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 76F463A0E33 for <oauth@ietfa.amsl.com>; Wed, 11 Mar 2020 17:28:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=parecki-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 7hjVC6fWipPN for <oauth@ietfa.amsl.com>; Wed, 11 Mar 2020 17:28:35 -0700 (PDT)
Received: from mail-il1-x12a.google.com (mail-il1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF40F3A0E4C for <oauth@ietf.org>; Wed, 11 Mar 2020 17:28:34 -0700 (PDT)
Received: by mail-il1-x12a.google.com with SMTP id a14so3844162ilk.6 for <oauth@ietf.org>; Wed, 11 Mar 2020 17:28:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=parecki-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=ocMbFBL0m7VJPLINH27d31L1nPMK+U7j39uF15HeKiY=; b=WVie6u8beEcHCXkQcBuk2GX/5Hi0JJMSh3P6ioFVkuD5MgcDjjvqqRjg3DGxydCzCb DkRcZeSavSSatLgLzTweav+kZmRVnSp1MG7F/S4dtX+jQRmv1ajat2sIhCqRyPnWXPCT X+kXElcOnkCoFCqhjEar8RPEyQ9TxSXooHFaJE8uL2oiqQmIiALKHHADKDet5NZEM2j6 vXbJ+cLRdqpx3XQJmuKN07DFPVLYf4MhMHWtUOUs1q5BBTdidb5nBAjBfyqHnh/br4a/ P+p9b3zlmbAiYZ1uLgLCWKMZ2buWNJ8HqayJ5dZUwuvRWzLhQYXnTlvvG5W+K5YitnxF qX6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ocMbFBL0m7VJPLINH27d31L1nPMK+U7j39uF15HeKiY=; b=bFKme6E2K7ow0I36yBIB4jR8IHEwlAJIb8iioqJRdqWyJXCSI1RiDp4hgD5JKmzwmP Gwr/K+BAVob5hWhHI0g4o43E6xprlEwD5PYuqSZSCEOm0dQYh/Fd8m7aPxWMrW/ywmle OsnFiA283OJUTa5jwYTH1DoyhXaw3Njt9PsX/T2qyl/nwsIsfiRajxlSubrTkwpTJIlM jdxCWKSJr1Jn280TqG10+YWSdLAXyJOYW88kFqFEcUbepK2hFneXudQUst2UQnva8Ccf NLvrdhH6qHw6cO7TmV137gKHK8BZE4CY6nfrvkGRfebzsgGYquAyt3Lg7YfwXY5aQ+4X 7nvA==
X-Gm-Message-State: ANhLgQ0VVCN68DTf0m/sUg7LNc9dvUk+sdoEzyIG0mklQ7YI1fTfO/Tf uYUPyRWI+iY1GW7NiP/5bPkB7YXxGWM=
X-Google-Smtp-Source: ADFU+vsxGtWUduev3ZRNKaYY9m0kJGLr41TnuAdC+Y/b7DklhZ0Tm+R0NuD4YIW75mVeFtGP433IcA==
X-Received: by 2002:a92:1e0e:: with SMTP id e14mr5893837ile.13.1583972913607; Wed, 11 Mar 2020 17:28:33 -0700 (PDT)
Received: from mail-il1-f170.google.com (mail-il1-f170.google.com. []) by smtp.gmail.com with ESMTPSA id m18sm18706664ila.54.2020. for <oauth@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Mar 2020 17:28:33 -0700 (PDT)
Received: by mail-il1-f170.google.com with SMTP id e8so3814513ilc.13 for <oauth@ietf.org>; Wed, 11 Mar 2020 17:28:33 -0700 (PDT)
X-Received: by 2002:a92:c514:: with SMTP id r20mr5754992ilg.105.1583972912860; Wed, 11 Mar 2020 17:28:32 -0700 (PDT)
MIME-Version: 1.0
From: Aaron Parecki <aaron@parecki.com>
Date: Wed, 11 Mar 2020 17:28:22 -0700
X-Gmail-Original-Message-ID: <CAGBSGjp6xRL21fdY+dosAhwS3Db6z1hxHU5uPGGprC-c_Ec-Cg@mail.gmail.com>
Message-ID: <CAGBSGjp6xRL21fdY+dosAhwS3Db6z1hxHU5uPGGprC-c_Ec-Cg@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/UWORKVuzo-rk86ymeSYUxaIdLMY>
Subject: [OAUTH-WG] First Draft of OAuth 2.1
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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, 12 Mar 2020 00:28:40 -0000

I'm happy to share that Dick and Torsten and I have published a first
draft of OAuth 2.1. We've taken the feedback from the discussions on
the list and incorporated that into the draft.


A summary of the differences between this draft and OAuth 2.0 can be
found in section 12, and I've copied them here below.

> This draft consolidates the functionality in OAuth 2.0 (RFC6749),
> OAuth 2.0 for Native Apps (RFC8252), Proof Key for Code Exchange
> (RFC7636), OAuth 2.0 for Browser-Based Apps
> (I-D.ietf-oauth-browser-based-apps), OAuth Security Best Current
> Practice (I-D.ietf-oauth-security-topics), and Bearer Token Usage
> (RFC6750).
>   Where a later draft updates or obsoletes functionality found in the
>   original [RFC6749], that functionality in this draft is updated with
>   the normative changes described in a later draft, or removed
>   entirely.
>   A non-normative list of changes from OAuth 2.0 is listed below:
>   *  The authorization code grant is extended with the functionality
>      from PKCE ([RFC7636]) such that the only method of using the
>      authorization code grant according to this specification requires
>      the addition of the PKCE mechanism
>   *  Redirect URIs must be compared using exact string matching as per
>      Section 4.1.3 of [I-D.ietf-oauth-security-topics]
>   *  The Implicit grant ("response_type=token") is omitted from this
>      specification as per Section 2.1.2 of
>      [I-D.ietf-oauth-security-topics]
>   *  The Resource Owner Password Credentials grant is omitted from this
>      specification as per Section 2.4 of
>      [I-D.ietf-oauth-security-topics]
>   *  Bearer token usage omits the use of bearer tokens in the query
>      string of URIs as per Section 4.3.2 of
>      [I-D.ietf-oauth-security-topics]
>   *  Refresh tokens must either be sender-constrained or one-time use
>      as per Section 4.12.2 of [I-D.ietf-oauth-security-topics]


I'm excited for the direction this is taking, and it has been a
pleasure working with Dick and Torsten on this so far. My hope is that
this first draft can serve as a good starting point for our future

Aaron Parecki

P.S. This notice was also posted at