Return-Path: <bjung@pingidentity.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 79A333A0A04
 for <oauth@ietfa.amsl.com>; Wed,  4 Mar 2020 14:06:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.078
X-Spam-Level: 
X-Spam-Status: No, score=-2.078 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, HTML_MESSAGE=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01,
 T_REMOTE_IMAGE=0.01, URIBL_BLOCKED=0.001]
 autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
 header.d=pingidentity.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 0dg3ca82AJuh for <oauth@ietfa.amsl.com>;
 Wed,  4 Mar 2020 14:06:29 -0800 (PST)
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [IPv6:2a00:1450:4864:20::133])
 (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 62A343A093A
 for <oauth@ietf.org>; Wed,  4 Mar 2020 14:06:29 -0800 (PST)
Received: by mail-lf1-x133.google.com with SMTP id y17so2817068lfe.8
 for <oauth@ietf.org>; Wed, 04 Mar 2020 14:06:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=pingidentity.com; s=google;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=nnmZOVU0ALvSmEPjXih7uuNDQtSMDJ2s+EnSHF7FsrM=;
 b=UuYy0lUTvOJD4yiM5Jsxx5UDp5W5PWO81QlD/yFrQW311kALVDI/hi5W16ANRsSrYK
 YQ9lRSMLJ2Hq5d+EIpVSeOrz8N0ERxcyfRbQQZkE1qAMWq1KXPNIuAtRx4cItSIcDvHS
 6JNDNjTRyF6rNv/EqmwWycrmhMcpSYqE1en6wnaZqo+U2iElWAsNAkjg89dvfQHTipDV
 LloRS0rDOnV30gn+6MMwkTUDoiXfovVzpBH2RqI2Y+3x+DCVNSdn00GMl35x2eDKo8y7
 Q2ZyJxP89ETU58U13o5tfXUZrdklRjyztvioe34adcjLqY6AVhROa1233QBOemBd1ayB
 V4jA==
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=nnmZOVU0ALvSmEPjXih7uuNDQtSMDJ2s+EnSHF7FsrM=;
 b=dSu28rgl6K/f5A+ZLUZr9zoo7sj/wOGGh971XY8c1SP+kmafFLo3vBOH5iOZffHeHa
 yxeDX7pfjcY/yG47pVbGTjal/4xoz2tZ0owNnEDLcMQxBeKygFA7AYH//D6rIx4O4QFO
 aZeue+1lfcAlOCGA3nK4XsCBe1jbnfhX75W6PioXIBPFq2QmNB02Gu/iybyy/0rfZpCB
 8acbOb+7l31OyoaB29rkbWJKChZss19Taz/BpvkPcFhe0pGah0FjaJ9kFnWgmhWiUMTj
 PQ9j6dIrLNiq4HFQNWfUzwlHT7zMz2k63oZuWhNxbRE9BS0AdL4Wu9lu4ryhhykR9URT
 2ydQ==
X-Gm-Message-State: ANhLgQ3+vy438qRrIWVnaBo40lkQ+2XJcvDefmbF5qs6genGJEl+0CYF
 mOeMI/ZaxLnm8Oj3eJBQp47T1Extn9O/c89aTMPw9ga3NH2EV0jgGHq+itkvGMm9g/LkD5GjWV7
 n0Sncwsnk1VgiRQ==
X-Google-Smtp-Source: =?utf-8?q?ADFU+vvxj6w2Z+ir26uCT7w7ka+MncflAZ9bAxjH0UhM?=
 =?utf-8?q?387MDwU8IV7F8nWW7asPo4D0LKH4joiBpplyqrgM4+YFOqQ=3D?=
X-Received: by 2002:a19:5f1c:: with SMTP id t28mr2792753lfb.131.1583359587400;
  Wed, 04 Mar 2020 14:06:27 -0800 (PST)
MIME-Version: 1.0
References:
 <CAErhd0OLTMKxXnT-_X6DyWYUxe==gTXdcHKLjOEDTmXCUZNxrg@mail.gmail.com>
 <CALkShcuLTd02iu309dCZ8PtnzbKd5b9PsVS_DWUMGWXgFovwMg@mail.gmail.com>
 <C0C40A3E-2455-4C86-B504-AB18F31975D9@alkaline-solutions.com>
 <CALkShct=sYSq-HoG=yMiV2BqT8+F=gnej+p2GgFD87FV1OQu3w@mail.gmail.com>
 <D3D1BFB8-CE54-4E48-A8B9-45E01ED2B637@alkaline-solutions.com>
 <CAErhd0PkNzFTVgjSS24RzjKZ+sq2Hubhr3j_hmnbtgLuQgOGhQ@mail.gmail.com>
 <7C1D0E68-5D7B-4C0A-AE13-D513AB8723DE@mit.edu>
In-Reply-To: <7C1D0E68-5D7B-4C0A-AE13-D513AB8723DE@mit.edu>
From: Bill Jung <bjung@pingidentity.com>
Date: Wed, 4 Mar 2020 14:06:14 -0800
Message-ID:
 <CAErhd0Ov7v8TMnmwpOaqnrS-FXKZP2fa_FZ37XQ5SPOWzbH3Mg@mail.gmail.com>
To: Justin Richer <jricher@mit.edu>
Cc: David Waite <david@alkaline-solutions.com>, oauth@ietf.org
Content-Type: multipart/alternative; boundary="000000000000c257c905a00ea111"
Archived-At:
 <https://mailarchive.ietf.org/arch/msg/oauth/ob0Wn-M2m4QNxUvxxkwasE37ZKQ>
Subject: Re: [OAUTH-WG] OAuth 2.0 Token Introspection in RFC7662 : Refresh
 token?
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: Wed, 04 Mar 2020 22:06:33 -0000

--000000000000c257c905a00ea111
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Yep, I agree. But that's just me agreeing with it. Unless the spec clearly
says it everybody will throw different ideas and use cases. That's why I
want the spec to clarify this.

On Wed, Mar 4, 2020, 1:42 PM Justin Richer, <jricher@mit.edu> wrote:

> Why would the client need to know the refresh token=E2=80=99s expiry? Can=
=E2=80=99t they
> just use the refresh token and see? Either way it=E2=80=99s a single roun=
d trip to
> the AS and the client gets the same answer with the same recovery code pa=
th.
>
>  =E2=80=94 Justin
>
> On Mar 4, 2020, at 2:01 PM, Bill Jung <
> bjung=3D40pingidentity.com@dmarc.ietf.org> wrote:
>
> The question started when some RPs (client apps) asked that AS allow
> introspection endpoint to RPs so that RPs can check their refresh
> token's expiry. If AS allows this, which the spec is not clear about, the=
n
> AS needs to know if the request is coming from RP or RS so that AS can
> allow the Access Token introspection to RS only. But then is that the rig=
ht
> thing to do even?
>
> Surely some clarification will eliminate the time spent on unnecessary
> discussion among developers.
>
> <https://www.pingidentity..com/>[image: Ping Identity]
> <https://www.pingidentity.com/>
> Bill Jung
> Manager, Response Engineering
> bjung@pingidentity.com
> w: +1 604.697.7037
> Connect with us: [image: Glassdoor logo]
> <https://www.glassdoor.com/Overview/Working-at-Ping-Identity-EI_IE380907.=
11,24.htm> [image:
> LinkedIn logo] <https://www.linkedin.com/company/21870>  [image: twitter
> logo] <https://twitter.com/pingidentity> [image: facebook logo]
> <https://www.facebook.com/pingidentitypage> [image: youtube logo]
> <https://www.youtube.com/user/PingIdentityTV>  [image: Blog logo]
> <https://www.pingidentity.com/en/blog.html>
> <https://www.google.com/url?q=3Dhttps://www.pingidentity.com/content/dam/=
ping-6-2-assets/Assets/faqs/en/consumer-attitudes-post-breach-era-3375.pdf?=
id%3Db6322a80-f285-11e3-ac10-0800200c9a66&source=3Dgmail&ust=3D154169360852=
6000&usg=3DAFQjCNGBl5cPHCUAVKGZ_NnpuFj5PHGSUQ>
> <https://www.pingidentity.com/en/events/d/identify-2019.html>
> <https://www.pingidentity.com/content/dam/ping-6-2-assets/Assets/Misc/en/=
3464-consumersurvey-execsummary.pdf>
>
>
> On Sun, Mar 1, 2020 at 9:33 PM David Waite <david=3D
> 40alkaline-solutions.com@dmarc.ietf.org> wrote:
>
>> On Mar 1, 2020, at 10:11 PM, Andrii Deinega <andrii.deinega@gmail.com>
>> wrote:
>> >
>> > How would the authorization server know who actually uses the
>> > introspection endpoint assuming that a protected resource and a client
>> > application use the same credentials (client_id and client_secret)?
>>
>> In the external context, you have a client accessing a protected resourc=
e
>> with an access token. The client should treat the token as opaque, and
>> RFC7662 makes no allowances for that client to introspect its tokens.
>>
>> If you control both the client and protected resource, you may decide to
>> short-cut and have them share credentials. However, the client logic sti=
ll
>> should never be introspecting the tokens.
>>
>> The security considerations also say that you must prove the
>> authentication of the protected resource, which I have interpreted to me=
an
>> that access tokens used to authorize the call to the introspection endpo=
int
>> must be issued to a confidential client - public clients cannot protect
>> credentials to perform an authentication. You want to limit introspectio=
n
>> to prevent denial of service and probing attacks, and to limit the amoun=
t
>> of information on viable attacks conveyed if someone steals a token.
>>
>> -DW
>>
>> >
>> > Regards,
>> > Andrii
>> >
>> > On Sun, Mar 1, 2020 at 7:38 PM David Waite <
>> david@alkaline-solutions.com> wrote:
>> >>
>> >> I would expect the AS to invalidate the refresh token in this case,
>> which would not require a refresh token mode nor necessarily any signali=
ng
>> back to the resource.
>> >>
>> >> -DW
>> >>
>> >>> On Mar 1, 2020, at 12:12 AM, Andrii Deinega <andrii.deinega@gmail.co=
m>
>> wrote:
>> >>>
>> >>> Hello Bill,
>> >>>
>> >>> I'm just thinking out loud about possible scenarios for a protected
>> >>> resource here... It may decide to revoke a refresh token if a client
>> >>> application tried to use it instead of an access token when the
>> >>> protected resource is paranoid about security. In order to do that a=
n
>> >>> introspection response should include a non-standard parameter which
>> >>> indicates that the requested token is refresh_token.
>> >>>
>> >>> A user of the introspection endpoint should rely only on a value of
>> >>> the active parameter (which is a boolean indicator) of the endpoint
>> >>> response. This applies to both types of tokens. Note, the expiration
>> >>> date, as well as other parameters, are defined as optional in the
>> >>> specification. Both token types can be revoked before the expiration
>> >>> date comes even if this parameter is presented as part of the
>> >>> response. In my opinion, there are a number of reasons why this chec=
k
>> >>> (for a refresh token) can be useful on the client application side.
>> >>>
>> >>> --
>> >>> Regards,
>> >>> Andrii
>> >>>
>> >>>
>> >>> On Fri, Feb 28, 2020 at 1:59 AM Bill Jung
>> >>> <bjung=3D40pingidentity.com@dmarc.ietf.org> wrote:
>> >>>>
>> >>>> Hello, hopefully I am using the right email address.
>> >>>>
>> >>>> Simply put, can this spec be enhanced to clarify "Who can use the
>> introspection endpoint for a refresh token? A resource provider or a cli=
ent
>> app or both?"
>> >>>>
>> >>>> RFC7662 clearly mentions that the user of introspection endpoint is
>> a 'protected resource' and that makes sense for an access token. If we
>> allow this to client apps, it'll give unnecessary token information to t=
hem.
>> >>>> However, the spec also mentions that refresh tokens can also be use=
d
>> against the endpoint.
>> >>>> In case of refresh tokens, user of the endpoint should be a client
>> app because refresh tokens are used by clients to get another access tok=
en.
>> (Cannot imagine how/why a resource server would introspect a refresh tok=
en)
>> >>>>
>> >>>> Is it correct to assume that the endpoint should be allowed to
>> client apps if they want to examine refresh token's expiry time? Then th=
e
>> RFC should clearly mention it.
>> >>>>
>> >>>> Thanks in advance.
>> >>>>
>> >>>> <Details from the spec>
>> >>>> In https://tools.ietf.org/html/rfc7662
>> >>>> In '1.  Introduction' section says,
>> >>>> "This specification defines a protocol that allows authorized
>> >>>> protected resources to query the authorization server to determine
>> >>>> the set of metadata for a given token that was presented to them by
>> >>>> an OAuth 2.0 client."
>> >>>> Above makes clear that user of the endpoint is a "protected
>> resource".
>> >>>>
>> >>>> And under 'token' in '2.1.  Introspection Request' section says,
>> >>>> "For refresh tokens,
>> >>>> this is the "refresh_token" value returned from the token endpoint
>> >>>> as defined in OAuth 2.0 [RFC6749], Section 5.1."
>> >>>> So looks like a refresh token is allowed for this endpoint..
>> >>>>
>> >>>>
>> >>>> Bill Jung
>> >>>> Manager, Response Engineering
>> >>>> bjung@pingidentity.com
>> >>>> w: +1 604.697.7037
>> >>>> Connect with us:
>> >>>>
>> >>>> CONFIDENTIALITY NOTICE: This email may contain confidential and
>> privileged material for the sole use of the intended recipient(s). Any
>> review, use, distribution or disclosure by others is strictly
>> prohibited...  If you have received this communication in error, please
>> notify the sender immediately by e-mail and delete the message and any f=
ile
>> attachments from your computer. Thank
>> you._______________________________________________
>> >>>> OAuth mailing list
>> >>>> OAuth@ietf.org
>> >>>> https://www.ietf.org/mailman/listinfo/oauth
>> >>>
>> >>> _______________________________________________
>> >>> OAuth mailing list
>> >>> OAuth@ietf..org <OAuth@ietf.org>
>> >>> https://www.ietf.org/mailman/listinfo/oauth
>> >>
>>
>>
> *CONFIDENTIALITY NOTICE: This email may contain confidential and
> privileged material for the sole use of the intended recipient(s). Any
> review, use, distribution or disclosure by others is strictly prohibited.=
.
> If you have received this communication in error, please notify the sende=
r
> immediately by e-mail and delete the message and any file attachments fro=
m
> your computer. Thank you.*_______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>

--=20
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged=
=20
material for the sole use of the intended recipient(s). Any review, use,=20
distribution or disclosure by others is strictly prohibited.=C2=A0 If you h=
ave=20
received this communication in error, please notify the sender immediately=
=20
by e-mail and delete the message and any file attachments from your=20
computer. Thank you._

--000000000000c257c905a00ea111
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Yep, I agree. But that&#39;s just me agreeing with it. Un=
less the spec clearly says it everybody will throw different ideas and use =
cases. That&#39;s why I want the spec to clarify this.</div><br><div class=
=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Mar 4, 2020,=
 1:42 PM Justin Richer, &lt;<a href=3D"mailto:jricher@mit.edu">jricher@mit.=
edu</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style=3D"wo=
rd-wrap:break-word;line-break:after-white-space">Why would the client need =
to know the refresh token=E2=80=99s expiry? Can=E2=80=99t they just use the=
 refresh token and see? Either way it=E2=80=99s a single round trip to the =
AS and the client gets the same answer with the same recovery code path.<di=
v><br></div><div>=C2=A0=E2=80=94 Justin<br><div><br><blockquote type=3D"cit=
e"><div>On Mar 4, 2020, at 2:01 PM, Bill Jung &lt;<a href=3D"mailto:bjung=
=3D40pingidentity.com@dmarc.ietf.org" target=3D"_blank" rel=3D"noreferrer">=
bjung=3D40pingidentity.com@dmarc.ietf.org</a>&gt; wrote:</div><br><div><div=
 dir=3D"ltr" style=3D"font-family:Helvetica;font-size:12px;font-style:norma=
l;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-al=
ign:start;text-indent:0px;text-transform:none;white-space:normal;word-spaci=
ng:0px;text-decoration:none">The question started when some RPs (client app=
s) asked that AS allow introspection=C2=A0endpoint to RPs so that RPs can c=
heck their refresh token&#39;s=C2=A0expiry. If AS allows this, which the sp=
ec is not clear about, then AS needs to know if the request is coming from =
RP or RS so that AS can allow the Access Token introspection to RS only. Bu=
t then is that the right thing to do even?=C2=A0<div><br></div><div>Surely =
some clarification=C2=A0will eliminate the time spent on unnecessary discus=
sion among developers.=C2=A0<div><br><div><div><div dir=3D"ltr" data-smartm=
ail=3D"gmail_signature"><div style=3D"padding:0px;margin:0px"><table style=
=3D"border-collapse:collapse;padding:0px;margin:0px"><tbody><tr><td style=
=3D"width:113px"><a href=3D"https://www.pingidentity..com/" target=3D"_blan=
k" rel=3D"noreferrer"></a><a href=3D"https://www.pingidentity.com/" target=
=3D"_blank" rel=3D"noreferrer"><img alt=3D"Ping Identity" src=3D"https://ww=
w.pingidentity.com/content/dam/pic/images/misc/signature/ping-logo.png"></a=
></td><td><table><tbody><tr><td style=3D"vertical-align:top"><span style=3D=
"color:rgb(230,29,60);display:inline-block;margin-bottom:3px;font-family:ar=
ial,helvetica,sans-serif;font-weight:bold;font-size:14px">Bill Jung</span>	=
	<br><span style=3D"display:inline-block;margin-bottom:2px;font-family:aria=
l,helvetica,sans-serif;font-weight:normal;font-size:14px">Manager, Response=
 Engineering</span>		<br><span style=3D"font-family:arial,helvetica,sans-se=
rif;font-size:14px;display:inline-block;margin-bottom:3px"><a href=3D"mailt=
o:bjung@pingidentity.com" target=3D"_blank" rel=3D"noreferrer">bjung@pingid=
entity.com</a></span>		<br><span style=3D"display:inline-block;margin-botto=
m:2px;font-family:arial,helvetica,sans-serif;font-weight:normal;font-size:1=
4px">w: +1 604.697.7037</span>		<br><span style=3D"display:inline-block;mar=
gin-bottom:2px;font-family:arial,helvetica,sans-serif;font-weight:normal;fo=
nt-size:14px"></span></td></tr></tbody></table></td></tr><tr><td colspan=3D=
"2"><table style=3D"border-collapse:collapse;border:none;margin:8px 0px 0px=
;width:348.453125px"><tbody><tr style=3D"height:40px;border-top-width:1px;b=
order-top-style:solid;border-top-color:rgb(211,211,211);border-bottom-width=
:1px;border-bottom-style:solid;border-bottom-color:rgb(211,211,211)"><td st=
yle=3D"font-family:arial,helvetica,sans-serif;font-size:14px;font-weight:bo=
ld;color:rgb(64,71,75)">Connect with us:</td><td style=3D"padding:4px 0px 0=
px 20px"><a href=3D"https://www.glassdoor.com/Overview/Working-at-Ping-Iden=
tity-EI_IE380907.11,24.htm" title=3D"Ping on Glassdoor" style=3D"text-decor=
ation:none;margin-right:16px" target=3D"_blank" rel=3D"noreferrer"><img src=
=3D"https://www.pingidentity.com/content/dam/pic/images/misc/signature/soci=
al-glassdoor.png" alt=3D"Glassdoor logo" style=3D"border:none;margin:0px"><=
/a>		<a href=3D"https://www.linkedin.com/company/21870" title=3D"Ping on Li=
nkedIn" style=3D"text-decoration:none;margin-right:16px" target=3D"_blank" =
rel=3D"noreferrer"><img src=3D"https://www.pingidentity.com/content/dam/pic=
/images/misc/signature/social-linkedin.png" alt=3D"LinkedIn logo" style=3D"=
border:none;margin:0px"></a><span>=C2=A0</span> <a href=3D"https://twitter.=
com/pingidentity" title=3D"Ping on Twitter" style=3D"text-decoration:none;m=
argin-right:16px" target=3D"_blank" rel=3D"noreferrer"><img src=3D"https://=
www.pingidentity.com/content/dam/pic/images/misc/signature/social-twitter.p=
ng" alt=3D"twitter logo" style=3D"border:none;margin:0px"></a>		<a href=3D"=
https://www.facebook.com/pingidentitypage" title=3D"Ping on Facebook" style=
=3D"text-decoration:none;margin-right:16px" target=3D"_blank" rel=3D"norefe=
rrer"><img src=3D"https://www.pingidentity.com/content/dam/pic/images/misc/=
signature/social-facebook.png" alt=3D"facebook logo" style=3D"border:none;m=
argin:0px"></a>		<a href=3D"https://www.youtube.com/user/PingIdentityTV" ti=
tle=3D"Ping on Youtube" style=3D"text-decoration:none;margin-right:16px" ta=
rget=3D"_blank" rel=3D"noreferrer"><img src=3D"https://www.pingidentity.com=
/content/dam/pic/images/misc/signature/social-youtube.png" alt=3D"youtube l=
ogo" style=3D"border:none;margin:0px 0px 3px"></a><span>=C2=A0</span> <a hr=
ef=3D"https://www.pingidentity.com/en/blog.html" title=3D"Ping Blog" style=
=3D"text-decoration:none;margin-right:16px" target=3D"_blank" rel=3D"norefe=
rrer"><img src=3D"https://www.pingidentity.com/content/dam/pic/images/misc/=
signature/social-blog.png" alt=3D"Blog logo" style=3D"border:none;margin:0p=
x"></a></td></tr></tbody></table></td></tr></tbody></table><a href=3D"https=
://www.google.com/url?q=3Dhttps://www.pingidentity.com/content/dam/ping-6-2=
-assets/Assets/faqs/en/consumer-attitudes-post-breach-era-3375.pdf?id%3Db63=
22a80-f285-11e3-ac10-0800200c9a66&amp;source=3Dgmail&amp;ust=3D154169360852=
6000&amp;usg=3DAFQjCNGBl5cPHCUAVKGZ_NnpuFj5PHGSUQ" target=3D"_blank" rel=3D=
"noreferrer"></a><a href=3D"https://www.pingidentity.com/en/events/d/identi=
fy-2019.html" target=3D"_blank" rel=3D"noreferrer"></a><a href=3D"https://w=
ww.pingidentity.com/content/dam/ping-6-2-assets/Assets/Misc/en/3464-consume=
rsurvey-execsummary.pdf" target=3D"_blank" rel=3D"noreferrer"><img src=3D"h=
ttps://www.pingidentity.com/content/dam/ping-6-2-assets/images/misc/emailSi=
gnature/2019/consumersurvey-emailsignature.jpg"></a></div></div></div><br><=
/div></div></div></div><br style=3D"font-family:Helvetica;font-size:12px;fo=
nt-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:=
normal;text-align:start;text-indent:0px;text-transform:none;white-space:nor=
mal;word-spacing:0px;text-decoration:none"><div class=3D"gmail_quote" style=
=3D"font-family:Helvetica;font-size:12px;font-style:normal;font-variant-cap=
s:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-ind=
ent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decora=
tion:none"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Mar 1, 2020 at 9:3=
3 PM David Waite &lt;david=3D<a href=3D"mailto:40alkaline-solutions.com@dma=
rc.ietf.org" target=3D"_blank" rel=3D"noreferrer">40alkaline-solutions.com@=
dmarc.ietf.org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:sol=
id;border-left-color:rgb(204,204,204);padding-left:1ex">On Mar 1, 2020, at =
10:11 PM, Andrii Deinega &lt;<a href=3D"mailto:andrii.deinega@gmail.com" ta=
rget=3D"_blank" rel=3D"noreferrer">andrii.deinega@gmail.com</a>&gt; wrote:<=
br>&gt;<span>=C2=A0</span><br>&gt; How would the authorization server know =
who actually uses the<br>&gt; introspection endpoint assuming that a protec=
ted resource and a client<br>&gt; application use the same credentials (cli=
ent_id and client_secret)?<br><br>In the external context, you have a clien=
t accessing a protected resource with an access token. The client should tr=
eat the token as opaque, and RFC7662 makes no allowances for that client to=
 introspect its tokens.<br><br>If you control both the client and protected=
 resource, you may decide to short-cut and have them share credentials. How=
ever, the client logic still should never be introspecting the tokens.<br><=
br>The security considerations also say that you must prove the authenticat=
ion of the protected resource, which I have interpreted to mean that access=
 tokens used to authorize the call to the introspection endpoint must be is=
sued to a confidential client - public clients cannot protect credentials t=
o perform an authentication. You want to limit introspection to prevent den=
ial of service and probing attacks, and to limit the amount of information =
on viable attacks conveyed if someone steals a token.<br><br>-DW<br><br>&gt=
;<span>=C2=A0</span><br>&gt; Regards,<br>&gt; Andrii<br>&gt;<span>=C2=A0</s=
pan><br>&gt; On Sun, Mar 1, 2020 at 7:38 PM David Waite &lt;<a href=3D"mail=
to:david@alkaline-solutions.com" target=3D"_blank" rel=3D"noreferrer">david=
@alkaline-solutions.com</a>&gt; wrote:<br>&gt;&gt;<span>=C2=A0</span><br>&g=
t;&gt; I would expect the AS to invalidate the refresh token in this case, =
which would not require a refresh token mode nor necessarily any signaling =
back to the resource.<br>&gt;&gt;<span>=C2=A0</span><br>&gt;&gt; -DW<br>&gt=
;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt; On Mar 1, 2020, at 12:12 AM, Andri=
i Deinega &lt;<a href=3D"mailto:andrii.deinega@gmail.com" target=3D"_blank"=
 rel=3D"noreferrer">andrii.deinega@gmail.com</a>&gt; wrote:<br>&gt;&gt;&gt;=
<span>=C2=A0</span><br>&gt;&gt;&gt; Hello Bill,<br>&gt;&gt;&gt;<span>=C2=A0=
</span><br>&gt;&gt;&gt; I&#39;m just thinking out loud about possible scena=
rios for a protected<br>&gt;&gt;&gt; resource here... It may decide to revo=
ke a refresh token if a client<br>&gt;&gt;&gt; application tried to use it =
instead of an access token when the<br>&gt;&gt;&gt; protected resource is p=
aranoid about security. In order to do that an<br>&gt;&gt;&gt; introspectio=
n response should include a non-standard parameter which<br>&gt;&gt;&gt; in=
dicates that the requested token is refresh_token.<br>&gt;&gt;&gt;<span>=C2=
=A0</span><br>&gt;&gt;&gt; A user of the introspection endpoint should rely=
 only on a value of<br>&gt;&gt;&gt; the active parameter (which is a boolea=
n indicator) of the endpoint<br>&gt;&gt;&gt; response. This applies to both=
 types of tokens. Note, the expiration<br>&gt;&gt;&gt; date, as well as oth=
er parameters, are defined as optional in the<br>&gt;&gt;&gt; specification=
. Both token types can be revoked before the expiration<br>&gt;&gt;&gt; dat=
e comes even if this parameter is presented as part of the<br>&gt;&gt;&gt; =
response. In my opinion, there are a number of reasons why this check<br>&g=
t;&gt;&gt; (for a refresh token) can be useful on the client application si=
de.<br>&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt; --<br>&gt;&gt;&gt; R=
egards,<br>&gt;&gt;&gt; Andrii<br>&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;&g=
t;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt; On Fri, Feb 28, 2020 at 1:59 AM B=
ill Jung<br>&gt;&gt;&gt; &lt;bjung=3D<a href=3D"mailto:40pingidentity.com@d=
marc.ietf.org" target=3D"_blank" rel=3D"noreferrer">40pingidentity.com@dmar=
c.ietf.org</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;&gt=
;&gt;&gt; Hello, hopefully I am using the right email address.<br>&gt;&gt;&=
gt;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt;&gt; Simply put, can this spec be=
 enhanced to clarify &quot;Who can use the introspection endpoint for a ref=
resh token? A resource provider or a client app or both?&quot;<br>&gt;&gt;&=
gt;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt;&gt; RFC7662 clearly mentions tha=
t the user of introspection endpoint is a &#39;protected resource&#39; and =
that makes sense for an access token. If we allow this to client apps, it&#=
39;ll give unnecessary token information to them.<br>&gt;&gt;&gt;&gt; Howev=
er, the spec also mentions that refresh tokens can also be used against the=
 endpoint.<br>&gt;&gt;&gt;&gt; In case of refresh tokens, user of the endpo=
int should be a client app because refresh tokens are used by clients to ge=
t another access token. (Cannot imagine how/why a resource server would int=
rospect a refresh token)<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;&gt;=
&gt;&gt; Is it correct to assume that the endpoint should be allowed to cli=
ent apps if they want to examine refresh token&#39;s expiry time? Then the =
RFC should clearly mention it.<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br>&g=
t;&gt;&gt;&gt; Thanks in advance.<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br=
>&gt;&gt;&gt;&gt; &lt;Details from the spec&gt;<br>&gt;&gt;&gt;&gt; In<span=
>=C2=A0</span><a href=3D"https://tools.ietf.org/html/rfc7662" rel=3D"norefe=
rrer noreferrer" target=3D"_blank">https://tools.ietf.org/html/rfc7662</a><=
br>&gt;&gt;&gt;&gt; In &#39;1.=C2=A0 Introduction&#39; section says,<br>&gt=
;&gt;&gt;&gt; &quot;This specification defines a protocol that allows autho=
rized<br>&gt;&gt;&gt;&gt; protected resources to query the authorization se=
rver to determine<br>&gt;&gt;&gt;&gt; the set of metadata for a given token=
 that was presented to them by<br>&gt;&gt;&gt;&gt; an OAuth 2.0 client.&quo=
t;<br>&gt;&gt;&gt;&gt; Above makes clear that user of the endpoint is a &qu=
ot;protected resource&quot;.<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;=
&gt;&gt;&gt; And under &#39;token&#39; in &#39;2.1.=C2=A0 Introspection Req=
uest&#39; section says,<br>&gt;&gt;&gt;&gt; &quot;For refresh tokens,<br>&g=
t;&gt;&gt;&gt; this is the &quot;refresh_token&quot; value returned from th=
e token endpoint<br>&gt;&gt;&gt;&gt; as defined in OAuth 2.0 [RFC6749], Sec=
tion 5.1.&quot;<br>&gt;&gt;&gt;&gt; So looks like a refresh token is allowe=
d for this endpoint..<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt=
;&gt;<span>=C2=A0</span><br>&gt;&gt;&gt;&gt; Bill Jung<br>&gt;&gt;&gt;&gt; =
Manager, Response Engineering<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><a href=
=3D"mailto:bjung@pingidentity.com" target=3D"_blank" rel=3D"noreferrer">bju=
ng@pingidentity.com</a><br>&gt;&gt;&gt;&gt; w: +1 604.697.7037<br>&gt;&gt;&=
gt;&gt; Connect with us:<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><br>&gt;&gt;=
&gt;&gt; CONFIDENTIALITY NOTICE: This email may contain confidential and pr=
ivileged material for the sole use of the intended recipient(s). Any review=
, use, distribution or disclosure by others is strictly prohibited...=C2=A0=
 If you have received this communication in error, please notify the sender=
 immediately by e-mail and delete the message and any file attachments from=
 your computer. Thank you._______________________________________________<b=
r>&gt;&gt;&gt;&gt; OAuth mailing list<br>&gt;&gt;&gt;&gt;<span>=C2=A0</span=
><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank" rel=3D"noreferrer">OAu=
th@ietf.org</a><br>&gt;&gt;&gt;&gt;<span>=C2=A0</span><a href=3D"https://ww=
w.ietf.org/mailman/listinfo/oauth" rel=3D"noreferrer noreferrer" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>&gt;&gt;&gt;<spa=
n>=C2=A0</span><br>&gt;&gt;&gt; ___________________________________________=
____<br>&gt;&gt;&gt; OAuth mailing list<br>&gt;&gt;&gt;<span>=C2=A0</span><=
a href=3D"mailto:OAuth@ietf.org" target=3D"_blank" rel=3D"noreferrer">OAuth=
@ietf..org</a><br>&gt;&gt;&gt;<span>=C2=A0</span><a href=3D"https://www.iet=
f.org/mailman/listinfo/oauth" rel=3D"noreferrer noreferrer" target=3D"_blan=
k">https://www.ietf.org/mailman/listinfo/oauth</a><br>&gt;&gt;<span>=C2=A0<=
/span><br><br></blockquote></div><br style=3D"font-family:Helvetica;font-si=
ze:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;lette=
r-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white=
-space:normal;word-spacing:0px;text-decoration:none"><i style=3D"font-size:=
12px;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text=
-align:start;text-indent:0px;text-transform:none;white-space:normal;word-sp=
acing:0px;text-decoration:none;margin:0px;padding:0px;border:0px;outline:0p=
x;vertical-align:baseline;background-color:rgb(255,255,255);font-family:pro=
xima-nova-zendesk,system-ui,-apple-system,system-ui,&quot;Segoe UI&quot;,Ro=
boto,Oxygen-Sans,Ubuntu,Cantarell,&quot;Helvetica Neue&quot;,Arial,sans-ser=
if;color:rgb(85,85,85);background-position:initial initial;background-repea=
t:initial initial"><span style=3D"margin:0px;padding:0px;border:0px;outline=
:0px;vertical-align:baseline;background-color:transparent;font-family:proxi=
ma-nova-zendesk,system-ui,-apple-system,BlinkMacSystemFont,&quot;Segoe UI&q=
uot;,Roboto,Oxygen-Sans,Ubuntu,Cantarell,&quot;Helvetica Neue&quot;,Arial,s=
ans-serif;font-weight:600;background-position:initial initial;background-re=
peat:initial initial"><font size=3D"2">CONFIDENTIALITY NOTICE: This email m=
ay contain confidential and privileged material for the sole use of the int=
ended recipient(s). Any review, use, distribution or disclosure by others i=
s strictly prohibited..=C2=A0 If you have received this communication in er=
ror, please notify the sender immediately by e-mail and delete the message =
and any file attachments from your computer. Thank you.</font></span></i><s=
pan style=3D"font-family:Helvetica;font-size:12px;font-style:normal;font-va=
riant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start=
;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;te=
xt-decoration:none;float:none;display:inline!important">___________________=
____________________________</span><br style=3D"font-family:Helvetica;font-=
size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;let=
ter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;whi=
te-space:normal;word-spacing:0px;text-decoration:none"><span 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;t=
ext-transform:none;white-space:normal;word-spacing:0px;text-decoration:none=
;float:none;display:inline!important">OAuth mailing list</span><br style=3D=
"font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:n=
ormal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent=
:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoratio=
n:none"><a href=3D"mailto:OAuth@ietf.org" style=3D"font-family:Helvetica;fo=
nt-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" target=3D"_blank" rel=3D"noreferrer">O=
Auth@ietf.org</a><br style=3D"font-family:Helvetica;font-size:12px;font-sty=
le:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal=
;text-align:start;text-indent:0px;text-transform:none;white-space:normal;wo=
rd-spacing:0px;text-decoration:none"><a href=3D"https://www.ietf.org/mailma=
n/listinfo/oauth" style=3D"font-family:Helvetica;font-size:12px;font-style:=
normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;te=
xt-align:start;text-indent:0px;text-transform:none;white-space:normal;word-=
spacing:0px" target=3D"_blank" rel=3D"noreferrer">https://www.ietf.org/mail=
man/listinfo/oauth</a></div></blockquote></div><br></div></div></blockquote=
></div>

<br>
<i style=3D"margin:0px;padding:0px;border:0px;outline:0px;vertical-align:ba=
seline;background:rgb(255,255,255);font-family:proxima-nova-zendesk,system-=
ui,-apple-system,system-ui,&quot;Segoe UI&quot;,Roboto,Oxygen-Sans,Ubuntu,C=
antarell,&quot;Helvetica Neue&quot;,Arial,sans-serif;color:rgb(85,85,85)"><=
span style=3D"margin:0px;padding:0px;border:0px;outline:0px;vertical-align:=
baseline;background:transparent;font-family:proxima-nova-zendesk,system-ui,=
-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Oxygen-Sans,Ub=
untu,Cantarell,&quot;Helvetica Neue&quot;,Arial,sans-serif;font-weight:600"=
><font size=3D"2">CONFIDENTIALITY NOTICE: This email may contain confidenti=
al and privileged material for the sole use of the intended recipient(s). A=
ny review, use, distribution or disclosure by others is strictly prohibited=
.=C2=A0 If you have received this communication in error, please notify the=
 sender immediately by e-mail and delete the message and any file attachmen=
ts from your computer. Thank you.</font></span></i>
--000000000000c257c905a00ea111--

