Return-Path: <bcampbell@pingidentity.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com
 (Postfix) with ESMTP id ED06A1A0792 for <oauth@ietfa.amsl.com>;
 Mon, 28 Apr 2014 11:41:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.578
X-Spam-Level: 
X-Spam-Status: No,
 score=-3.578 tagged_above=-999 required=5 tests=[BAYES_00=-1.9,
 FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3,
 SPF_PASS=-0.001] autolearn=ham
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 zsWbrHlhnSyJ for
 <oauth@ietfa.amsl.com>; Mon, 28 Apr 2014 11:41:40 -0700 (PDT)
Received: from na6sys009bog007.obsmtp.com (na6sys009bog007.obsmtp.com
 [74.125.150.54]) by ietfa.amsl.com (Postfix) with ESMTP id 4D5DE1A04F1 for
 <oauth@ietf.org>; Mon, 28 Apr 2014 11:41:39 -0700 (PDT)
Received: from mail-ie0-f179.google.com ([209.85.223.179]) (using TLSv1) by
 na6sys009bob007.postini.com ([74.125.148.12]) with SMTP ID
 DSNKU16g4qU8vpI3snabwLuBdzT3BlT1KfxG@postini.com;
 Mon, 28 Apr 2014 11:41:38 PDT
Received: by mail-ie0-f179.google.com with SMTP id lx4so6975241iec.38 for
 <oauth@ietf.org>; Mon, 28 Apr 2014 11:41:37 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;
 s=20130820;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc:content-type;
 bh=tq1qAmJ5+xOq+MzJUqZR4g2h9gsSoHZT3Zn81kPmlO4=;
 b=jDUSpHukd11KGfv3lxS5SA3loAczslWInTfixOIYE+abZzlwVpW/WK0KGa3fjT1kgg
 jzRtS0fmxPSXknDs3S3rJsAz2chuwpYtdO/R+Z1gnknw2XPMz8PesznGU2nvXAIIuLwi
 cWzpQ9jIgEbrVV2L50odWXMQzpdzBDSh/QcG1om1055CyOGFh39FBM43U5jx3p5Ah7UH
 xOr77od0W3D0kxIr8CznXonqOGo1IaUqSVGAX21SkfTmSV35Yw1I7KX4j8zBn1TzLufz
 VgOLNsRfDHy0JOEZnQal2dRaUVHfFcUiG/VBJlwbf+CaurGIdHAi9HvahhZrSprhE4Oc zcww==
X-Gm-Message-State: ALoCoQkdK5nmrmEnaCqyeTeDUIm7jVWqa5eOidKV1MCzE5FueRIogsSJ6XECd8tzrc694i9jyuQd5o/wryG2eMdFUY+thuagg++Vtw/ojo+8jvCK3vpHDZklJYAr4RZPy0omZgM2pInA
X-Received: by 10.50.153.49 with SMTP id vd17mr26594388igb.40.1398710497371;
 Mon, 28 Apr 2014 11:41:37 -0700 (PDT)
X-Received: by 10.50.153.49 with SMTP id vd17mr26594367igb.40.1398710497205;
 Mon, 28 Apr 2014 11:41:37 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.240.201 with HTTP; Mon, 28 Apr 2014 11:41:07 -0700 (PDT)
In-Reply-To: <535E160E.3010106@gmx.net>
References: <53577C41.2090606@gmx.net>
 <CA+k3eCSmVo__OBn7vMoSZ2POeFLUS11y+BNOPTX5b=5C_OpfBg@mail.gmail.com>
 <5358B8BC.8000508@gmx.net>
 <CA+k3eCSCtSb42pqz8qE4MQbfXzLQFr9bEAcNm0bgJ24WRL4C4Q@mail.gmail.com>
 <53590810.8000503@gmx.net>
 <CA+k3eCRvukGj-oZ214JNdaAENobrdcanxPxZiAUZ9B529Zsd5A@mail.gmail.com>
 <4E1F6AAD24975D4BA5B16804296739439A1960AA@TK5EX14MBXC288.redmond.corp.microsoft.com>
 <A83036B3-E093-41C6-A212-B5797E536326@ve7jtb.com>
 <CA+k3eCToMDJv4KfapoG=9gSHrtzKT5E8L4OFSJMjQZWBO4Q84g@mail.gmail.com>
 <535E160E.3010106@gmx.net>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Mon, 28 Apr 2014 12:41:07 -0600
Message-ID: <CA+k3eCSRGj_t8PD46mjyC0Q4PrQz0jvyQZP1i9HX3HmCKZ5CHQ@mail.gmail.com>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Content-Type: multipart/alternative; boundary=089e014954be54e40f04f81eaa12
Archived-At: http://mailarchive.ietf.org/arch/msg/oauth/oQQMGdUjI7SRiCm3yF4ySGkKUDQ
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] draft-ietf-oauth-jwt-bearer-08 & subject issue
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Mon, 28 Apr 2014 18:41:44 -0000

--089e014954be54e40f04f81eaa12
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Thanks Hannes,

I'll update that text to reference RFC 6973 and also to indicate a specific
value which could be used for the anonymous user. And I'll publish new
drafts here soon(ish).






On Mon, Apr 28, 2014 at 2:49 AM, Hannes Tschofenig <
hannes.tschofenig@gmx.net> wrote:

> Hi all,
>
> your text proposal sounds reasonable and it might, as suggested,
> indicate what value to put in there for the anonymous user (such as
> 'anonymous'). Saying explicitly what implementers should be doing helps
> interoperability.
>
> Mentioning the pseudonym is also a good idea since in some cases
> anonymity can be too strong and pseudonymity is what is desired. For the
> terminology you could reference RFC 6973.
>
> Ciao
> Hannes
>
> PS: A note to various folks in this email thread: We have not discussed
> this issue before. As I mentioned in my original email we had only
> discussed a related issue regarding client authentication. Antonio's
> email lead me to think about the authorization grant, which is obviously
> a different story (which only happens to be in the same document because
> of the document structure we came up with).
>
> On 04/25/2014 09:57 PM, Brian Campbell wrote:
> > I absolutely agree with always requiring both issuer and subject and
> > that doing so keeps the specs simpler and is likely to improve
> > interoperability.
> >
> > However, without changing that, perhaps some of the text in the
> > document(s) could be improved a bit. Here's a rough proposal:
> >
> > Change the text of the second bullet in
> > http://tools.ietf.org/html/draft-ietf-oauth-assertions-15#section-5.2 t=
o
> >
> > "The assertion MUST contain a Subject. The Subject typically identifies
> > an authorized accessor for which the access token is being requested
> > (i.e. the resource owner, or an authorized delegate) but, in some cases=
,
> > may be a pseudonym or other value denoting an anonymous user. When the
> > client is acting on behalf of itself, the Subject MUST be the value of
> > the client's client_id."
> >
> > And also change
> > http://tools.ietf.org/html/draft-ietf-oauth-assertions-15#section-6.3.1=
to
> >
> > "When a client is accessing resources on behalf of an anonymous user, a
> > mutually agreed upon Subject identifier indicating anonymity is used.
> > The Subject value might be an agreed upon static value indicating an
> > anonymous user or an opaque persistent or transient pseudonym for the
> > user may also be utilized. The authorization may be based upon
> > additional criteria, such as additional attributes or claims provided i=
n
> > the assertion. For example, a client may present an assertion from a
> > trusted issuer asserting that the bearer is over 18 via an included
> > claim. In this case, no additional information about the user's identit=
y
> > is included, yet all the data needed to issue an access token is
> present."
> >
> > And maybe also change the subject text in SAML and JWT (item #2 in
> > http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-08#section-3 and
> > http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-19#section-3)
> > to read a little more like the new proposed text above for section 5.2
> > of the Assertion Framework draft.
> >
> > Would that sit any better with you, Hannes? Thoughts from others in the
> WG?
> >
> >
> > On Fri, Apr 25, 2014 at 1:08 PM, John Bradley <ve7jtb@ve7jtb.com
> > <mailto:ve7jtb@ve7jtb.com>> wrote:
> >
> >     Agreed.
> >
> >     On Apr 25, 2014, at 3:07 PM, Mike Jones <Michael.Jones@microsoft.co=
m
> >     <mailto:Michael.Jones@microsoft.com>> wrote:
> >
> >>     I agree.  We=E2=80=99d already discussed this pretty extensively a=
nd
> >>     reached the conclusion that always requiring both an issuer and a
> >>     subject both kept the specs simpler and was likely to improve
> >>     interoperability.____
> >>
> >>     It=E2=80=99s entirely up to the application profile what the conte=
nts of
> >>     the issuer and the subject fields are and so I don=E2=80=99t think=
 we need
> >>     to further specify their contents beyond what=E2=80=99s already in=
 the
> >>     specs.____
> >>
> >>                                                                 --
> >>     Mike____
> >>
> >>     *From:* OAuth [mailto:oauth-bounces@ietf.org] *On Behalf Of *Brian
> >>     Campbell
> >>     *Sent:* Friday, April 25, 2014 10:17 AM
> >>     *To:* Hannes Tschofenig
> >>     *Cc:* oauth@ietf.org <mailto:oauth@ietf.org>
> >>     *Subject:* Re: [OAUTH-WG] draft-ietf-oauth-jwt-bearer-08 & subject
> >>     issue____
> >>     __ __
> >>
> >>     I believe, from the thread referenced earlier and prior discussion
> >>     and draft text, that the WG has reached (rough) consensus to
> >>     require the subject claim. So text that says "Subject element MUST
> >>     NOT be included" isn't workable.____
> >>
> >>     It seems what's needed here is some better explanation of how, in
> >>     cases that need it, the value of the subject can be populated
> >>     without using a PII type value. A simple static value like
> >>     "ANONYMOUS-SUBJECT" could be used. Or, more likely, some kind of
> >>     pairwise persistent pseudonymous identifier would be utilized,
> >>     which would not directly identify the subject but would allow the
> >>     relying party to recognize the same subject on subsequent
> >>     transactions. A transient pseudonym might also be appropriate in
> >>     some cases. And any of those approaches could be used with or
> >>     without additional claims (like age > 18 or membership in some
> >>     group) that get used to make an authorization decision. ____
> >>
> >>     I wasn't sure exactly how to articulate all that in text for the
> >>     draft(s) but that's more of what I was asking for when I asked if
> >>     you could propose some text.____
> >>
> >>
> >>
> >>
> >>     ____
> >>
> >>     __ __
> >>
> >>     On Thu, Apr 24, 2014 at 6:48 AM, Hannes Tschofenig
> >>     <hannes.tschofenig@gmx.net <mailto:hannes.tschofenig@gmx.net>>
> >>     wrote:____
> >>     Hi Brian,
> >>
> >>     Thanks for pointing to the assertion framework document.
> >>     Re-reading the
> >>     text it appears that we have listed the case that in Section 6.3.1
> but
> >>     have forgotten to cover it elsewhere in the document.
> >>
> >>
> >>     In Section 6.3.1 we say:
> >>
> >>     "
> >>
> >>     6.3.1.  Client Acting on Behalf of an Anonymous User
> >>
> >>        When a client is accessing resources on behalf of an anonymous
> >>     user,
> >>        the Subject indicates to the Authorization Server that the
> >>     client is
> >>        acting on-behalf of an anonymous user as defined by the
> >>     Authorization
> >>        Server.  It is implied that authorization is based upon
> additional
> >>        criteria, such as additional attributes or claims provided in t=
he
> >>        assertion.  For example, a client may present an assertion from=
 a
> >>        trusted issuer asserting that the bearer is over 18 via an
> included
> >>        claim.
> >>
> >>     *****
> >>         In this case, no additional information about the user's
> >>        identity is included, yet all the data needed to issue an acces=
s
> >>        token is present.
> >>     *****
> >>     "
> >>     (I marked the relevant part with '***')
> >>
> >>
> >>     In Section 5.2, however, we say:
> >>
> >>
> >>        o  The assertion MUST contain a Subject.  The Subject identifie=
s
> an
> >>           authorized accessor for which the access token is being
> >>     requested
> >>           (typically the resource owner, or an authorized delegate).
>  When
> >>           the client is acting on behalf of itself, the Subject MUST
> >>     be the
> >>           value of the client's "client_id".
> >>
> >>
> >>     What we should have done in Section 5.2 is to expand the cases
> inline
> >>     with what we have written in Section 6.
> >>
> >>     Here is my proposed text:
> >>
> >>     "
> >>     o  The assertion MUST contain a Subject.  The Subject identifies a=
n
> >>     authorized accessor for which the access token is being
> requested____
> >>
> >>     (typically the resource owner, or an authorized delegate).
> >>
> >>     ____
> >>
> >>     When the client is acting on behalf of itself, as described in
> Section
> >>     6.1 and Section 6.2, the Subject MUST be the value of the client's
> >>     "client_id".
> >>
> >>     When the client is acting on behalf of an user, as described in
> >>     Section
> >>     6.3, the Subject element MUST be included in the assertion and
> >>     identifies an authorized accessor for which the access token is
> being
> >>     requested.
> >>
> >>     When the client is acting on behalf of an anonymous user, as
> described
> >>     in Section 6.3.1, the Subject element MUST NOT be included in the
> >>     assertion. Other elements within the assertion will, however,
> provide
> >>     enough information for the authorization server to make an
> >>     authorization
> >>     decision.
> >>     "
> >>
> >>     Does this make sense to you?
> >>
> >>     Ciao
> >>     Hannes____
> >>
> >>
> >>     On 04/24/2014 02:30 PM, Brian Campbell wrote:
> >>     > There is some discussion of that case in the assertion framework
> >>     > document at
> >>     >
> http://tools.ietf.org/html/draft-ietf-oauth-assertions-15#section-6.3.1
> >>     >
> >>     > Do you feel that more is needed? If so, can you propose some tex=
t?
> >>     >
> >>     >
> >>     > On Thu, Apr 24, 2014 at 1:09 AM, Hannes Tschofenig____
> >>     > <hannes.tschofenig@gmx.net
> >>     <mailto:hannes.tschofenig@gmx.net> <mailto:
> hannes.tschofenig@gmx.net
> >>     <mailto:hannes.tschofenig@gmx.net>>> wrote:
> >>     >
> >>     >     Hi Brian,
> >>     >
> >>     >     I read through the thread and the Google case is a bit
> >>     different since
> >>     >     they are using the client authentication part of the JWT
> >>     bearer spec.
> >>     >     There I don't see the privacy concerns either.
> >>     >
> >>     >     I am, however, focused on the authorization grant where the
> >>     subject is
> >>     >     in most cases the resource owner.
> >>     >
> >>     >     It is possible to put garbage into the subject element when
> >>     privacy
> >>     >     protection is needed for the resource owner case but that
> >>     would need to
> >>     >     be described in the document; currently it is not there.
> >>     >
> >>     >     Ciao
> >>     >     Hannes
> >>     >
> >>     >
> >>     >     On 04/24/2014 12:37 AM, Brian Campbell wrote:
> >>     >     > That thread that Antonio started which you reference went
> >>     on for some
> >>     >     > time
> >>     >     >
> >>     >
> >>     (
> http://www.ietf.org/mail-archive/web/oauth/current/threads.html#12520)
> >>     >     > and seems to have reached consensus that the spec didn't
> need
> >>     >     normative
> >>     >     > change and that such privacy cases or other cases which
> didn't
> >>     >     > explicitly need a subject identifier would be more
> >>     appropriately dealt
> >>     >     > with in application logic:
> >>     >
> >>     > http://www.ietf.org/mail-archive/web/oauth/current/msg12538.html
> >>     >     >
> >>     >     >
> >>     >     >
> >>     >     >
> >>     >     > On Wed, Apr 23, 2014 at 2:39 AM, Hannes Tschofenig
> >>     >     > <hannes.tschofenig@gmx.net
> >>     <mailto:hannes.tschofenig@gmx.net> <mailto:
> hannes.tschofenig@gmx.net
> >>     <mailto:hannes.tschofenig@gmx.net>>____
> >>     >     <mailto:hannes.tschofenig@gmx.net
> >>     <mailto:hannes.tschofenig@gmx.net>____
> >>     >     <mailto:hannes.tschofenig@gmx.net
> >>     <mailto:hannes.tschofenig@gmx.net>>>> wrote:
> >>     >     >
> >>     >     >     Hi all,
> >>     >     >
> >>     >     >     in preparing the shepherd write-up for
> >>     >     draft-ietf-oauth-jwt-bearer-08 I
> >>     >     >     had to review our recent email conversations and the
> issue
> >>     >     raised by
> >>     >     >     Antonio in
> >>     >     >
> >>     >
> >>       http://www.ietf.org/mail-archive/web/oauth/current/msg12520.html=
belong
> >>     >     >     to it.
> >>     >     >
> >>     >     >     The issue was that Section 3 of
> >>     draft-ietf-oauth-jwt-bearer-08
> >>     >     says:
> >>     >     >     "
> >>     >     >        2.   The JWT MUST contain a "sub" (subject) claim
> >>     >     identifying the
> >>     >     >             principal that is the subject of the JWT.  Two
> >>     cases
> >>     >     need to be
> >>     >     >             differentiated:
> >>     >     >
> >>     >     >             A.  For the authorization grant, the subject
> >>     SHOULD
> >>     >     identify an
> >>     >     >                 authorized accessor for whom the access
> >>     token is being
> >>     >     >                 requested (typically the resource owner, o=
r
> an
> >>     >     authorized
> >>     >     >                 delegate).
> >>     >     >
> >>     >     >             B.  For client authentication, the subject
> >>     MUST be the
> >>     >     >                 "client_id" of the OAuth client.
> >>     >     >     "
> >>     >     >
> >>     >     >     Antonio pointed to the current Google API to
> >>     illustrate that
> >>     >     the subject
> >>     >     >     is not always needed. Here is the Google API
> >>     documentation:
> >>     >     >
> >>       https://developers.google.com/accounts/docs/OAuth2ServiceAccount
> >>     >     >
> >>     >     >     The Google API used the client authentication part
> (rather
> >>     >     than the
> >>     >     >     authorization grant), in my understanding.
> >>     >     >
> >>     >     >     I still believe that the subject field has to be
> >>     included for
> >>     >     client
> >>     >     >     authentication but I am not so sure anymore about the
> >>     >     authorization
> >>     >     >     grant since I could very well imagine cases where the
> >>     subject
> >>     >     is not
> >>     >     >     needed for authorization decisions but also for
> >>     privacy reasons.
> >>     >     >
> >>     >     >     I would therefore suggest to change the text as follow=
s:
> >>     >     >
> >>     >     >     "
> >>     >     >        2.   The JWT contains a "sub" (subject) claim
> >>     identifying the
> >>     >     >             principal that is the subject of the JWT.  Two
> >>     cases
> >>     >     need to be
> >>     >     >             differentiated:
> >>     >     >
> >>     >     >             A.  For the authorization grant, the subject
> >>     claim MAY
> >>     >     >                 be included. If it is included it MUST
> >>     identify the
> >>     >     >                 authorized accessor for whom the access
> >>     token is being
> >>     >     >                 requested (typically the resource owner, o=
r
> an
> >>     >     authorized
> >>     >     >                 delegate). Reasons for not including the
> >>     subject claim
> >>     >     >                 in the JWT are identity hiding (i.e.,
> privacy
> >>     >     protection
> >>     >     >                 of the identifier of the subject) and
> >>     cases where
> >>     >     >                 the identifier of the subject is
> >>     irrelevant for making
> >>     >     >                 an authorization decision by the resource
> >>     server.
> >>     >     >
> >>     >     >             B.  For client authentication, the subject
> >>     MUST be the
> >>     >     >                 included in the JWT and the value MUST be
> >>     populated
> >>     >     >                 with the "client_id" of the OAuth client.
> >>     >     >     "
> >>     >     >
> >>     >     >     What do you guys think?
> >>     >     >
> >>     >     >     Ciao
> >>     >     >     Hannes
> >>     >     >
> >>     >     >
> >>     >     >     _______________________________________________
> >>     >     >     OAuth mailing list____
> >>
> >>     >     >     OAuth@ietf.org
> >>     <mailto:OAuth@ietf.org> <mailto:OAuth@ietf.org
> >>     <mailto:OAuth@ietf.org>> <mailto:OAuth@ietf.org
> >>     <mailto:OAuth@ietf.org>
> >>     >     <mailto:OAuth@ietf.org <mailto:OAuth@ietf.org>>>
> >>     >     >     https://www.ietf.org/mailman/listinfo/oauth
> >>     >     >
> >>     >     >
> >>     >
> >>     >____
> >>
> >>     __ __
> >>     _______________________________________________
> >>     OAuth mailing list
> >>     OAuth@ietf.org <mailto:OAuth@ietf.org>
> >>     https://www.ietf.org/mailman/listinfo/oauth
> >
> >
>
>

--089e014954be54e40f04f81eaa12
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Thanks Hannes,<br><br></div>I&#39;ll update that text=
 to reference RFC 6973 and also to indicate a specific value which could be=
 used for  the anonymous user. And I&#39;ll publish new drafts here soon(is=
h). <br>

<br><br><br><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quot=
e">On Mon, Apr 28, 2014 at 2:49 AM, Hannes Tschofenig <span dir=3D"ltr">&lt=
;<a href=3D"mailto:hannes.tschofenig@gmx.net" target=3D"_blank">hannes.tsch=
ofenig@gmx.net</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
your text proposal sounds reasonable and it might, as suggested,<br>
indicate what value to put in there for the anonymous user (such as<br>
&#39;anonymous&#39;). Saying explicitly what implementers should be doing h=
elps<br>
interoperability.<br>
<br>
Mentioning the pseudonym is also a good idea since in some cases<br>
anonymity can be too strong and pseudonymity is what is desired. For the<br=
>
terminology you could reference RFC 6973.<br>
<br>
Ciao<br>
Hannes<br>
<br>
PS: A note to various folks in this email thread: We have not discussed<br>
this issue before. As I mentioned in my original email we had only<br>
discussed a related issue regarding client authentication. Antonio&#39;s<br=
>
email lead me to think about the authorization grant, which is obviously<br=
>
a different story (which only happens to be in the same document because<br=
>
of the document structure we came up with).<br>
<div><div class=3D"h5"><br>
On 04/25/2014 09:57 PM, Brian Campbell wrote:<br>
&gt; I absolutely agree with always requiring both issuer and subject and<b=
r>
&gt; that doing so keeps the specs simpler and is likely to improve<br>
&gt; interoperability.<br>
&gt;<br>
&gt; However, without changing that, perhaps some of the text in the<br>
&gt; document(s) could be improved a bit. Here&#39;s a rough proposal:<br>
&gt;<br>
&gt; Change the text of the second bullet in<br>
&gt; <a href=3D"http://tools.ietf.org/html/draft-ietf-oauth-assertions-15#s=
ection-5.2" target=3D"_blank">http://tools.ietf.org/html/draft-ietf-oauth-a=
ssertions-15#section-5.2</a> to<br>
&gt;<br>
&gt; &quot;The assertion MUST contain a Subject. The Subject typically iden=
tifies<br>
&gt; an authorized accessor for which the access token is being requested<b=
r>
&gt; (i.e. the resource owner, or an authorized delegate) but, in some case=
s,<br>
&gt; may be a pseudonym or other value denoting an anonymous user. When the=
<br>
&gt; client is acting on behalf of itself, the Subject MUST be the value of=
<br>
&gt; the client&#39;s client_id.&quot;<br>
&gt;<br>
&gt; And also change<br>
&gt; <a href=3D"http://tools.ietf.org/html/draft-ietf-oauth-assertions-15#s=
ection-6.3.1" target=3D"_blank">http://tools.ietf.org/html/draft-ietf-oauth=
-assertions-15#section-6.3.1</a> to<br>
&gt;<br>
&gt; &quot;When a client is accessing resources on behalf of an anonymous u=
ser, a<br>
&gt; mutually agreed upon Subject identifier indicating anonymity is used.<=
br>
&gt; The Subject value might be an agreed upon static value indicating an<b=
r>
&gt; anonymous user or an opaque persistent or transient pseudonym for the<=
br>
&gt; user may also be utilized. The authorization may be based upon<br>
&gt; additional criteria, such as additional attributes or claims provided =
in<br>
&gt; the assertion. For example, a client may present an assertion from a<b=
r>
&gt; trusted issuer asserting that the bearer is over 18 via an included<br=
>
&gt; claim. In this case, no additional information about the user&#39;s id=
entity<br>
&gt; is included, yet all the data needed to issue an access token is prese=
nt.&quot;<br>
&gt;<br>
&gt; And maybe also change the subject text in SAML and JWT (item #2 in<br>
&gt; <a href=3D"http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-08#s=
ection-3" target=3D"_blank">http://tools.ietf.org/html/draft-ietf-oauth-jwt=
-bearer-08#section-3</a> and<br>
&gt; <a href=3D"http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-19=
#section-3" target=3D"_blank">http://tools.ietf.org/html/draft-ietf-oauth-s=
aml2-bearer-19#section-3</a>)<br>
&gt; to read a little more like the new proposed text above for section 5.2=
<br>
&gt; of the Assertion Framework draft.<br>
&gt;<br>
&gt; Would that sit any better with you, Hannes? Thoughts from others in th=
e WG?<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 25, 2014 at 1:08 PM, John Bradley &lt;<a href=3D"mailto:ve=
7jtb@ve7jtb.com">ve7jtb@ve7jtb.com</a><br>
</div></div><div class=3D"">&gt; &lt;mailto:<a href=3D"mailto:ve7jtb@ve7jtb=
.com">ve7jtb@ve7jtb.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Agreed.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 On Apr 25, 2014, at 3:07 PM, Mike Jones &lt;<a href=3D"m=
ailto:Michael.Jones@microsoft.com">Michael.Jones@microsoft.com</a><br>
</div><div class=3D"">&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:Micha=
el.Jones@microsoft.com">Michael.Jones@microsoft.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 I agree. =C2=A0We=E2=80=99d already discussed this p=
retty extensively and<br>
&gt;&gt; =C2=A0 =C2=A0 reached the conclusion that always requiring both an=
 issuer and a<br>
&gt;&gt; =C2=A0 =C2=A0 subject both kept the specs simpler and was likely t=
o improve<br>
</div>&gt;&gt; =C2=A0 =C2=A0 interoperability.____<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 It=E2=80=99s entirely up to the application profile =
what the contents of<br>
&gt;&gt; =C2=A0 =C2=A0 the issuer and the subject fields are and so I don=
=E2=80=99t think we need<br>
&gt;&gt; =C2=A0 =C2=A0 to further specify their contents beyond what=E2=80=
=99s already in the<br>
</div>&gt;&gt; =C2=A0 =C2=A0 specs.____<br>
&gt;&gt;<br>
&gt;&gt; =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 =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 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 --<br>
&gt;&gt; =C2=A0 =C2=A0 Mike____<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 *From:* OAuth [mailto:<a href=3D"mailto:oauth-bounce=
s@ietf.org">oauth-bounces@ietf.org</a>] *On Behalf Of *Brian<br>
&gt;&gt; =C2=A0 =C2=A0 Campbell<br>
&gt;&gt; =C2=A0 =C2=A0 *Sent:* Friday, April 25, 2014 10:17 AM<br>
&gt;&gt; =C2=A0 =C2=A0 *To:* Hannes Tschofenig<br>
&gt;&gt; =C2=A0 =C2=A0 *Cc:* <a href=3D"mailto:oauth@ietf.org">oauth@ietf.o=
rg</a> &lt;mailto:<a href=3D"mailto:oauth@ietf.org">oauth@ietf.org</a>&gt;<=
br>
&gt;&gt; =C2=A0 =C2=A0 *Subject:* Re: [OAUTH-WG] draft-ietf-oauth-jwt-beare=
r-08 &amp; subject<br>
&gt;&gt; =C2=A0 =C2=A0 issue____<br>
&gt;&gt; =C2=A0 =C2=A0 __ __<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 I believe, from the thread referenced earlier and pr=
ior discussion<br>
&gt;&gt; =C2=A0 =C2=A0 and draft text, that the WG has reached (rough) cons=
ensus to<br>
&gt;&gt; =C2=A0 =C2=A0 require the subject claim. So text that says &quot;S=
ubject element MUST<br>
</div>&gt;&gt; =C2=A0 =C2=A0 NOT be included&quot; isn&#39;t workable.____<=
br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 It seems what&#39;s needed here is some better expla=
nation of how, in<br>
&gt;&gt; =C2=A0 =C2=A0 cases that need it, the value of the subject can be =
populated<br>
&gt;&gt; =C2=A0 =C2=A0 without using a PII type value. A simple static valu=
e like<br>
&gt;&gt; =C2=A0 =C2=A0 &quot;ANONYMOUS-SUBJECT&quot; could be used. Or, mor=
e likely, some kind of<br>
&gt;&gt; =C2=A0 =C2=A0 pairwise persistent pseudonymous identifier would be=
 utilized,<br>
&gt;&gt; =C2=A0 =C2=A0 which would not directly identify the subject but wo=
uld allow the<br>
&gt;&gt; =C2=A0 =C2=A0 relying party to recognize the same subject on subse=
quent<br>
&gt;&gt; =C2=A0 =C2=A0 transactions. A transient pseudonym might also be ap=
propriate in<br>
&gt;&gt; =C2=A0 =C2=A0 some cases. And any of those approaches could be use=
d with or<br>
&gt;&gt; =C2=A0 =C2=A0 without additional claims (like age &gt; 18 or membe=
rship in some<br>
</div>&gt;&gt; =C2=A0 =C2=A0 group) that get used to make an authorization =
decision. ____<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 I wasn&#39;t sure exactly how to articulate all that=
 in text for the<br>
&gt;&gt; =C2=A0 =C2=A0 draft(s) but that&#39;s more of what I was asking fo=
r when I asked if<br>
</div>&gt;&gt; =C2=A0 =C2=A0 you could propose some text.____<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 ____<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 __ __<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 On Thu, Apr 24, 2014 at 6:48 AM, Hannes Tschofenig<b=
r>
</div>&gt;&gt; =C2=A0 =C2=A0 &lt;<a href=3D"mailto:hannes.tschofenig@gmx.ne=
t">hannes.tschofenig@gmx.net</a> &lt;mailto:<a href=3D"mailto:hannes.tschof=
enig@gmx.net">hannes.tschofenig@gmx.net</a>&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 wrote:____<br>
<div><div class=3D"h5">&gt;&gt; =C2=A0 =C2=A0 Hi Brian,<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 Thanks for pointing to the assertion framework docum=
ent.<br>
&gt;&gt; =C2=A0 =C2=A0 Re-reading the<br>
&gt;&gt; =C2=A0 =C2=A0 text it appears that we have listed the case that in=
 Section 6.3.1 but<br>
&gt;&gt; =C2=A0 =C2=A0 have forgotten to cover it elsewhere in the document=
.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 In Section 6.3.1 we say:<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 6.3.1. =C2=A0Client Acting on Behalf of an Anonymous=
 User<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0When a client is accessing resources on=
 behalf of an anonymous<br>
&gt;&gt; =C2=A0 =C2=A0 user,<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0the Subject indicates to the Authorizat=
ion Server that the<br>
&gt;&gt; =C2=A0 =C2=A0 client is<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0acting on-behalf of an anonymous user a=
s defined by the<br>
&gt;&gt; =C2=A0 =C2=A0 Authorization<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0Server. =C2=A0It is implied that author=
ization is based upon additional<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0criteria, such as additional attributes=
 or claims provided in the<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0assertion. =C2=A0For example, a client =
may present an assertion from a<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0trusted issuer asserting that the beare=
r is over 18 via an included<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0claim.<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 *****<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 In this case, no additional informatio=
n about the user&#39;s<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0identity is included, yet all the data =
needed to issue an access<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0token is present.<br>
&gt;&gt; =C2=A0 =C2=A0 *****<br>
&gt;&gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt; =C2=A0 =C2=A0 (I marked the relevant part with &#39;***&#39;)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 In Section 5.2, however, we say:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0o =C2=A0The assertion MUST contain a Su=
bject. =C2=A0The Subject identifies an<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 authorized accessor for which t=
he access token is being<br>
&gt;&gt; =C2=A0 =C2=A0 requested<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (typically the resource owner, =
or an authorized delegate). =C2=A0When<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 the client is acting on behalf =
of itself, the Subject MUST<br>
&gt;&gt; =C2=A0 =C2=A0 be the<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 value of the client&#39;s &quot=
;client_id&quot;.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 What we should have done in Section 5.2 is to expand=
 the cases inline<br>
&gt;&gt; =C2=A0 =C2=A0 with what we have written in Section 6.<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 Here is my proposed text:<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt; =C2=A0 =C2=A0 o =C2=A0The assertion MUST contain a Subject. =C2=A0=
The Subject identifies an<br>
</div></div>&gt;&gt; =C2=A0 =C2=A0 authorized accessor for which the access=
 token is being requested____<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 (typically the resource owner, or an authorized dele=
gate).<br>
&gt;&gt;<br>
</div>&gt;&gt; =C2=A0 =C2=A0 ____<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 When the client is acting on behalf of itself, as de=
scribed in Section<br>
&gt;&gt; =C2=A0 =C2=A0 6.1 and Section 6.2, the Subject MUST be the value o=
f the client&#39;s<br>
&gt;&gt; =C2=A0 =C2=A0 &quot;client_id&quot;.<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 When the client is acting on behalf of an user, as d=
escribed in<br>
&gt;&gt; =C2=A0 =C2=A0 Section<br>
&gt;&gt; =C2=A0 =C2=A0 6.3, the Subject element MUST be included in the ass=
ertion and<br>
&gt;&gt; =C2=A0 =C2=A0 identifies an authorized accessor for which the acce=
ss token is being<br>
&gt;&gt; =C2=A0 =C2=A0 requested.<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 When the client is acting on behalf of an anonymous =
user, as described<br>
&gt;&gt; =C2=A0 =C2=A0 in Section 6.3.1, the Subject element MUST NOT be in=
cluded in the<br>
&gt;&gt; =C2=A0 =C2=A0 assertion. Other elements within the assertion will,=
 however, provide<br>
&gt;&gt; =C2=A0 =C2=A0 enough information for the authorization server to m=
ake an<br>
&gt;&gt; =C2=A0 =C2=A0 authorization<br>
&gt;&gt; =C2=A0 =C2=A0 decision.<br>
&gt;&gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 Does this make sense to you?<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 Ciao<br>
</div>&gt;&gt; =C2=A0 =C2=A0 Hannes____<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 On 04/24/2014 02:30 PM, Brian Campbell wrote:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; There is some discussion of that case in the as=
sertion framework<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; document at<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; <a href=3D"http://tools.ietf.org/html/draft-iet=
f-oauth-assertions-15#section-6.3.1" target=3D"_blank">http://tools.ietf.or=
g/html/draft-ietf-oauth-assertions-15#section-6.3.1</a><br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; Do you feel that more is needed? If so, can you=
 propose some text?<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
</div>&gt;&gt; =C2=A0 =C2=A0 &gt; On Thu, Apr 24, 2014 at 1:09 AM, Hannes T=
schofenig____<br>
<div><div class=3D"h5">&gt;&gt; =C2=A0 =C2=A0 &gt; &lt;<a href=3D"mailto:ha=
nnes.tschofenig@gmx.net">hannes.tschofenig@gmx.net</a><br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hannes.tschofenig@gmx.n=
et">hannes.tschofenig@gmx.net</a>&gt; &lt;mailto:<a href=3D"mailto:hannes.t=
schofenig@gmx.net">hannes.tschofenig@gmx.net</a><br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hannes.tschofenig@gmx.n=
et">hannes.tschofenig@gmx.net</a>&gt;&gt;&gt; wrote:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Hi Brian,<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 I read through the thread and the=
 Google case is a bit<br>
&gt;&gt; =C2=A0 =C2=A0 different since<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 they are using the client authent=
ication part of the JWT<br>
&gt;&gt; =C2=A0 =C2=A0 bearer spec.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 There I don&#39;t see the privacy=
 concerns either.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 I am, however, focused on the aut=
horization grant where the<br>
&gt;&gt; =C2=A0 =C2=A0 subject is<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 in most cases the resource owner.=
<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 It is possible to put garbage int=
o the subject element when<br>
&gt;&gt; =C2=A0 =C2=A0 privacy<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 protection is needed for the reso=
urce owner case but that<br>
&gt;&gt; =C2=A0 =C2=A0 would need to<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 be described in the document; cur=
rently it is not there.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Ciao<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Hannes<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 On 04/24/2014 12:37 AM, Brian Cam=
pbell wrote:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; That thread that Antonio sta=
rted which you reference went<br>
&gt;&gt; =C2=A0 =C2=A0 on for some<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; time<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 (<a href=3D"http://www.ietf.org/mail-archive/web/oau=
th/current/threads.html#12520" target=3D"_blank">http://www.ietf.org/mail-a=
rchive/web/oauth/current/threads.html#12520</a>)<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; and seems to have reached co=
nsensus that the spec didn&#39;t need<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 normative<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; change and that such privacy=
 cases or other cases which didn&#39;t<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; explicitly need a subject id=
entifier would be more<br>
&gt;&gt; =C2=A0 =C2=A0 appropriately dealt<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; with in application logic:<b=
r>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; <a href=3D"http://www.ietf.org/mail-archive/web=
/oauth/current/msg12538.html" target=3D"_blank">http://www.ietf.org/mail-ar=
chive/web/oauth/current/msg12538.html</a><br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; On Wed, Apr 23, 2014 at 2:39=
 AM, Hannes Tschofenig<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; &lt;<a href=3D"mailto:hannes=
.tschofenig@gmx.net">hannes.tschofenig@gmx.net</a><br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hannes.tschofenig@gmx.n=
et">hannes.tschofenig@gmx.net</a>&gt; &lt;mailto:<a href=3D"mailto:hannes.t=
schofenig@gmx.net">hannes.tschofenig@gmx.net</a><br>
</div></div>&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hannes.tsch=
ofenig@gmx.net">hannes.tschofenig@gmx.net</a>&gt;&gt;____<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hann=
es.tschofenig@gmx.net">hannes.tschofenig@gmx.net</a><br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hannes.tschofenig@gmx.n=
et">hannes.tschofenig@gmx.net</a>&gt;____<br>
<div><div class=3D"h5">&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &lt;mailto=
:<a href=3D"mailto:hannes.tschofenig@gmx.net">hannes.tschofenig@gmx.net</a>=
<br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:hannes.tschofenig@gmx.n=
et">hannes.tschofenig@gmx.net</a>&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Hi all,<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 in preparing t=
he shepherd write-up for<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 draft-ietf-oauth-jwt-bearer-08 I<=
br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 had to review =
our recent email conversations and the issue<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 raised by<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Antonio in<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 <a href=3D"http://www.ietf.org/mail-archive/w=
eb/oauth/current/msg12520.html" target=3D"_blank">http://www.ietf.org/mail-=
archive/web/oauth/current/msg12520.html</a> belong<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 to it.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 The issue was =
that Section 3 of<br>
&gt;&gt; =C2=A0 =C2=A0 draft-ietf-oauth-jwt-bearer-08<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 says:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A02=
. =C2=A0 The JWT MUST contain a &quot;sub&quot; (subject) claim<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 identifying the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 principal that is the subject of the JWT. =C2=A0Two<br>
&gt;&gt; =C2=A0 =C2=A0 cases<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 need to be<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 differentiated:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 A. =C2=A0For the authorization grant, the subject<br>
&gt;&gt; =C2=A0 =C2=A0 SHOULD<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 identify an<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 authorized accessor for whom the access<br>
&gt;&gt; =C2=A0 =C2=A0 token is being<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 requested (typically the resource owner, or an<=
br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 authorized<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 delegate).<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 B. =C2=A0For client authentication, the subject<br>
&gt;&gt; =C2=A0 =C2=A0 MUST be the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;client_id&quot; of the OAuth client.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Antonio pointe=
d to the current Google API to<br>
&gt;&gt; =C2=A0 =C2=A0 illustrate that<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 the subject<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 is not always =
needed. Here is the Google API<br>
&gt;&gt; =C2=A0 =C2=A0 documentation:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 =C2=A0 <a href=3D"https://developers.google.com/acco=
unts/docs/OAuth2ServiceAccount" target=3D"_blank">https://developers.google=
.com/accounts/docs/OAuth2ServiceAccount</a><br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 The Google API=
 used the client authentication part (rather<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 than the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 authorization =
grant), in my understanding.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 I still believ=
e that the subject field has to be<br>
&gt;&gt; =C2=A0 =C2=A0 included for<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 client<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 authentication=
 but I am not so sure anymore about the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 authorization<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 grant since I =
could very well imagine cases where the<br>
&gt;&gt; =C2=A0 =C2=A0 subject<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 is not<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 needed for aut=
horization decisions but also for<br>
&gt;&gt; =C2=A0 =C2=A0 privacy reasons.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 I would theref=
ore suggest to change the text as follows:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A02=
. =C2=A0 The JWT contains a &quot;sub&quot; (subject) claim<br>
&gt;&gt; =C2=A0 =C2=A0 identifying the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 principal that is the subject of the JWT. =C2=A0Two<br>
&gt;&gt; =C2=A0 =C2=A0 cases<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 need to be<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 differentiated:<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 A. =C2=A0For the authorization grant, the subject<br>
&gt;&gt; =C2=A0 =C2=A0 claim MAY<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 be included. If it is included it MUST<br>
&gt;&gt; =C2=A0 =C2=A0 identify the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 authorized accessor for whom the access<br>
&gt;&gt; =C2=A0 =C2=A0 token is being<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 requested (typically the resource owner, or an<=
br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 authorized<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 delegate). Reasons for not including the<br>
&gt;&gt; =C2=A0 =C2=A0 subject claim<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 in the JWT are identity hiding (i.e., privacy<b=
r>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 protection<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 of the identifier of the subject) and<br>
&gt;&gt; =C2=A0 =C2=A0 cases where<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 the identifier of the subject is<br>
&gt;&gt; =C2=A0 =C2=A0 irrelevant for making<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 an authorization decision by the resource<br>
&gt;&gt; =C2=A0 =C2=A0 server.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 B. =C2=A0For client authentication, the subject<br>
&gt;&gt; =C2=A0 =C2=A0 MUST be the<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 included in the JWT and the value MUST be<br>
&gt;&gt; =C2=A0 =C2=A0 populated<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 with the &quot;client_id&quot; of the OAuth cli=
ent.<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &quot;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 What do you gu=
ys think?<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Ciao<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 Hannes<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 ______________=
_________________________________<br>
</div></div>&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 OA=
uth mailing list____<br>
<div class=3D"">&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 <a href=3D"mai=
lto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:OAuth@ietf.org">OAuth@i=
etf.org</a>&gt; &lt;mailto:<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org=
</a><br>
</div>&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:OAuth@ietf.org">O=
Auth@ietf.org</a>&gt;&gt; &lt;mailto:<a href=3D"mailto:OAuth@ietf.org">OAut=
h@ietf.org</a><br>
&gt;&gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:OAuth@ietf.org">OAuth@i=
etf.org</a>&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &lt;mailto:<a href=3D"mailto:OAut=
h@ietf.org">OAuth@ietf.org</a> &lt;mailto:<a href=3D"mailto:OAuth@ietf.org"=
>OAuth@ietf.org</a>&gt;&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 <a href=3D"htt=
ps://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">https://www.iet=
f.org/mailman/listinfo/oauth</a><br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;<br>
&gt;&gt; =C2=A0 =C2=A0 &gt;____<br>
&gt;&gt;<br>
&gt;&gt; =C2=A0 =C2=A0 __ __<br>
<div class=3D"">&gt;&gt; =C2=A0 =C2=A0 ____________________________________=
___________<br>
&gt;&gt; =C2=A0 =C2=A0 OAuth mailing list<br>
&gt;&gt; =C2=A0 =C2=A0 <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a>=
 &lt;mailto:<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a>&gt;<br>
</div>&gt;&gt; =C2=A0 =C2=A0 <a href=3D"https://www.ietf.org/mailman/listin=
fo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a>=
<br>
&gt;<br>
&gt;<br>
<br>
</blockquote></div><br></div></div>

--089e014954be54e40f04f81eaa12--

