Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-token-exchange-07.txt

Nat Sakimura <sakimura@gmail.com> Tue, 28 March 2017 06:32 UTC

Return-Path: <sakimura@gmail.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AD53A128B4E for <oauth@ietfa.amsl.com>; Mon, 27 Mar 2017 23:32:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I0ulsJpOn48t for <oauth@ietfa.amsl.com>; Mon, 27 Mar 2017 23:32:48 -0700 (PDT)
Received: from mail-qt0-x22a.google.com (mail-qt0-x22a.google.com [IPv6:2607:f8b0:400d:c0d::22a]) (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 1B3A6126BF6 for <oauth@ietf.org>; Mon, 27 Mar 2017 23:32:48 -0700 (PDT)
Received: by mail-qt0-x22a.google.com with SMTP id x35so56224143qtc.2 for <oauth@ietf.org>; Mon, 27 Mar 2017 23:32:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Sylfaai/WsOEk+lK7+QRtWba8M2o8vNRJhH6YL0u55A=; b=T9F9cwne3qxrbMGE9F9mGSBVaIaU+2X/g3CT8/90sGkAj7Jo4770bfDuOIBPWPSfzN yvOKbpsqQn2MxJtgHYtRhyCS4DkH7NuSRc3XKEEwVXoLSKC11CVAW5tUYVRwwppmjqcZ 6SYkvwQtpbLeuJLymb4DkIHiqEw9RvDUW9SXVUzlj/5Ycf9i1V4FGUgkQpw3wg3nO0kE 5zXojdn2D2/xyF3yREhH3kuJ+NcuHfCdc+W5Koo2x0lCf+2u65mqHOoW6U1ljYnTi7wF 7l0N7+7tPApRy93kzjyGtFfbh6k0zc5uG+VTALBTJyE9+qM7cMg1wzxEkEweFjQFQ+da 0uDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Sylfaai/WsOEk+lK7+QRtWba8M2o8vNRJhH6YL0u55A=; b=h5EpCETsYQ2yhZSYMX0UMeTpFlsgZ9wS6XHaA1V9R37vheo03qY6HkG4CXXxcnDxgP Z6BUMr25kf7RAq1GxPQgkYfUqUcyocve67i92TVINnMGWKvDdNcO3mcocgM4QpqT2IgR cdkBE6CirUV1Z1Y6IzBd7SWZ5qdnZS20gkKnWCREXvv5NrSbv442RJXyZsXu3jAdCl/K ljR+NnKgeT8DLnEdFAJtXFeP0IBY++uMXjRzWiSswj1IUG9HUsElkzmMIZ+P8w31NRqC XBy3ZxM/nptYKDyILpRtGLYDnv7LOxT5dKqliQU1yEbPPfZGmRKNXEpFF16W46kR5HNV dUlQ==
X-Gm-Message-State: AFeK/H1nSsmLxleqAALjsNGhgeClO+6X8C0lMBL4GYlmtRBFmYhgi2vyIJSaiuZ3ge7UA2abUVubQLOkY0Ur4w==
X-Received: by 10.200.43.85 with SMTP id 21mr23795643qtv.81.1490682766972; Mon, 27 Mar 2017 23:32:46 -0700 (PDT)
MIME-Version: 1.0
References: <148416124213.8244.5842562779051799977.idtracker@ietfa.amsl.com> <CA+k3eCTE1NM90QcZRFR0jATCqdeJWyTRUb6Ryp52n9FRg6aGpA@mail.gmail.com> <9199091B-5D7F-4D66-9EC5-CB0EF2D3CF6D@lodderstedt.net> <CA+k3eCTjmifjsbec80vGTE5Hw4ws7oARuaatDk4RYOLK26-87Q@mail.gmail.com> <CY4PR21MB050479DBD8A7AB6342682209F5330@CY4PR21MB0504.namprd21.prod.outlook.com> <30B37ED3-6E3B-4739-9917-BDEC198CA027@lodderstedt.net>
In-Reply-To: <30B37ED3-6E3B-4739-9917-BDEC198CA027@lodderstedt.net>
From: Nat Sakimura <sakimura@gmail.com>
Date: Tue, 28 Mar 2017 06:32:36 +0000
Message-ID: <CABzCy2ArQ29xtyzT+t4i1fq9XZT+fMLgsw5oV75aFTkvVf8tgw@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Mike Jones <Michael.Jones@microsoft.com>
Cc: oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="001a114087f0cc7705054bc4a0fc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/dm54GeIK7LxWWnItOCvV8VW8WRE>
Subject: Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-token-exchange-07.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 28 Mar 2017 06:32:51 -0000

There are cases where tokens are supposed to be consumed at multiple places
and the `aud` needed to capture them. That's why `aud` is a multi-valued
field.

On Mon, Mar 27, 2017 at 11:35 AM Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

> May I ask you to explain this reason?
>
> Am 27.03.2017 um 08:48 schrieb Mike Jones <Michael.Jones@microsoft.com>:
>
> For the same reason that the “aud” claim is multi-valued in JWTs, the
> audience needs to stay multi-valued in Token Exchange.  Ditto for resources.
>
>
>
>                                                        Thanks,
>
>                                                        -- Mike
>
>
>
> *From:* OAuth [mailto:oauth-bounces@ietf.org <oauth-bounces@ietf.org>] *On
> Behalf Of *Brian Campbell
> *Sent:* Monday, March 27, 2017 8:45 AM
> *To:* Torsten Lodderstedt <torsten@lodderstedt.net>
> *Cc:* oauth <oauth@ietf.org>
> *Subject:* Re: [OAUTH-WG] I-D Action:
> draft-ietf-oauth-token-exchange-07.txt
>
>
>
> Thanks for the review and question, Torsten.
>
> The desire to support multiple audience/resource values in the request
> came up during a review and discussion among the authors of the document
> when preparing the -03 draft. As I recall, it was said that both Salesforce
> and Microsoft had use-cases for it. I incorporated support for it into the
> draft acting in the role of editor.
>
> From an individual perspective, I tend to agree with you that allowing for
> multiple audiences/resources adds a lot of complexity that's like not
> needed in many (or most) cases. And I would personally be open to making
> audience and resource mutual exclusive and single valued. A question for
> the WG I suppose.
>
> The "invalid_target" error code that was added in -07 was intended to give
> the AS a standard way to deal with the complexity and reject request with
> multiple audiences/resources that it doesn't understand or is unwilling or
> unable to process. It was intended as a compromise, of sorts, to allow for
> the multiples but provide an easy out of saying it can't be supported based
> on whatever implementation or policy of the AS.
>
>
>
>
>
>
>
> On Sun, Mar 26, 2017 at 9:00 AM, Torsten Lodderstedt <
> torsten@lodderstedt.net> wrote:
>
> Hi Brian,
>
>
>
> thanks for the clarification around resource, audience and scope.
>
>
>
> Here are my comments on the draft:
>
>
>
> In section 2.1 it states: „Multiple "resource" parameters may be used to
> indicate
>
>       that the issued token is intended to be used at the multiple
>
>       resources listed.“
>
>
>
> Can you please explain the rational in more detail? I don’t understand why
> there is a need to ask for access tokens, which are good for multiple
> resources at once. This is a request type more or less exclusively used in
> server to server scenarios, right? So the only reason I can think of is
> call reduction.
>
>
>
> On the other side, this feature increases the AS's complexity, e.g. its
> policy may prohibit to issue tokens for multiple resources in general or
> the particular set the client is asking for. How shall the AS handles such
> cases?
>
>
>
> And it is getting even more complicated given there could also be multiple
> audience values and the client could mix them:
>
>
>
> "Multiple "audience" parameters
>
>       may be used to indicate that the issued token is intended to be
>
>       used at the multiple audiences listed.  The "audience" and
>
>       "resource" parameters may be used together to indicate multiple
>
>       target services with a mix of logical names and physical
>
>       locations.“
>
>
>
> And in the end the client may add some scope values to the „meal“, which
> brings us to
>
>
>
> „Effectively, the requested access rights of the
>
>    token are the cartesian product of all the scopes at all the target
>
>    services."
>
>
>
> I personally would suggest to drop support for multiple audience and
> resource parameters and make audience and resource mutual exclusive. I
> think this is sufficient and much easier to implement.
>
>
>
> kind regards,
>
> Torsten.
>
>
>
>
>
> Am 11.01.2017 um 20:04 schrieb Brian Campbell <bcampbell@pingidentity.com
> >:
>
>
>
> Draft -07 of "OAuth 2.0 Token Exchange" has been published. The primary
> change in -07 is the addition of a description of the relationship between
> audience/resource/scope, which was a request or comment that came up during
> the f2f meeting in Seoul.
>
> Excerpted from the Document History:
>
>    -07
>
>    o  Fixed typo (desecration -> discretion).
>    o  Added an explanation of the relationship between scope, audience
>       and resource in the request and added an "invalid_target" error
>       code enabling the AS to tell the client that the requested
>       audiences/resources were too broad.
>
> ---------- Forwarded message ----------
> From: <internet-drafts@ietf.org>
> Date: Wed, Jan 11, 2017 at 12:00 PM
> Subject: [OAUTH-WG] I-D Action: draft-ietf-oauth-token-exchange-07.txt
> To: i-d-announce@ietf.org
> Cc: oauth@ietf.org
>
>
>
> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
> This draft is a work item of the Web Authorization Protocol of the IETF.
>
>         Title           : OAuth 2.0 Token Exchange
>         Authors         : Michael B. Jones
>                           Anthony Nadalin
>                           Brian Campbell
>                           John Bradley
>                           Chuck Mortimore
>         Filename        : draft-ietf-oauth-token-exchange-07.txt
>         Pages           : 31
>         Date            : 2017-01-11
>
> Abstract:
>    This specification defines a protocol for an HTTP- and JSON- based
>    Security Token Service (STS) by defining how to request and obtain
>    security tokens from OAuth 2.0 authorization servers, including
>    security tokens employing impersonation and delegation.
>
>
> The IETF datatracker status page for this draft is:
> https://datatracker.ietf.org/doc/draft-ietf-oauth-token-exchange/
>
> There's also a htmlized version available at:
> https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-07
>
> A diff from the previous version is available at:
> https://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-token-exchange-07
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
-- 

Nat Sakimura

Chairman of the Board, OpenID Foundation