Return-Path: <neil.madden@forgerock.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 1F1BF1202B8
 for <oauth@ietfa.amsl.com>; Mon, 22 Jul 2019 06:41:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001,
 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 (1024-bit key)
 header.d=forgerock.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 XNhRxBDEjzCH for <oauth@ietfa.amsl.com>;
 Mon, 22 Jul 2019 06:41:46 -0700 (PDT)
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [IPv6:2a00:1450:4864:20::32e])
 (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 056E5120121
 for <oauth@ietf.org>; Mon, 22 Jul 2019 06:41:46 -0700 (PDT)
Received: by mail-wm1-x32e.google.com with SMTP id h19so28819074wme.0
 for <oauth@ietf.org>; Mon, 22 Jul 2019 06:41:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=forgerock.com; s=google;
 h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
 :references; bh=01Uim3GuuaAzBWPDJbRwN6tiCLJOMiQbpiMGiUaEX/A=;
 b=Z4MdVCV6ei360dF1NsUFuSGo0SHrXZsQyLK+zMa8xWTWoJipwIuIn6gOzdsRjX1r/H
 iKy9icJdOcNrjYI8ZrPNBRtmlM8h2Vfcds81mQtGfYOXPmTs+OKZKTpAQpFB+IF8SVnU
 nmHuHGF0n+eoUJHTqARvXiWo5mCwaEX2Pu2XU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:message-id:mime-version:subject:date
 :in-reply-to:cc:to:references;
 bh=01Uim3GuuaAzBWPDJbRwN6tiCLJOMiQbpiMGiUaEX/A=;
 b=QShyyjZQ5IOcDnu0IBPhqzHh5BTudKVtDpFAxwFWtMImZXpx4rCH7Q0cDYIJrNp4Bi
 kdKTpDcNohvbN3OG2JjWfc4ubMvA7MlylUL0Ug3KdiYD4QgDsgLrAU4iJIc4N6vczC9K
 qXTnHw9IXMry9L1seGvn8LTOkQDolTJjinrjW/YEva6xffiVY+nUJTtPuMu5LAU9YVmm
 1dxjVvxC7U4H08/pSTGurmMQuKECyCFnoMBJpsRrCZzLDhbP4lE1qdhYQIojkIrZyXig
 gN6iTMLIpMSe7XEZWxbWmEjQwooqAWv87q5OuUVmjXgMkrbjFR0oQcePdjUJcZkkdGgN
 dPhw==
X-Gm-Message-State: APjAAAX4svMQIY28V88S4l39QNa3pl/WO78VCiMDL8iWeNIPPC1M4PHD
 qhytT7ChWT+cR1Slx/T97BncRw==
X-Google-Smtp-Source: APXvYqx765GuylfW5HtFICdmLxcqG7K5S1K4LpuNYWh7oNzWJdWqibjqh5vXhPfP8L0hoFTEpjuzcA==
X-Received: by 2002:a1c:c545:: with SMTP id v66mr65493712wmf.51.1563802904395; 
 Mon, 22 Jul 2019 06:41:44 -0700 (PDT)
Received: from [192.168.1.64] (98.87.75.194.dyn.plus.net. [194.75.87.98])
 by smtp.gmail.com with ESMTPSA id f3sm23642206wrt.56.2019.07.22.06.41.43
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 22 Jul 2019 06:41:43 -0700 (PDT)
From: Neil Madden <neil.madden@forgerock.com>
Message-Id: <06AF6986-B2D2-4B00-B8DA-0DB2F7C1FA8F@forgerock.com>
Content-Type: multipart/alternative;
 boundary="Apple-Mail=_B227755C-60F1-4DCE-8E44-CA8F06D35C5C"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Mon, 22 Jul 2019 14:41:41 +0100
In-Reply-To: <CAD9ie-smP4dyMPQAuMvD8AxXV1KNuLwBuYFRPtQDVCRBKkd-2A@mail.gmail.com>
Cc: Aaron Parecki <aaron@parecki.com>,
 oauth <oauth@ietf.org>
To: Dick Hardt <dick.hardt@gmail.com>
References: <BD2D90C8-B629-4955-A22C-6E80E6390EEE@mit.edu>
 <CAGBSGjr+kfiavvzhPDF2SaBLDAjusoOGjvgTA85FadM+s_2u=A@mail.gmail.com>
 <E041DFD5-0501-471E-94B3-D1B36595F0BB@forgerock.com>
 <CAD9ie-smP4dyMPQAuMvD8AxXV1KNuLwBuYFRPtQDVCRBKkd-2A@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/VvZQPg5-I0Y3V2KzfM7uQsCkLlI>
Subject: Re: [OAUTH-WG] Transaction Authorization
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: Mon, 22 Jul 2019 13:41:52 -0000


--Apple-Mail=_B227755C-60F1-4DCE-8E44-CA8F06D35C5C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On 21 Jul 2019, at 22:22, Dick Hardt <dick.hardt@gmail.com> wrote:
>=20
> Hi Neil, I agree that an access token that is usable across resources =
is problematic.
>=20
> How are you thinking multiple access tokens would be returned?

Well there are lots of possible ways, e.g.:

{
"tokens": [
    { "resource": "https://res1", "access_token": "..." },=20
    { "resource": "res2", ...}, ...
]
}

I'm not particularly wedded to any format.

> Why do you think the request needs to return multiple tokens rather =
than making a separate request for each token? That would seem to =
simplify the request and response as context would only need to provided =
for the one access token.

Note that in Aaron's proposal we have a "user" section on (presumably) =
every access token response, which indicates a userinfo endpoint that =
itself needs an access token. So either the same access token is used to =
access that userinfo endpoint (which means that the RS can also access =
the userinfo endpoint), or else we already need to return a second =
access token in the same request, e.g.:

{
      "access_token": {
        "value": "UM1P9PMHKUR64TB8N6BW7OZB8CDFONP219RP1LT0",
        "type": "bearer"
      },
      "user": {
        "id": "5035678642",
        "userinfo": "https://authorization-server.com/user/5035678642 =
<https://authorization-server.com/user/5035678642>",
        "userinfo_at": "b0Dl3KsXXOGc7tWfFLZYv7G5bXk"
      }
    }

>=20
>=20
>=20
> On Fri, Jul 19, 2019 at 11:42 PM Neil Madden =
<neil.madden@forgerock.com <mailto:neil.madden@forgerock.com>> wrote:
> If we=E2=80=99re going to redesign OAuth, one improvement would be to =
allow a client to request different access tokens for different resource =
servers in a single request. That should include issuing a different =
access token for the userinfo endpoint vs other RSes.=20
>=20
> One of the weaknesses of combined OAuth + OIDC use now is that if you =
request OIDC scopes and scopes for another resource in the same request =
then you inadvertently give those other RSes access to the user=E2=80=99s =
profile.=20
>=20
> =E2=80=94 Neil
>=20
> On 20 Jul 2019, at 01:02, Aaron Parecki <aaron@parecki.com =
<mailto:aaron@parecki.com>> wrote:
>=20
>> Hi all, I'm looking forward to the discussion on this on Tuesday!
>>=20
>> I wanted to add my thoughts on a potential addition to this draft, =
specifically around returning some minimal user information in the =
transaction response.
>>=20
>> The summary of the suggestion is to return a new "user" key along =
with the access token that contains the user ID and userinfo endpoint, =
such as:
>>=20
>>     {
>>       "access_token": {
>>         "value": "UM1P9PMHKUR64TB8N6BW7OZB8CDFONP219RP1LT0",
>>         "type": "bearer"
>>       },
>>       "user": {
>>         "id": "5035678642",
>>         "userinfo": "https://authorization-server.com/user/5035678642 =
<https://authorization-server.com/user/5035678642>"
>>       }
>>     }
>>=20
>> A more detailed analysis of the specific proposal and motivation =
behind this is available on my blog:
>>=20
>> https://aaronparecki.com/2019/07/18/17/adding-identity-to-xyz =
<https://aaronparecki.com/2019/07/18/17/adding-identity-to-xyz>
>>=20
>> Thanks!
>>=20
>> ----
>> Aaron Parecki
>> aaronparecki.com <http://aaronparecki.com/>
>> @aaronpk <http://twitter.com/aaronpk>
>>=20
>>=20
>>=20
>> On Tue, Jul 9, 2019 at 2:48 PM Justin Richer <jricher@mit.edu =
<mailto:jricher@mit.edu>> wrote:
>> I have requested time to present Transactional Authorization (the XYZ =
project) at the Montreal meeting in a couple weeks. Ahead of that, =
I=E2=80=99ve uploaded a new version of the spec:
>>=20
>> https://tools.ietf.org/html/draft-richer-transactional-authz-02 =
<https://tools.ietf.org/html/draft-richer-transactional-authz-02>
>>=20
>> Additionally, I=E2=80=99ve updated the writeup and examples on =
https://oauth.xyz/ <https://oauth.xyz/>=20
>>=20
>> I plan to be in Montreal for the whole week, and I=E2=80=99ve =
requested from the chairs that I present during the Tuesday session due =
to limited availability of some key WG members on Friday.=20
>>=20
>> =E2=80=94 Justin
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/oauth =
<https://www.ietf.org/mailman/listinfo/oauth>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/oauth =
<https://www.ietf.org/mailman/listinfo/oauth>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth =
<https://www.ietf.org/mailman/listinfo/oauth>


--Apple-Mail=_B227755C-60F1-4DCE-8E44-CA8F06D35C5C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On =
21 Jul 2019, at 22:22, Dick Hardt &lt;<a =
href=3D"mailto:dick.hardt@gmail.com" =
class=3D"">dick.hardt@gmail.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" =
class=3D"">Hi Neil, I agree that an access token that is usable across =
resources is problematic.<div class=3D""><br class=3D""></div><div =
class=3D"">How are you thinking multiple access tokens would be =
returned?</div></div></div></blockquote><div><br =
class=3D""></div><div>Well there are lots of possible ways, =
e.g.:</div><div><br class=3D""></div><div>{</div><div>"tokens": =
[</div><div>&nbsp; &nbsp; { "resource": "<a href=3D"https://res1" =
class=3D"">https://res1</a>", "access_token": "..." =
},&nbsp;</div><div>&nbsp; &nbsp; { "resource": "res2", ...}, =
...</div><div>]</div><div>}</div><div><br class=3D""></div><div>I'm not =
particularly wedded to any format.</div><div><br =
class=3D""></div><blockquote type=3D"cite" class=3D""><div class=3D""><div=
 dir=3D"ltr" class=3D""><div class=3D"">Why do you think the request =
needs to return multiple tokens rather than making a separate request =
for each token? That would seem to simplify the request and response as =
context would only need to provided for the one access =
token.</div></div></div></blockquote><div><br class=3D""></div><div>Note =
that in Aaron's proposal we have a "user" section on (presumably) every =
access token response, which indicates a userinfo endpoint that itself =
needs an access token. So either the same access token is used to access =
that userinfo endpoint (which means that the RS can also access the =
userinfo endpoint), or else we already need to return a second access =
token in the same request, e.g.:</div><div><br class=3D""></div><div><span=
 style=3D"font-family: HelveticaNeue;" class=3D"">{</span><br =
style=3D"font-family: HelveticaNeue;" class=3D""><span =
style=3D"font-family: HelveticaNeue;" class=3D"">&nbsp; =
&nbsp;&nbsp;&nbsp; "access_token": {</span><br style=3D"font-family: =
HelveticaNeue;" class=3D""><span style=3D"font-family: HelveticaNeue;" =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; "value": =
"UM1P9PMHKUR64TB8N6BW7OZB8CDFONP219RP1LT0",</span><br =
style=3D"font-family: HelveticaNeue;" class=3D""><span =
style=3D"font-family: HelveticaNeue;" class=3D"">&nbsp; =
&nbsp;&nbsp;&nbsp; &nbsp; "type": "bearer"</span><br style=3D"font-family:=
 HelveticaNeue;" class=3D""><span style=3D"font-family: HelveticaNeue;" =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; },</span><br style=3D"font-family: =
HelveticaNeue;" class=3D""><span style=3D"font-family: HelveticaNeue;" =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; "user": {</span><br =
style=3D"font-family: HelveticaNeue;" class=3D""><span =
style=3D"font-family: HelveticaNeue;" class=3D"">&nbsp; =
&nbsp;&nbsp;&nbsp; &nbsp; "id": "5035678642",</span><br =
style=3D"font-family: HelveticaNeue;" class=3D""><span =
style=3D"font-family: HelveticaNeue;" class=3D"">&nbsp; =
&nbsp;&nbsp;&nbsp; &nbsp; "userinfo": "</span><a =
href=3D"https://authorization-server.com/user/5035678642" =
style=3D"font-family: HelveticaNeue;" =
class=3D"">https://authorization-server.com/user/5035678642</a><span =
style=3D"font-family: HelveticaNeue;" =
class=3D"">",</span></div><div>&nbsp; &nbsp; &nbsp; &nbsp; =
"userinfo_at": "b0Dl3KsXXOGc7tWfFLZYv7G5bXk"<br style=3D"font-family: =
HelveticaNeue;" class=3D""><span style=3D"font-family: HelveticaNeue;" =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; }</span><br style=3D"font-family: =
HelveticaNeue;" class=3D""><span style=3D"font-family: HelveticaNeue;" =
class=3D"">&nbsp; &nbsp;&nbsp;}</span></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div dir=3D"ltr" class=3D""><div =
class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div></div><br class=3D""><div class=3D"gmail_quote"><div =
dir=3D"ltr" class=3D"gmail_attr">On Fri, Jul 19, 2019 at 11:42 PM Neil =
Madden &lt;<a href=3D"mailto:neil.madden@forgerock.com" =
class=3D"">neil.madden@forgerock.com</a>&gt; wrote:<br =
class=3D""></div><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex"><div dir=3D"auto" class=3D""><div =
dir=3D"ltr" class=3D""></div><div dir=3D"ltr" class=3D"">If we=E2=80=99re =
going to redesign OAuth, one improvement would be to allow a client to =
request different access tokens for different resource servers in a =
single request. That should include issuing a different access token for =
the userinfo endpoint vs other RSes.&nbsp;</div><div dir=3D"ltr" =
class=3D""><br class=3D""></div><div dir=3D"ltr" class=3D"">One of the =
weaknesses of combined OAuth + OIDC use now is that if you request OIDC =
scopes and scopes for another resource in the same request then you =
inadvertently give those other RSes access to the user=E2=80=99s =
profile.&nbsp;</div><div dir=3D"ltr" class=3D""><br class=3D""></div><div =
dir=3D"ltr" class=3D"">=E2=80=94 Neil</div><div dir=3D"ltr" class=3D""><br=
 class=3D"">On 20 Jul 2019, at 01:02, Aaron Parecki &lt;<a =
href=3D"mailto:aaron@parecki.com" target=3D"_blank" =
class=3D"">aaron@parecki.com</a>&gt; wrote:<br class=3D""><br =
class=3D""></div><blockquote type=3D"cite" class=3D""><div dir=3D"ltr" =
class=3D""><div dir=3D"ltr" class=3D"">Hi all, I'm looking forward to =
the discussion on this on Tuesday!<div class=3D""><br =
class=3D""></div><div class=3D"">I wanted to add my thoughts on a =
potential addition to this draft, specifically around returning some =
minimal user information in the transaction response.</div><div =
class=3D""><br class=3D""></div><div class=3D"">The summary of the =
suggestion is to return a new "user" key along with the access token =
that contains the user ID and userinfo endpoint, such as:</div><div =
class=3D""><br class=3D""></div><div class=3D"">&nbsp; &nbsp; {<br =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; "access_token": {<br =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; "value": =
"UM1P9PMHKUR64TB8N6BW7OZB8CDFONP219RP1LT0",<br class=3D"">&nbsp; =
&nbsp;&nbsp;&nbsp; &nbsp; "type": "bearer"<br class=3D"">&nbsp; =
&nbsp;&nbsp;&nbsp; },<br class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; "user": =
{<br class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; "id": "5035678642",<br =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; "userinfo": "<a =
href=3D"https://authorization-server.com/user/5035678642" =
target=3D"_blank" =
class=3D"">https://authorization-server.com/user/5035678642</a>"<br =
class=3D"">&nbsp; &nbsp;&nbsp;&nbsp; }<br class=3D"">&nbsp; =
&nbsp;&nbsp;}<br class=3D""><div class=3D""><br class=3D""></div><div =
class=3D"">A more detailed analysis of the specific proposal and =
motivation behind this is available on my blog:</div><div class=3D""><br =
class=3D""></div><div class=3D""><a =
href=3D"https://aaronparecki.com/2019/07/18/17/adding-identity-to-xyz" =
target=3D"_blank" =
class=3D"">https://aaronparecki.com/2019/07/18/17/adding-identity-to-xyz</=
a><br class=3D""></div><div class=3D""><br class=3D""></div><div =
class=3D"">Thanks!</div><div class=3D""><br clear=3D"all" class=3D""><div =
class=3D""><div dir=3D"ltr" =
class=3D"gmail-m_912130507597235530gmail_signature"><div =
class=3D"">----</div><div class=3D"">Aaron Parecki</div><div class=3D""><a=
 href=3D"http://aaronparecki.com/" target=3D"_blank" =
class=3D"">aaronparecki.com</a></div><div class=3D""><a =
href=3D"http://twitter.com/aaronpk" target=3D"_blank" =
class=3D"">@aaronpk</a></div><div class=3D""><br =
class=3D""></div></div></div><br class=3D""></div></div></div><br =
class=3D""><div class=3D"gmail_quote"><div dir=3D"ltr" =
class=3D"gmail_attr">On Tue, Jul 9, 2019 at 2:48 PM Justin Richer &lt;<a =
href=3D"mailto:jricher@mit.edu" target=3D"_blank" =
class=3D"">jricher@mit.edu</a>&gt; wrote:<br class=3D""></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">



<div class=3D"">
I have requested time to present Transactional Authorization (the XYZ =
project) at the Montreal meeting in a couple weeks. Ahead of that, =
I=E2=80=99ve uploaded a new version of the spec:
<div class=3D""><br class=3D"">
</div>
<div class=3D""><a =
href=3D"https://tools.ietf.org/html/draft-richer-transactional-authz-02" =
target=3D"_blank" =
class=3D"">https://tools.ietf.org/html/draft-richer-transactional-authz-02=
</a></div>
<div class=3D""><br class=3D"">
</div>
<div class=3D"">Additionally, I=E2=80=99ve updated the writeup and =
examples on <a href=3D"https://oauth.xyz/" target=3D"_blank" class=3D"">
https://oauth.xyz/</a>&nbsp;</div>
<div class=3D""><br class=3D"">
</div>
<div class=3D"">I plan to be in Montreal for the whole week, and I=E2=80=99=
ve requested from the chairs that I present during the Tuesday session =
due to limited availability of some key WG members on =
Friday.&nbsp;</div>
<div class=3D""><br class=3D"">
<div class=3D"">
<div style=3D"font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; text-decoration: none;" =
class=3D"">
=E2=80=94 Justin</div>
</div>
<br class=3D"">
</div>
</div>

_______________________________________________<br class=3D"">
OAuth mailing list<br class=3D"">
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank" =
class=3D"">OAuth@ietf.org</a><br class=3D"">
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" rel=3D"noreferrer"=
 target=3D"_blank" =
class=3D"">https://www.ietf.org/mailman/listinfo/oauth</a><br class=3D"">
</blockquote></div>
</div></blockquote><blockquote type=3D"cite" class=3D""><div dir=3D"ltr" =
class=3D""><span =
class=3D"">_______________________________________________</span><br =
class=3D""><span class=3D"">OAuth mailing list</span><br class=3D""><span =
class=3D""><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank" =
class=3D"">OAuth@ietf.org</a></span><br class=3D""><span class=3D""><a =
href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank" =
class=3D"">https://www.ietf.org/mailman/listinfo/oauth</a></span><br =
class=3D""></div></blockquote></div>______________________________________=
_________<br class=3D"">
OAuth mailing list<br class=3D"">
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank" =
class=3D"">OAuth@ietf.org</a><br class=3D"">
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" rel=3D"noreferrer"=
 target=3D"_blank" =
class=3D"">https://www.ietf.org/mailman/listinfo/oauth</a><br class=3D"">
</blockquote></div>
</div></blockquote></div><br class=3D""></body></html>=

--Apple-Mail=_B227755C-60F1-4DCE-8E44-CA8F06D35C5C--

