From nobody Tue Sep  8 09:26:50 2020
Return-Path: <dick.hardt@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 DF7293A0774
 for <oauth@ietfa.amsl.com>; Tue,  8 Sep 2020 09:26:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level: 
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, 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=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 tT2Ng2d_b4Cc for <oauth@ietfa.amsl.com>;
 Tue,  8 Sep 2020 09:26:45 -0700 (PDT)
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [IPv6:2a00:1450:4864:20::12f])
 (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 1FBAF3A0744
 for <oauth@ietf.org>; Tue,  8 Sep 2020 09:26:45 -0700 (PDT)
Received: by mail-lf1-x12f.google.com with SMTP id z17so9487218lfi.12
 for <oauth@ietf.org>; Tue, 08 Sep 2020 09:26:44 -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=rYztppevFqHSn2qqJEsrDK1ltr2GuY3qs1k64NreCUg=;
 b=lydNkb9TX8uNbVTHnJ53tI0ZivhCFpAXysYXVaBN9IPoknPbVWjfO1UKIYbmn4+/fb
 bD3d5xGsIDe6gFtQGZiHcymSdU12v3FMVvAqtVt7pbKjdwi+/+qpsmzyUf0GgK0IBvQZ
 OucJfjc+fszsHyQWq3I/FzpWNAXl+wlw/THPvyGuLN8WzgSiFGIw+UPcBofYnNZSTRy+
 czdQVWMdyefqubVc3WWXqeQ1heOnCxGteHA2jhOpH4igUrrQFGYi8NakGVQq40PmdGur
 +kBXKvfMc/mVkRQGwruRDB6i3kSApwUIggi/wuPFZA6k8huyBoCAHey041R0xhqWyxV/
 eJIQ==
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=rYztppevFqHSn2qqJEsrDK1ltr2GuY3qs1k64NreCUg=;
 b=HqqsvpFijns3SJ8PDWtmckzT1P157qmMgTZEYqVi579BShFqlFZyVHO8OtSdb2hYbk
 CO011oKWEe6AgJBw2+IuSQ+n/t39ls9NTXUtbqXi2Y/16r+2OBlG9z7uEwFgi4HE2Ohs
 62KH33L5drqauDPDoZSbn8nIsmRqUastiVb+pSCp58Fr06Isuu4DaTvMmr/DS6v45nX3
 SJSBurw/lrqZv/mIddO1ise5g+sO977wFkQKF79j+T0ERn5drMJXaTima+HOnYiNDP1O
 ibJm5njBX7q1F4cBCrsmpKPxuMFlmRKFQKhjU0+WRhV49RjIqQ9wb4QN7kEjmOS82KsM
 dH1Q==
X-Gm-Message-State: AOAM530MFdsf/5lRTPnQXXO6VMiRY8ZXScRzJJxnSCjHU4wbX9TeMcpz
 sYXQK7vqtCZ/YM3QBuWDWry/OJqpwv9CiiPuqd4=
X-Google-Smtp-Source: ABdhPJwarK5QYM9v1afqRqearJuwJwUnsdw1gofEZzIP4WJVx9706u+nSEQgwdhBkImAQ4UY0w5H+oRuMIUJOjyTPyg=
X-Received: by 2002:a19:3f0d:: with SMTP id m13mr3608866lfa.91.1599582402980; 
 Tue, 08 Sep 2020 09:26:42 -0700 (PDT)
MIME-Version: 1.0
References: <AM0PR08MB371667F70B227C3EFA4C3ECAFA290@AM0PR08MB3716.eurprd08.prod.outlook.com>
 <ae739f88-58e6-40be-e759-3bf7b16715d2@free.fr>
In-Reply-To: <ae739f88-58e6-40be-e759-3bf7b16715d2@free.fr>
From: Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 8 Sep 2020 09:26:06 -0700
Message-ID: <CAD9ie-t4r5Uwzr7FOsedFSsGGMQ0H+9psMZ1LAr=ctB-L=LGNg@mail.gmail.com>
To: Denis <denis.ietf@free.fr>
Cc: Hannes Tschofenig <Hannes.Tschofenig@arm.com>, oauth@ietf.org
Content-Type: multipart/alternative; boundary="000000000000eb33de05aecfccd2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/n1y64rQIuSuoCvLTN76TNKlE4f0>
Subject: Re: [OAUTH-WG] draft-ietf-oauth-access-token-jwt-07
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: Tue, 08 Sep 2020 16:26:49 -0000

--000000000000eb33de05aecfccd2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Denis


The objective of this document is to standardize the token the AS shares
with the RS. It is not to standardize how the client can read the token.
Just because the user is using the client, that does not mean the user
wants the client to see any claims about themselves. Letting the client see
the contents of the token may be a privacy violation.

client !=3D user
=E1=90=A7

On Tue, Sep 8, 2020 at 9:10 AM Denis <denis.ietf@free.fr> wrote:

> Hi Hannes,
>
> Two comments between the lines.
>
> Hi Victorio, Hi all,
>
>
>
> I am doing my shepherd write-up for draft-ietf-oauth-access-token-jwt-07.
> Reading through the draft I have a few minor suggestions:
>
>
>
> Section 2:
>
>
>
> I would delete this sentence "JWT access tokens are regular JWTs complyin=
g
> with the requirements described in this section."
>
>
>
> Reason: You pretty much make the same statement on the previous page (see
> terminology section).
>
>
>
> Section 2.1
>
>
>
> s/asymmetric algorithms/asymmetric cryptography
>
> (same replacement in Section 4)
>
>
>
> s/   This specification registers the "application/at+jwt" media type,
>
>    which can be used to indicate that the content is an access token./Thi=
s
> specification registers the "application/at+jwt" media type,
>
>    which can be used to indicate that the content is a JWT access token.
>
>
>
> Use capitalized "Section" when a section number is indicated, such as in
> Section 2.2.
>
>
>
> Section 2.2
>
>
>
> s/""aud"/"aud"
>
>
>
> 2.2.1
>
>
>
> s/   auth_time  OPTIONAL - as defined in section 2 of [OpenID.Core]./
> auth_time  OPTIONAL - as defined in Section 2 of [OpenID.Core].
>
> s/   acr, amr  OPTIONAL - as defined in section 2 of [OpenID.Core]./
> acr, amr  OPTIONAL - as defined in Section 2 of [OpenID.Core].
>
>
>
>
>
> s/Please see/See
>
>
>
> s/For example:/For example,
>
>
>
> Section 4
>
>
>
> You write:
>
>
>
> "Authorization servers SHOULD implement OAuth 2.0 Authorization Server
> Metadata [RFC8414] ... "
>
>
>
> Are you sure you mean "implement" and not "use"? The paragraph gives me
> the impression that you talk about "ASs using RFC 8414"
>
>
>
>
>
> s/Please see section Section 5 for further guidance on security
> implications./Please see Section 5 for further guidance on security
> implications.
>
>
>
> This sentence sounds strange to me:
>
> "
>
>    When invoked as described in OAuth 2.0 Bearer Token Usage [RFC6750],
>
>    resource servers receiving a JWT access token MUST validate it in the
>
>    following manner.
>
> "
>
>
>
> How about:
>
> "
>
>    Resource servers receiving a JWT access token MUST validate it in the
>
>    following manner.
>
> "
>
>
>
> Question: If you refer to RFC 6750 and then list the steps are you just
> repeating the steps from RFC 6750 or are you augmenting them?
>
>
>
>
>
> You write:
>
>
>
> "
>
> If the JWT access token includes authorization claims as described in
>
>    the authorization claims section, the resource server SHOULD use them
>
>    in combination with any other contextual information available to
>
>    determine whether the current call should be authorized or rejected.
>
> "
>
>
>
> Include a reference to the authorization claims section
>
>
>
>
>
> s/ For more
>
>    details on cross-JWT confusion please refer to 2.8 of [RFC8725]./ For
> more
>
>    details on cross-JWT confusion please refer to Section 2.8 of [RFC8725=
].
>
>
>
>
>
> You write:
>
>
>
> "
>
>    Authorization servers should not rely on the use of different keys
>
>    for signing OpenID Connect ID Tokens and JWT tokens as a method to
>
>    safeguard against the consequences of leaking specific keys.
>
> "
>
>
>
> The phrase "leaking keys" is probably not the best term to describe what
> follows afterwards in the text.
>
>
>
> You write:
>
>
>
> "
>
> The client MUST NOT inspect the content of
>
>    the access token
>
> "
>
>
>
> This RFC 2119 language is not really enforceable in terms of
> interoperability. Maybe you could rephrase a bit. Something like the
> following would work:
>
>
>
> "
>
>    Authorization server and the resource server
>
>    might decide to change token format at any time (for example by
>
>    switching from this profile to opaque tokens). Hence, any logic in the
>
>    client relying on the ability to read the access token content would
>
>    break without recourse. The OAuth 2.0 framework assumes that access
> tokens
>
>    are treated opaque by clients.
>
>
>
>    Administrators of authorization servers should also take into account
> that
>
>    the content of an access token is visible to the client. Whenever clie=
nt
>
>    access to the access token content presents privacy issues for a
>
>    given scenario, the authorization server should take explicit steps
>
>    to prevent it.
>
> "
>
> *In the general case, *the OAuth 2.0 framework assumes that access tokens
> are treated as opaque by clients.
> However, with this coming RFC, we are not in the general case: since the
> client gets back an access token conformant to *this* RFC, then it knows
> exactly its detailed structure. The argument about "changing the token
> format at any time" does not apply. In this case, the client is quite sur=
e
> that it would be able to understand most of its content (at least all the
> standard claims). The above text proposal would need to be reconsidered.
>
> Hiding (by encrypting it) the content of the access token to the client
> is odd when an access token contains claims about a human-user :
> these claims are personal data and the human-user is usually allowed to
> have access to his own personal data.
>
> Encryption is nice in theory but complicated in practice, since a key
> management system must put in place. Whenever possible, it should be
> avoided.
>
> BTW, some questions raised during the WGLC have not been answered: How ca=
n
> a client request an access token compliant to this profile ?
> Which parameter(s) allow it to ask an access token compliant to this
> profile ? How can the AS know that it got a call for the issuance of an
> access token
> compliant to this profile ?
>
> Another comment follows.
>
> You wrote:
>
>
>
> "
>
>
>
>    In scenarios in which JWT access tokens are accessible to the end
>
>    user, it should be evaluated whether the information can be accessed
>
>    without privacy violations (for example, if an end user would simply
>
>    access his or her own personal information) or if steps must be taken
>
>    to enforce confidentiality.  Possible measures include: encrypting
>
>    the access token, encrypting the sensitive claims, omitting the
>
>    sensitive claims or not using this profile, falling back on opaque
>
>    access tokens.
>
> "
>
>
>
> The first sentence is a repetition of the previous paragraph. I would
> suggest to delete
>
> the first sentence in this paragraph and to move the second sentence to
> the previous paragraph.
>
>
>
> You wrote:
>
>
>
> "
>
>    This profile mandates the presence of the "sub" claim in every JWT
>
>    access token, making it possible for resource servers to rely on that
>
>    information for performing tasks such as correlating incoming
>
>    requests with data stored locally for the authenticated principal.
>
>    Although the ability to correlate requests might be required by
>
>    design in many scenarios, there are scenarios where the authorization
>
>    server might want to prevent correlation to preserve the desired
>
>    level of privacy.  Authorization servers should choose how to assign
>
>    "sub" values according to the level of privacy required by each
>
>    situation.  For instance: if a solution requires preventing tracking
>
>    principal activities across multiple resource servers, the
>
>    authorization server should ensure that JWT access tokens meant for
>
>    different resource servers have distinct "sub" values tht cannot be
>
>    correlated in the event of resource servers collusion.  Similarly: if
>
>    a solution requires preventing a resource server from correlating the
>
>    principal's activity within the resource itself, the authorization
>
>    server should assign different "sub" values for every JWT access
>
>    token issued.  In turn, the client should obtain a new JWT access
>
>    token for every call to the resource server, to ensure that the
>
>    resource server receives different "sub" and "jti" values at every
>
>    call, thus preventing correlation between distinct requests.
>
> "
>
>
>
> The above paragraph suggests that there are different levels of privacy.
> What you are
>
> talking about in the text is unlinkability and identification. Ways to
> deal with such
>
> privacy threats are described in Section 6 of RFC 6973.
>
>
>
> Hence, I would suggest to slightly rephrase the paragraph to something
> like:
>
>
>
> "
>
>    This profile mandates the presence of the "sub" claim in every JWT
>
>    access token, making it possible for resource servers to rely on that
>
>    information for correlating incoming
>
>    requests with data stored locally for the authenticated principal.
>
>    Although the ability to correlate requests might be required by
>
>    design in many scenarios, there are scenarios where the authorization
>
>    server might want to prevent correlation. The "sub" claim should be
>
>    populated by the authorization servers according to a privacy impact
>
>    assessment. For instance, if a solution requires preventing tracking
>
>    principal activities across multiple resource servers, the
>
>    authorization server should ensure that JWT access tokens meant for
>
>    different resource servers have distinct "sub" values that cannot be
>
>    correlated in the event of resource servers collusion.
>
> While the idea is really nice, the use of the "sub" claim in this context
> is not compatible with the definition of the "sub" claim
> as defined in RFC 7519:
>
>      4.1.2.  "sub" (Subject) Claim
>
>         The "sub" (subject) claim identifies the principal that is the
>         subject of the JWT.  The claims in a JWT are normally statements
>         about the subject.  *The subject value MUST either be scoped to
> be*
> *        locally unique in the context of the issuer or be globally
> unique.*
>         The processing of this claim is generally application specific.
> The
>         "sub" value is a case-sensitive string containing a StringOrURI
>         value.  Use of this claim is OPTIONAL.
>
> There are two options and two options only:
>
> "locally unique in the context of the issuer" means that it is the same
> for all RSs.
> "globally unique" means that it is the same not only for all the RSs but
> also for servers that have nothing to do with OAuth (e.g. an email addres=
s).
>
>
>     Similarly, if
>
>    a solution requires preventing a resource server from correlating the
>
>    principal's activity within the resource itself, the authorization
>
>    server should assign different "sub" values for every JWT access
>
>    token issued.  In turn, the client should obtain a new JWT access
>
>    token for every call to the resource server, to ensure that the
>
>    resource server receives different "sub" and "jti" values at every
>
>    call, thus preventing correlation between distinct requests.
>
> The proposed text describes two different cases where the sub claim is
> either unique for an AS/RS pair or unique for each access token.
>
> These two cases are not included in the definition found in RFC 7519.
>
> In the general case, an identifier can be:
>
>    1. locally unique in the context of the issuer (i.e. the same for all
>    RSs),
>    2. globally unique (i.e. the same not only for all the RSs but also
>    for servers that have nothing to do with OAuth),
>    3. unique for an AS/RS pair, or
>    4. unique for each access token.
>
> I see different ways to solve this problem:
>
> 1=C2=B0 Stick to the definition of RFC 7519 and (unfortunately) remove th=
ese
> possibilities.
> 2=C2=B0 Define two new claims which would support the two cases where the=
 sub
> claim would be either unique for an AS/RS pair or unique for one access
> token.
> 3=C2=B0 Define four new claims which would support the four above cases.
>
> Denis
>
> "
>
>
>
>
>
> Section 7.2
>
>
>
> s/   Section Section 2.2.3.1 of this specification refers to the
>
>    attributes "roles", "groups", "entitlements" defined in [RFC7643] to
>
>    express authorization information in JWT access tokens.
>
> /   Section 2.2.3.1 of this specification refers to the
>
>    attributes "roles", "groups", "entitlements" defined in [RFC7643] to
>
>    express authorization information in JWT access tokens.
>
>
>
>
>
> References
>
>
>
> RFC 7519 has to be a normative reference:
>
>
>
>    [RFC7519]  Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
>
>               (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
>
>               <https://www.rfc-editor.org/info/rfc7519>
> <https://www.rfc-editor.org/info/rfc7519>.
>
>
>
> RFC 7644 is an unused reference:
>
>
>
>    [RFC7644]  Hunt, P., Ed., Grizzle, K., Ansari, M., Wahlstroem, E.,
>
>               and C. Mortimore, "System for Cross-domain Identity
>
>               Management: Protocol", RFC 7644, DOI 10.17487/RFC7644,
>
>               September 2015, <https://www.rfc-editor.org/info/rfc7644>
> <https://www.rfc-editor.org/info/rfc7644>.
>
>
>
> The same is true for RFC 3986:
>
>
>
>    [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
>
>               Resource Identifier (URI): Generic Syntax", STD 66,
>
>               RFC 3986, DOI 10.17487/RFC3986, January 2005,
>
>               <https://www.rfc-editor.org/info/rfc3986>
> <https://www.rfc-editor.org/info/rfc3986>.
>
>
>
>
>
> Ciao
>
> Hannes
>
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy th=
e
> information in any medium. Thank you.
>
> _______________________________________________
> OAuth mailing listOAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oau=
th
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000000000000eb33de05aecfccd2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Denis<div><br></div><div><br></div><div>The objective of t=
his document is to standardize the token the AS shares with the RS. It is n=
ot to standardize how the client can read the token. Just because the user =
is using the client, that does not mean the user wants the client to see an=
y claims about themselves. Letting the client see the contents of the token=
 may be a privacy violation.</div><div><br></div><div><div>client !=3D user=
</div><div></div></div></div><div hspace=3D"streak-pt-mark" style=3D"max-he=
ight:1px"><img alt=3D"" style=3D"width:0px;max-height:0px;overflow:hidden" =
src=3D"https://mailfoogae.appspot.com/t?sender=3DaZGljay5oYXJkdEBnbWFpbC5jb=
20%3D&amp;type=3Dzerocontent&amp;guid=3D35a35f01-76f0-48d5-a962-2a19b1b35c7=
0"><font color=3D"#ffffff" size=3D"1">=E1=90=A7</font></div><br><div class=
=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Sep 8, 2020 =
at 9:10 AM Denis &lt;<a href=3D"mailto:denis.ietf@free.fr">denis.ietf@free.=
fr</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex=
">
 =20
   =20
 =20
  <div>
    <div>Hi Hannes,</div>
    <div><br>
    </div>
    <div>Two comments between the lines.<br>
    </div>
    <div><br>
    </div>
    <blockquote type=3D"cite">
     =20
     =20
     =20
      <div>
        <p class=3D"MsoNormal">Hi Victorio, Hi all, <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">I am doing my shepherd write-up for
          draft-ietf-oauth-access-token-jwt-07. Reading through the
          draft I have a few minor suggestions:
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Section 2: <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">I would delete this sentence &quot;JWT acces=
s
          tokens are regular JWTs complying with the requirements
          described in this section.&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Reason: You pretty much make the same
          statement on the previous page (see terminology section).
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Section 2.1<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/asymmetric algorithms/asymmetric
          cryptography<u></u><u></u></p>
        <p class=3D"MsoNormal">(same replacement in Section 4)<u></u><u></u=
></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/=C2=A0=C2=A0 This specification registers =
the
          &quot;application/at+jwt&quot; media type,<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 which can be used to indicate t=
hat the
          content is an access token./This specification registers the
          &quot;application/at+jwt&quot; media type,<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 which can be used to indicate t=
hat the
          content is a JWT access token.<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Use capitalized &quot;Section&quot; when a s=
ection
          number is indicated, such as in Section 2.2.=C2=A0=C2=A0
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Section 2.2<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/&quot;&quot;aud&quot;/&quot;aud&quot;<u></=
u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">2.2.1<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/=C2=A0=C2=A0 auth_time=C2=A0 OPTIONAL - as=
 defined in
          section 2 of [OpenID.Core]./=C2=A0=C2=A0 auth_time=C2=A0 OPTIONAL=
 - as
          defined in Section 2 of [OpenID.Core].<u></u><u></u></p>
        <p class=3D"MsoNormal">s/=C2=A0=C2=A0 acr, amr=C2=A0 OPTIONAL - as =
defined in
          section 2 of [OpenID.Core]./=C2=A0=C2=A0 acr, amr=C2=A0 OPTIONAL =
- as defined
          in Section 2 of [OpenID.Core].<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/Please see/See <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/For example:/For example, <u></u><u></u></=
p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Section 4<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">You write: <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;Authorization servers SHOULD implement
          OAuth 2.0 Authorization Server Metadata [RFC8414] ... &quot;<u></=
u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Are you sure you mean &quot;implement&quot; =
and not
          &quot;use&quot;? The paragraph gives me the impression that you t=
alk
          about &quot;ASs using RFC 8414&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/Please see section Section 5 for further
          guidance on security implications./Please see Section 5 for
          further guidance on security implications.<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">This sentence sounds strange to me: <u></u><=
u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 When invoked as described in OA=
uth 2.0
          Bearer Token Usage [RFC6750],<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 resource servers receiving a JW=
T access
          token MUST validate it in the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 following manner.<u></u><u></u>=
</p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">How about: <u></u><u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 Resource servers receiving a JW=
T access
          token MUST validate it in the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 following manner.<u></u><u></u>=
</p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Question: If you refer to RFC 6750 and then
          list the steps are you just repeating the steps from RFC 6750
          or are you augmenting them?
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">You write: <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">If the JWT access token includes
          authorization claims as described in<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 the authorization claims sectio=
n, the
          resource server SHOULD use them<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 in combination with any other c=
ontextual
          information available to<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 determine whether the current c=
all
          should be authorized or rejected.<u></u><u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Include a reference to the authorization
          claims section<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/ For more<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 details on cross-JWT confusion =
please
          refer to 2.8 of [RFC8725]./ For more<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 details on cross-JWT confusion =
please
          refer to Section 2.8 of [RFC8725].<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0<u></u><u></u></p>
        <p class=3D"MsoNormal">You write: <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 Authorization servers should no=
t rely on
          the use of different keys<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 for signing OpenID Connect ID T=
okens and
          JWT tokens as a method to<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 safeguard against the consequen=
ces of
          leaking specific keys.<u></u><u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">The phrase &quot;leaking keys&quot; is proba=
bly not
          the best term to describe what follows afterwards in the text.
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">You write:<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">The client MUST NOT inspect the content of<u=
></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 the access token<u></u><u></u><=
/p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">This RFC 2119 language is not really
          enforceable in terms of interoperability. Maybe you could
          rephrase a bit. Something like the following would work:<u></u><u=
></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;=C2=A0=C2=A0 <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0Authorization server and t=
he resource
          server<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 might decide to change token fo=
rmat at
          any time (for example by<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 switching from this profile to =
opaque
          tokens). Hence, any logic in the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 client relying on the ability t=
o read
          the access token content would<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 break without recourse. The OAu=
th 2.0
          framework assumes that access tokens
          <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0are treated opaque by clie=
nts. <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 Administrators of authorization=
 servers
          should also take into account that
          <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0the content of an access t=
oken is
          visible to the client. Whenever client<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 access to the access token cont=
ent
          presents privacy issues for a<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 given scenario, the authorizati=
on server
          should take explicit steps<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 to prevent it.=C2=A0=C2=A0 <u><=
/u><u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <u></u> <br>
        <u></u></div>
    </blockquote>
    <p><font face=3D"Arial"><font face=3D"Arial"> <i>In the general case, <=
/i></font>the
        OAuth 2.0 framework assumes that access tokens are treated as
        opaque by clients. <br>
        However, with this coming RFC, we are not in the general case:
        since the client gets back an access token conformant to <u>this</u=
>
        RFC, then it knows <br>
        exactly its detailed structure. The argument about &quot;changing t=
he
        token format at any time&quot; does not apply. In this case, the
        client is quite sure <br>
        that it would be able to understand most of its content (at
        least all the standard claims). The above text proposal would
        need to be reconsidered.<br>
        <br>
        Hiding </font><font face=3D"Arial"><font face=3D"Arial"><font face=
=3D"Arial">(by encrypting it) </font></font>the content
        of the access token to the client is odd </font><font face=3D"Arial=
">when an access token contains claims about a
        human-user : <br>
        these claims are personal data and the human-user is usually
        allowed to have access to his own personal data.</font></p>
    <p><font face=3D"Arial">Encryption is nice in theory but complicated
        in practice, since a key management system must put in place.
        Whenever possible, it should be avoided.</font></p>
    <p><font face=3D"Arial">BTW, some questions raised during the WGLC
        have not been answered: How can a client request an access token
        compliant to this profile ? <br>
        Which parameter(s) allow it to ask an access token compliant to
        this profile ? How can the AS know that it got a call for the
        issuance of an access token <br>
        compliant to this profile ?<br>
      </font></p>
    <p><font face=3D"Arial">Another comment follows.<br>
        <br>
      </font></p>
    <blockquote type=3D"cite">
      <div>
        <p class=3D"MsoNormal">You wrote: <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 In scenarios in which JWT acces=
s tokens
          are accessible to the end<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 user, it should be evaluated wh=
ether the
          information can be accessed<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 without privacy violations (for=
 example,
          if an end user would simply<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 access his or her own personal
          information) or if steps must be taken<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 to enforce confidentiality.=C2=
=A0 Possible
          measures include: encrypting<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 the access token, encrypting th=
e
          sensitive claims, omitting the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 sensitive claims or not using t=
his
          profile, falling back on opaque<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 access tokens.<u></u><u></u></p=
>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">The first sentence is a repetition of the
          previous paragraph. I would suggest to delete<u></u><u></u></p>
        <p class=3D"MsoNormal">the first sentence in this paragraph and to
          move the second sentence to the previous paragraph.
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">You wrote: <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 This profile mandates the prese=
nce of
          the &quot;sub&quot; claim in every JWT<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 access token, making it possibl=
e for
          resource servers to rely on that<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 information for performing task=
s such as
          correlating incoming<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 requests with data stored local=
ly for
          the authenticated principal.<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 Although the ability to correla=
te
          requests might be required by<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 design in many scenarios, there=
 are
          scenarios where the authorization<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 server might want to prevent co=
rrelation
          to preserve the desired<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 level of privacy.=C2=A0 Authori=
zation servers
          should choose how to assign<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 &quot;sub&quot; values accordin=
g to the level of
          privacy required by each<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 situation.=C2=A0 For instance: =
if a solution
          requires preventing tracking<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 principal activities across mul=
tiple
          resource servers, the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 authorization server should ens=
ure that
          JWT access tokens meant for<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 different resource servers have=
 distinct
          &quot;sub&quot; values tht cannot be<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 correlated in the event of reso=
urce
          servers collusion.=C2=A0 Similarly: if<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 a solution requires preventing =
a
          resource server from correlating the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 principal&#39;s activity within=
 the resource
          itself, the authorization<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 server should assign different =
&quot;sub&quot;
          values for every JWT access<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 token issued.=C2=A0 In turn, th=
e client
          should obtain a new JWT access<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 token for every call to the res=
ource
          server, to ensure that the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 resource server receives differ=
ent &quot;sub&quot;
          and &quot;jti&quot; values at every<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 call, thus preventing correlati=
on
          between distinct requests.<u></u><u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">The above paragraph suggests that there are
          different levels of privacy. What you are
          <u></u><u></u></p>
        <p class=3D"MsoNormal">talking about in the text is unlinkability
          and identification. Ways to deal with such
          <u></u><u></u></p>
        <p class=3D"MsoNormal">privacy threats are described in Section 6
          of RFC 6973. <u></u>
          <u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Hence, I would suggest to slightly rephrase
          the paragraph to something like:<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 This profile mandates the prese=
nce of
          the &quot;sub&quot; claim in every JWT<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 access token, making it possibl=
e for
          resource servers to rely on that<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 information for correlating inc=
oming<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 requests with data stored local=
ly for
          the authenticated principal.<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 Although the ability to correla=
te
          requests might be required by<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 design in many scenarios, there=
 are
          scenarios where the authorization<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 server might want to prevent
          correlation. The &quot;sub&quot; claim should be
          <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0populated by the authoriza=
tion servers
          according to a privacy impact
          <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0assessment. For instance, =
if a solution
          requires preventing tracking<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 principal activities across mul=
tiple
          resource servers, the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 authorization server should ens=
ure that
          JWT access tokens meant for<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 different resource servers have=
 distinct
          &quot;sub&quot; values that cannot be<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 correlated in the event of reso=
urce
          servers collusion.=C2=A0 </p>
      </div>
    </blockquote>
    <p><font face=3D"Arial">While the idea is really nice, the use of the
        &quot;sub&quot; claim in this context is not compatible with the
        definition of the &quot;sub&quot; claim <br>
        as defined in RFC 7519:<br>
        <br>
        =C2=A0=C2=A0=C2=A0=C2=A0 4.1.2.=C2=A0 &quot;sub&quot; (Subject) Cla=
im<br>
        =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <br>
        =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 The &quot;sub&quot; (sub=
ject) claim identifies the principal that
        is the <br>
        =C2=A0 =C2=A0 =C2=A0 =C2=A0 subject of the JWT.=C2=A0 The claims in=
 a JWT are normally
        statements<br>
        =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 about the subject.=C2=A0=
 <b>The subject value MUST either be
          scoped to be</b><b><br>
        </b><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 locally unique in=
 the context of the issuer or be
          globally unique.</b><br>
        =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 The processing of this c=
laim is generally application
        specific.=C2=A0 The<br>
        =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &quot;sub&quot; value is=
 a case-sensitive string containing a
        StringOrURI<br>
        =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 value.=C2=A0 Use of this=
 claim is OPTIONAL.<br>
      </font></p>
    <p><font face=3D"Arial">There are two options and two options only:<br>
      </font></p>
    <blockquote>
      <p><font face=3D"Arial">&quot;locally unique in the context of the
          issuer&quot; means that it is the same for all RSs.<br>
          &quot;globally unique&quot; means that it is the same not only fo=
r all
          the RSs but also for servers that have nothing to do with
          OAuth (e.g. an email address).</font><br>
      </p>
    </blockquote>
    <br>
    <blockquote type=3D"cite">
      <div>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 Similarly, if<u></u><u></=
u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 a solution requires preventing =
a
          resource server from correlating the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 principal&#39;s activity within=
 the resource
          itself, the authorization<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 server should assign different =
&quot;sub&quot;
          values for every JWT access<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 token issued.=C2=A0 In turn, th=
e client
          should obtain a new JWT access<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 token for every call to the res=
ource
          server, to ensure that the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 resource server receives differ=
ent &quot;sub&quot;
          and &quot;jti&quot; values at every<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 call, thus preventing correlati=
on
          between distinct requests.</p>
      </div>
    </blockquote>
    <p><font face=3D"Arial">The proposed text describes two different
        cases where the sub claim is either unique for an AS/RS pair or</fo=
nt><font face=3D"Arial"> unique for each access token.</font></p>
    <p><font face=3D"Arial">These two cases are not included in the
        definition found in RFC 7519. <br>
      </font></p>
    <p><font face=3D"Arial">In the general case, an identifier can be:=C2=
=A0</font>
    </p>
    <ol>
      <li><font face=3D"Arial">locally unique in the context of the issuer
          (i.e. the same for all RSs),</font></li>
      <li><font face=3D"Arial">globally unique (i.e. the same not only for
          all the RSs but also for servers that have nothing to do with
          OAuth),</font></li>
      <li><font face=3D"Arial">unique for an AS/RS pair, or<br>
        </font> </li>
      <li><font face=3D"Arial">unique for each access token.</font></li>
    </ol>
    <font face=3D"Arial">
    </font>
    <p><font face=3D"Arial">I see different ways to solve this problem:</fo=
nt></p>
    <font face=3D"Arial">
    </font>
    <blockquote>
      <p><font face=3D"Arial">1=C2=B0 Stick to the definition of RFC 7519 a=
nd
          (unfortunately) remove these possibilities.<br>
          2=C2=B0 Define two new claims which would support the two cases
          where the sub claim would be either </font><font face=3D"Arial"><=
font face=3D"Arial">unique for an AS/RS pair or</font><font face=3D"Arial">=
 unique for one access token</font>.<br>
        </font><font face=3D"Arial">3=C2=B0 Define four new claims which wo=
uld
          support the four above cases</font><font face=3D"Arial">.</font><=
br>
      </p>
    </blockquote>
    <p><font face=3D"Arial">Denis</font></p>
    <blockquote type=3D"cite">
      <div>
        <p class=3D"MsoNormal"><u></u><u></u></p>
        <p class=3D"MsoNormal">&quot;<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Section 7.2<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">s/=C2=A0=C2=A0 Section Section 2.2.3.1 of th=
is
          specification refers to the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 attributes &quot;roles&quot;, &=
quot;groups&quot;,
          &quot;entitlements&quot; defined in [RFC7643] to<u></u><u></u></p=
>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 express authorization informati=
on in JWT
          access tokens.<u></u><u></u></p>
        <p class=3D"MsoNormal">/=C2=A0=C2=A0 Section 2.2.3.1 of this specif=
ication
          refers to the<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 attributes &quot;roles&quot;, &=
quot;groups&quot;,
          &quot;entitlements&quot; defined in [RFC7643] to<u></u><u></u></p=
>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 express authorization informati=
on in JWT
          access tokens.<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 <u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0<u></u><u></u></p>
        <p class=3D"MsoNormal">References<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">RFC 7519 has to be a normative reference: <u=
></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 [RFC7519]=C2=A0 Jones, M., Brad=
ley, J., and
          N. Sakimura, &quot;JSON Web Token<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (JWT)&quot;, RFC 7519, DOI
          10.17487/RFC7519, May 2015,<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
          <a href=3D"https://www.rfc-editor.org/info/rfc7519" target=3D"_bl=
ank">&lt;https://www.rfc-editor.org/info/rfc7519&gt;</a>.<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 <u></u><u></u></p>
        <p class=3D"MsoNormal">RFC 7644 is an unused reference: <u></u><u><=
/u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 [RFC7644]=C2=A0 Hunt, P., Ed., =
Grizzle, K.,
          Ansari, M., Wahlstroem, E.,<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 and C. Mortimore, &quot;System for
          Cross-domain Identity<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <span lang=3D"FR">Management:
            Protocol&quot;, RFC 7644, DOI 10.17487/RFC7644,<u></u><u></u></=
span></p>
        <p class=3D"MsoNormal"><span lang=3D"FR">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span>September
          2015,
          <a href=3D"https://www.rfc-editor.org/info/rfc7644" target=3D"_bl=
ank">&lt;https://www.rfc-editor.org/info/rfc7644&gt;</a>.=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">The same is true for RFC 3986: <u></u><u></u=
></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0 [RFC3986]=C2=A0 Berners-Lee, T.=
, Fielding,
          R., and L. Masinter, &quot;Uniform<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Resource Identifier (URI):
          Generic Syntax&quot;, STD 66,<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 RFC 3986, DOI
          10.17487/RFC3986, January 2005,<u></u><u></u></p>
        <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
          <a href=3D"https://www.rfc-editor.org/info/rfc3986" target=3D"_bl=
ank">&lt;https://www.rfc-editor.org/info/rfc3986&gt;</a>.<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Ciao<u></u><u></u></p>
        <p class=3D"MsoNormal">Hannes<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
      </div>
      IMPORTANT NOTICE: The contents of this email and any attachments
      are confidential and may also be privileged. If you are not the
      intended recipient, please notify the sender immediately and do
      not disclose the contents to any other person, use it for any
      purpose, or store or copy the information in any medium. Thank
      you.
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
OAuth mailing list
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </div>

_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" rel=3D"noreferrer" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div>

--000000000000eb33de05aecfccd2--

