<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-oauth-deferred-token-response-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="DTR">Deferred Token Response</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-deferred-token-response-01"/>
    <author initials="G." surname="de Oliveira Niero" fullname="Guilherme de Oliveira Niero" role="editor">
      <organization>Itaú</organization>
      <address>
        <email>guilherme.niero@itau-unibanco.com.br</email>
      </address>
    </author>
    <author initials="D." surname="Liu" fullname="Dapeng Liu" role="editor">
      <organization>Alibaba Group</organization>
      <address>
        <email>max.ldp@alibaba-inc.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="01"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>deferred authorization</keyword>
    <keyword>asynchronous token issuance</keyword>
    <keyword>polling</keyword>
    <abstract>
      <?line 83?>

<t>This document defines the Deferred Token Response (DTR) extension
for OAuth 2.1. In existing OAuth grants, the token endpoint either
issues an access token or returns an error.
DTR establishes a generic asynchronous token request mechanism that any
OAuth grant may plug into.
In DTR-aware flows, the authorization server returns a
<tt>deferral_code</tt> and a polling interval, indicating that the final
token response will be available at a later time.
The client retrieves the eventual response by polling the token
endpoint, or by receiving a callback from the authorization server
when one is configured.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-oauth-deferred-token-response/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-oauth-deferred-token-response/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/oauth-wg/deferred-token-response"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Existing OAuth grants assume the authorization server can decide
synchronously whether to issue an access token.
The Authorization Code Grant (Section 4.1 of <xref target="OAUTH-2.1"/>), Client
Credentials Grant (Section 4.2 of <xref target="OAUTH-2.1"/>), and assertion-based
grants such as <xref target="ID-JAG"/> all respond to a token request with either
a token response or an error response.</t>
      <t>However, some authorization decisions cannot complete synchronously:</t>
      <ul spacing="normal">
        <li>
          <t>Fraud Prevention: Sensitive operations may trigger manual review by
parties other than the resource owner.</t>
        </li>
        <li>
          <t>ID Verification: Users may submit copies of physical credentials
during onboarding or step-up. Verification by the authorization server
(or a third party acting on its behalf) can take hours.</t>
        </li>
        <li>
          <t>Autonomous Agent Authorization: An agent acting on behalf of a user
may request access beyond what was provisioned at enrollment,
requiring out-of-band approval before the request can be granted.</t>
        </li>
        <li>
          <t>Complex Authorization: Enterprise businesses often manage access
controls using governance and administration workflows.
Access requests may need to be approved by parties other than the
resource owner.</t>
        </li>
      </ul>
      <t>In each case, the authorization server today must return an error
response, leaving the client without a mechanism to discover when (or
whether) the request will eventually be approved.</t>
      <t>This specification defines a Deferred Token Response, in which the
authorization server returns a <tt>deferral_code</tt> and a polling
interval in place of an access token.
The <tt>deferral_code</tt> represents the pending token request
and entitles the client to a final token response when the request
resolves.
The client either polls the token endpoint with the <tt>deferral_code</tt>,
or receives a callback from the authorization server when a callback
URI is registered.</t>
      <t>Unlike the Device Authorization Grant <xref target="RFC8628"/>, deferral under DTR
is initiated by the authorization server, not by the client or the
end-user.
This allows an authorization server to apply DTR dynamically, based on
policy or risk analysis, to a request that began under another grant.
The Device Authorization Grant additionally assumes that the same
end-user who initiated the flow is the party who will approve it; DTR
makes no such assumption, and supports use cases in which a different
user, a different system, or no human at all completes the
authorization decision.</t>
      <t>In many of the motivating use cases, the authorization server delegates
the actual verification or decision to an external service — an identity
verification vendor, a fraud analysis platform, or a governance system.
The protocol between the authorization server and any such external
provider is out of scope for this specification; only the interface
between the client and the authorization server is defined here.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This specification defines the following terms:</t>
      <dl>
        <dt>deferral code</dt>
        <dd>
          <t>A unique, opaque, server-generated identifier that represents a
single pending token request. The deferral code is carried
in the <tt>deferral_code</tt> member of the deferred response
(<xref target="token-endpoint-deferred-response"/>) and is identified, when
used as a <tt>token_type_hint</tt> at the revocation endpoint, by the URI
<tt>urn:ietf:params:oauth:token-type:deferral-code</tt>. The deferral
code is bound to the issuing client and to a sender-constraining
key per <xref target="sender-constraint-requirements"/>, and entitles the bound
party to retrieve the eventual token response.</t>
        </dd>
        <dt>polling interval</dt>
        <dd>
          <t>The minimum number of seconds, conveyed in the <tt>interval</tt> parameter
of the deferred response, that the client <bcp14>MUST</bcp14> wait between two
consecutive polling requests for the same deferral code.</t>
        </dd>
        <dt>deferred client notification endpoint</dt>
        <dd>
          <t>An HTTPS URI registered by the client at which it accepts callback
notifications from the authorization server when a deferred request
resolves.</t>
        </dd>
        <dt>originating grant</dt>
        <dd>
          <t>The OAuth grant — for example, the Authorization Code Grant
(Section 4.1 of <xref target="OAUTH-2.1"/>), the Client Credentials Grant
(Section 4.2 of <xref target="OAUTH-2.1"/>), or Token Exchange (<xref target="RFC8693"/>) —
on whose token request the deferred response was returned, and
whose successful token response shape is reused when the deferred
request eventually resolves.</t>
        </dd>
        <dt>preceding endpoint</dt>
        <dd>
          <t>Some grant types utilize multiple authorization server endpoints.
For an originating grant whose flow begins at an endpoint other
than the token endpoint, the preceding endpoint is the endpoint
utilized just before the token endpoint. Examples include the
authorization endpoint of the Authorization Code Grant (<xref target="OAUTH-2.1"/>),
the device authorization endpoint of <xref target="RFC8628"/>, and the authorization
challenge endpoint of <xref target="FIPA"/>. A grant that operates entirely at
the token endpoint (for example, the Client Credentials Grant)
has no preceding endpoint.</t>
        </dd>
      </dl>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>The Deferred Token Response flow allows an authorization server to
defer the issuance of an access token for an arbitrarily long time
after the request that would normally produce one.</t>
      <t>The flow proceeds entirely through the originating grant's existing
endpoints. A grant becomes deferred when:</t>
      <ol spacing="normal" type="1"><li>
          <t>The client signals willingness to accept a deferred response by
including one of the supported values of the <tt>completion_mode</tt>
parameter on the originating grant's token endpoint request.</t>
        </li>
        <li>
          <t>The authorization server elects, on that token endpoint request,
to require interaction, inform a pending interaction by the
end-user or return a deferred response in place of the normal
token response. The deferred response carries a <tt>deferral_code</tt>
instead of an access token.</t>
        </li>
        <li>
          <t>The client polls the token endpoint with the <tt>deferral_code</tt>
until the authorization server returns the final token response, or
optionally receives a callback notification when the request
resolves.</t>
        </li>
      </ol>
      <t>For an originating grant with a preceding endpoint — for example, the
authorization endpoint of the Authorization Code Grant of
<xref target="OAUTH-2.1"/>, the device authorization endpoint of <xref target="RFC8628"/>, or
the authorization challenge endpoint of <xref target="FIPA"/> — the client <bcp14>MAY</bcp14> also
send <tt>completion_mode=deferred</tt> on the preceding request as an advance
hint.
The hint allows the authorization server to commit to deferral-aware
behavior before the token request — for example, by collecting different
consent, by showing a different verification UX, or by selecting a different
review path.
An authorization server that acts on the hint depends on
the client's intent at the token endpoint matching it; see
<xref target="pre-token-hints"/>. The authorization server returns its grant's
normal response to the preceding request (for example, an
authorization <tt>code</tt>) regardless of whether the request will be
deferred.</t>
      <artwork><![CDATA[
+--------+                             +----+              +--------+
|        |                             |    |              |        |
|        |..(1) Pre-token Request.....>|    |              |        |
|        |  (completion_mode=deferred) |    |              |        |
|        |                             |    |              |        |
|        |--(2) Token Request--------->|    |              |        |
|        |  (completion_mode=deferred) |    |              |        |
|        |<-(3) Deferred Response------|    |              |        |
|        |  (deferral_code, one of     |    |              |        |
|        |   [A], [B] or [C])          |    |              |        |
|        |                             |    |              |        |
|        |  [A] interaction_required   |    |              |        |
|        |--(A1) Send user to URI------|----|------------->|End-User|
|        |                             |    |              |        |
|        |  [B] interaction_pending    |    |              |        |
|        |                             |    |-(B1) Reach-->|        |
|        |                             |    |  out to user |        |
|        |                             |    |              |        |
|        |                             |    |<-(4) Obtain->|        |
|        |                             |    |   consent    |        |
|        |                             |    |              |        |
| Client |--(5) Token Request--------->| AS |              |        |
|        |  (deferral_code)            |    |              |        |
|        |<-interaction_pending--------|    |              |        |
|        |                             |    |              +--------+
|        |                             |    |
|        |  [C] authorization_pending  |    |
|        |                             |    |
|        |--(5) Token Request--------->|    |
|        |<-authorization_pending------|    |
|        |                             |    |---------+
|        |                             |    |         |
|        |                             |    | (6) Complete request
|        |                             |    |         |
|        |                             |    |<--------+
|        |                             |    |
|        |<.(7) Optional Callback......|    |
|        |                             |    |
|        |--(5) Token Request--------->|    |
|        |  (deferral_code)            |    |
|        |<-(8) Token Response---------|    |
|        |                             |    |
+--------+                             +----+
]]></artwork>
      <t>For a token-endpoint-only grant the flow is the same with steps (1)
through (3) collapsed into the initial token request.</t>
      <t>Once the authorization server has issued a <tt>deferral_code</tt>, the
remaining flow — polling, callback, eventual token response,
cancellation — is identical regardless of the originating grant.</t>
    </section>
    <section anchor="substrate-invariants">
      <name>Substrate Invariants</name>
      <t>This specification is structured as a substrate for deferred token
issuance: a single continuation reference (<tt>deferral_code</tt>), a single
polling state machine, and a single completion vocabulary that applies
uniformly across originating grants. The invariants below state what
the substrate guarantees to clients and to higher-layer profiles, and
what those profiles <bcp14>MUST</bcp14> preserve when they extend it.</t>
      <section anchor="substrate-guarantees">
        <name>Substrate Guarantees</name>
        <t>An authorization server implementing this specification provides the
following guarantees:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>No authorization expansion.</strong> A deferral does not expand
authorization beyond the originating request. Any authorization
decision reached while the request is deferred can only constrain
or complete the originating request.</t>
          </li>
          <li>
            <t><strong>Continuation through the token endpoint.</strong> The deferred grant
type at the token endpoint is the sole client-initiated interface
for advancing a deferred request, regardless of which endpoint
received the originating request.</t>
          </li>
          <li>
            <t><strong>Sender-constraining continuity.</strong> Sender-constraining or
proof-of-possession material from the originating request applies
to every polling request and to the final token response, as
defined in <xref target="sender-constraint-requirements"/>.</t>
          </li>
          <li>
            <t><strong>Originating request immutability through the polling grant
type.</strong> Polling requests do not carry parameters that modify or
replace parameters from the originating request.</t>
          </li>
          <li>
            <t><strong>Opaque continuation reference.</strong> Authorization servers <bcp14>MUST NOT</bcp14>
encode authorization, identity, or policy decisions in the
<tt>deferral_code</tt> value in a way that requires client
interpretation. Clients <bcp14>MUST</bcp14> treat the <tt>deferral_code</tt> as opaque.</t>
          </li>
          <li>
            <t><strong>Polling is always available as an authoritative completion
path.</strong> Continuation polling at the token endpoint is always
available as an authoritative way to obtain the final token
response. Callback notification and other profile-defined delivery
channels <bcp14>MAY</bcp14> reduce client latency but <bcp14>MUST NOT</bcp14> replace polling
as the authoritative source of the issued credentials.</t>
          </li>
        </ol>
      </section>
      <section anchor="profile-obligations">
        <name>Profile Obligations</name>
        <t>A higher-layer profile that extends this specification <bcp14>MUST</bcp14> preserve
the substrate guarantees above and additionally <bcp14>MUST</bcp14> satisfy the
following obligations:</t>
        <t>A. <strong>State distinguishability.</strong> Profile-defined externally-observable
   states <bcp14>MUST</bcp14> be mapped to token endpoint responses distinguishable
   from the states defined in this specification, typically via
   profile-defined error code values registered in the OAuth
   Extensions Error Registry.</t>
        <t>B. <strong>Narrowing-only parameter updates.</strong> A profile-defined mechanism
   for updating parameters preserved with a deferred request <bcp14>MUST</bcp14>
   operate outside the polling grant type and <bcp14>MUST</bcp14> enforce
   narrowing-only updates relative to the originating request.</t>
        <t>C. <strong>No relaxation of guarantees.</strong> A profile <bcp14>MAY</bcp14> define new
   <tt>completion_mode</tt> values, new externally-observable states, new
   response parameters, new parameter-update mechanisms, and new
   advisory delivery channels. A profile <bcp14>MUST NOT</bcp14> relax the
   no-authorization-expansion, sender-constraining-continuity, or
   originating-request-immutability guarantees above. A profile <bcp14>MUST
   NOT</bcp14> remove polling as an available authoritative completion path.</t>
      </section>
    </section>
    <section anchor="client-opt-in-signaling">
      <name>Client Opt-In Signaling</name>
      <t>The Deferred Token Response is an opt-in mechanism from the client's
perspective.
An authorization server <bcp14>MUST NOT</bcp14> issue a deferred response to a client
that has not signaled willingness to accept one.
This specification defines the <tt>completion_mode</tt> request parameter for
that purpose.</t>
      <section anchor="the-completion-mode-parameter">
        <name>The <tt>completion_mode</tt> Parameter</name>
        <dl>
          <dt><tt>completion_mode</tt></dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. A space-separated list of completion-mode values registered
in the "OAuth Completion Mode Values" registry (<xref target="iana-considerations"/>).
Order is not significant, and values <bcp14>MUST NOT</bcp14> be repeated. This
specification defines two values, <tt>deferred</tt> and <tt>deferred_interactive</tt>.
When <tt>deferred</tt> is present in the list, the client signals that it is
willing to accept a deferred response from the authorization server in
place of an immediate token response or error. When
<tt>deferred_interactive</tt> is present in the list, the client signals that
it is willing to accept a deferred response and is able to surface an
interaction to the user or other external actor when the authorization
server responds with <tt>interaction_required</tt>. If the parameter is absent,
or is present but includes neither value, the client requires
synchronous handling. The authorization server <bcp14>MUST</bcp14> ignore any value
it does not recognize.</t>
          </dd>
        </dl>
        <t>The client signals opt-in to DTR by including <tt>deferred</tt> among the
<tt>completion_mode</tt> values on the originating grant's token endpoint
request.</t>
        <t>For an originating grant with a preceding endpoint — the authorization
endpoint, the device authorization endpoint of <xref target="RFC8628"/>, the
authorization challenge endpoint, or another endpoint introduced by a
future extension — the client <bcp14>MAY</bcp14> additionally send
<tt>completion_mode=deferred</tt> on that preceding request as an advance hint
to the authorization server. The semantics of the hint are defined in
<xref target="pre-token-hints"/>.</t>
        <t>An authorization server that supports the deferred token response
defined in this specification and publishes Authorization Server
Metadata <xref target="RFC8414"/> <bcp14>MUST</bcp14> include the following metadata parameter with
the value <tt>true</tt>:</t>
        <dl>
          <dt><tt>deferred_token_response_supported</tt></dt>
          <dd>
            <t>Boolean value specifying whether the authorization server
supports the deferred token response defined in this specification.
Omission of this parameter, or a value of <tt>false</tt>, indicates no
support.</t>
          </dd>
        </dl>
        <t>A client <bcp14>MAY</bcp14> discover authorization server support for this
specification through the <tt>deferred_token_response_supported</tt>
authorization server metadata parameter (<xref target="iana-considerations"/>). A
client <bcp14>MAY</bcp14> send <tt>completion_mode=deferred</tt> to an authorization server
that does not advertise support. Such a server <bcp14>MUST NOT</bcp14> reject the
request on account of the parameter; it completes the request
per its originating grant's rules, consistent with the
token endpoint's handling of unrecognized parameters.</t>
      </section>
      <section anchor="pre-token-hints">
        <name>Pre-Token Hints</name>
        <t>For an originating grant with a preceding endpoint, the client <bcp14>MAY</bcp14>
send <tt>completion_mode=deferred</tt> on that preceding request to inform the
authorization server in advance that the grant may resolve to a
deferred response at the token endpoint. The hint is optional: a
client that omits it on the preceding request can still opt in at the
token endpoint, and the authorization server <bcp14>MUST NOT</bcp14> reject a token
request carrying <tt>completion_mode=deferred</tt> solely because no hint was
received earlier.</t>
        <t>When the preceding request is an authorization request, <tt>completion_mode</tt> is conveyed like any other authorization request parameter.  Examples include the request body of a Pushed Authorization Request (PAR)<xref target="RFC9126"/> or
as a member of a JWT-secured authorization request object (JAR)<xref target="RFC9101"/>.</t>
        <t>An authorization server <bcp14>MAY</bcp14> act on the hint by selecting a
deferral-aware path for the originating grant — for example, by
collecting different consent from the resource owner, by presenting a
different verification UX, by routing the request to a review queue,
or by altering its risk-analysis decision. An authorization server
that does not use the hint <bcp14>MUST</bcp14> treat the preceding request as it
would without DTR; the hint never alters the response shape of the
preceding endpoint.</t>
        <t>A client that has sent <tt>completion_mode=deferred</tt> on the preceding
request <bcp14>MUST</bcp14> also include <tt>deferred</tt> among the <tt>completion_mode</tt> values
on the resulting token request. If the client instead omits <tt>deferred</tt>
(or omits the parameter) at the token endpoint, the authorization
server <bcp14>MUST</bcp14> reject the request with the error <tt>invalid_request</tt>.</t>
        <t>A client that did not send a hint <bcp14>MAY</bcp14> still send
<tt>completion_mode=deferred</tt> at the token endpoint, and the authorization
server <bcp14>MAY</bcp14> return a deferred response.</t>
        <t>Polling requests (<xref target="token-endpoint-polling"/>) are not part of the
originating grant; they continue an already-deferred flow rather than
initiating one and <bcp14>MUST NOT</bcp14> carry the <tt>completion_mode</tt> parameter.</t>
      </section>
      <section anchor="authorization-server-discretion">
        <name>Authorization Server Discretion</name>
        <t>Sending <tt>completion_mode=deferred</tt> does not entitle the client to a
deferred response.
The authorization server retains discretion over whether to defer any
individual request — based on policy, risk analysis, or operational
state — and <bcp14>MAY</bcp14> complete the request synchronously even when the client
has opted in.</t>
        <t>Conversely, an authorization server <bcp14>MUST NOT</bcp14> defer a response to a
request whose <tt>completion_mode</tt> does not include <tt>deferred</tt>. In that
case the authorization server completes the request synchronously per
the originating grant's rules or returns an error per those rules.</t>
        <t>Authorization servers conforming to this specification <bcp14>MUST</bcp14> accept the
<tt>completion_mode</tt> parameter on requests for any grant within this
specification's scope; they <bcp14>MUST NOT</bcp14> reject a <tt>completion_mode</tt> value
they do not recognize as an error. The opt-in semantic is preserved by
the authorization server's choice of whether to defer, not by rejection
of the parameter itself.</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>Token endpoint request opting in to DTR (Authorization Code Grant):</t>
        <artwork><![CDATA[
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&completion_mode=deferred
]]></artwork>
        <t>Token endpoint request opting in to DTR (Client Credentials Grant):</t>
        <artwork><![CDATA[
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=client_credentials
&scope=profile
&completion_mode=deferred
]]></artwork>
        <t>The following requests illustrate the optional pre-token hint
(<xref target="pre-token-hints"/>) on grants with a preceding endpoint. A client
that sends a hint is expected to follow up with
<tt>completion_mode=deferred</tt> on the corresponding token request shown
above.</t>
        <t>Authorization endpoint hint (Authorization Code Grant of <xref target="OAUTH-2.1"/>):</t>
        <artwork><![CDATA[
GET /authorize?response_type=code
  &client_id=s6BhdRkqt3
  &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
  &scope=profile
  &completion_mode=deferred
  &state=af0ifjsldkj HTTP/1.1
Host: server.example.com
]]></artwork>
        <t>Device authorization endpoint hint (Device Authorization Grant of
<xref target="RFC8628"/>):</t>
        <artwork><![CDATA[
POST /device_authorization HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

scope=profile
&completion_mode=deferred
]]></artwork>
        <t>Authorization challenge endpoint hint (<xref target="FIPA"/>):</t>
        <artwork><![CDATA[
POST /authorize-challenge HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

login_hint=%2B1-310-123-4567
&scope=profile
&completion_mode=deferred
]]></artwork>
      </section>
    </section>
    <section anchor="the-deferred-authorization-grant">
      <name>The Deferred Authorization Grant</name>
      <t>This section defines the protocol elements that comprise the deferred
authorization grant: how the originating grant's endpoint behaves
under DTR, the token endpoint request that may yield a
deferred response, the polling request that retrieves the eventual
token response, and the error responses returned during these
exchanges.</t>
      <t>This specification defines one new <tt>grant_type</tt> URN,
<tt>urn:ietf:params:oauth:grant-type:deferred</tt>, used only on polling
requests (<xref target="token-endpoint-polling"/>) to retrieve a deferred token
response. The originating grant's existing <tt>grant_type</tt> (for example,
<tt>authorization_code</tt> or <tt>client_credentials</tt>) is unchanged on the
token endpoint request that may yield a deferred response.</t>
      <section anchor="pre-token-request">
        <name>Pre-Token Request</name>
        <t>For grants that have a preceding endpoint, the client <bcp14>MAY</bcp14> send
<tt>completion_mode=deferred</tt> on the originating grant's request to that
endpoint as the optional pre-token hint defined in <xref target="pre-token-hints"/>.
The preceding endpoint behaves identically with or without
<tt>completion_mode</tt>: the authorization server returns the originating
grant's normal response and does not include any DTR-specific
parameter.</t>
        <t>The following is a non-normative example of an authorization-endpoint
hint under DTR (line wraps within values are for display only):</t>
        <artwork><![CDATA[
GET /authorize?response_type=code
  &client_id=s6BhdRkqt3
  &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
  &scope=profile
  &completion_mode=deferred
  &state=af0ifjsldkj HTTP/1.1
Host: server.example.com
]]></artwork>
        <section anchor="pre-token-request-validation">
          <name>Pre-Token Request Validation</name>
          <t>The authorization server <bcp14>MUST</bcp14> validate the request as it would without
DTR, with the following addition:</t>
          <ul spacing="normal">
            <li>
              <t>Apply the <tt>completion_mode</tt> rules of
<xref target="the-completion-mode-parameter"/>: process recognized values, ignore
unrecognized ones, and treat the request as requiring synchronous
handling if the parameter is absent or does not include <tt>deferred</tt>.</t>
            </li>
          </ul>
          <t>If the authorization server encounters any error, it <bcp14>MUST</bcp14> return the
originating grant's normal error response.</t>
        </section>
      </section>
      <section anchor="pre-token-response">
        <name>Pre-Token Response</name>
        <t>The authorization server returns the originating grant's normal
response to a preceding-endpoint request, regardless of whether the
request carried a <tt>completion_mode=deferred</tt> hint.
For the Authorization Code Grant of <xref target="OAUTH-2.1"/>, this is the
authorization code response of <xref section="4.1.2" sectionFormat="of" target="OAUTH-2.1"/>.</t>
        <t>The client processes the response per the originating grant's rules.</t>
      </section>
      <section anchor="token-endpoint-initial-request">
        <name>Token Endpoint — Initial Request</name>
        <t>The initial token request is the originating grant's token request,
extended with the <tt>completion_mode</tt> parameter from
<xref target="client-opt-in-signaling"/>.</t>
        <t>The client <bcp14>MAY</bcp14> also include the following parameter:</t>
        <dl>
          <dt><tt>client_notification_token</tt></dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. An opaque bearer credential generated by the client. If
present, the authorization server <bcp14>MUST</bcp14> bind it to the resulting
deferral code and <bcp14>MUST</bcp14> present it as a Bearer token on any callback
notification for that deferral code (see <xref target="the-callback-request"/>).
The token <bcp14>MUST</bcp14> contain sufficient entropy to make brute-force
guessing infeasible (a minimum of 128 bits, with 160 bits
<bcp14>RECOMMENDED</bcp14>), following <xref target="credential-generation"/> guidelines.
A client that registers a <tt>deferred_client_notification_endpoint</tt>
              <bcp14>SHOULD</bcp14> include a <tt>client_notification_token</tt>; without one, the client
cannot authenticate inbound callbacks (see <xref target="callback-endpoint-validation"/>).</t>
          </dd>
        </dl>
        <t>The response to this request is one of:</t>
        <ul spacing="normal">
          <li>
            <t>The originating grant's normal token response per
<xref section="5.1" sectionFormat="of" target="OAUTH-2.1"/>, if the authorization server completes
the request synchronously.</t>
          </li>
          <li>
            <t>The deferred response defined in
<xref target="token-endpoint-deferred-response"/>, if the authorization server
elects to defer the request. The deferred response is an error
response that carries a <tt>deferral_code</tt> the client uses for polling.</t>
          </li>
        </ul>
        <t>The following is a non-normative example of an initial token request
under DTR for the Authorization Code Grant:</t>
        <artwork><![CDATA[
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&completion_mode=deferred
&client_notification_token=5SIVTd4ZzzGctFQr4AqOGdCgyIa40-tCepd-0AcZxFY
]]></artwork>
        <section anchor="initial-request-validation">
          <name>Initial Request Validation</name>
          <t>The authorization server <bcp14>MUST</bcp14> validate the request as it would without
DTR, with the following additions:</t>
          <ul spacing="normal">
            <li>
              <t>Apply the <tt>completion_mode</tt> rules of
<xref target="the-completion-mode-parameter"/>: process recognized values and
ignore unrecognized ones; if the parameter is absent or does not
include <tt>deferred</tt>, treat the request as requiring synchronous
handling.</t>
            </li>
            <li>
              <t>If the originating grant has a preceding endpoint and the client
sent <tt>completion_mode=deferred</tt> on that earlier request, apply the
hint-consistency rule of <xref target="pre-token-hints"/>: if the token request
does not also include <tt>deferred</tt> in <tt>completion_mode</tt>, the
authorization server <bcp14>MUST</bcp14> reject the request with the error
<tt>invalid_request</tt>.</t>
            </li>
          </ul>
          <t>If the authorization server encounters any error, it <bcp14>MUST</bcp14> return an
error response per <xref target="token-endpoint-error-responses"/> or per the
originating grant's rules, as appropriate.</t>
        </section>
      </section>
      <section anchor="token-endpoint-deferred-response">
        <name>Token Endpoint — Deferred Response</name>
        <t>When the authorization server elects to defer a token request whose
<tt>completion_mode</tt> includes <tt>deferred</tt>, it returns an error response on
the token endpoint per <xref section="5.2" sectionFormat="of" target="OAUTH-2.1"/> with the HTTP
status code 400 (Bad Request) and the error code <tt>authorization_pending</tt>.
The deferred response is not a token response: it issues no access
token and confers no access to any protected resource. Instead it
carries a <tt>deferral_code</tt> that the client uses to retrieve the
eventual token response once the deferred request resolves.</t>
        <t>A deferral code is a sender-constrained, AS-issued credential that
represents a single pending authorization request. It is not an OAuth
access token, refresh token, or authorization code, and it confers no
access to any protected resource. Its use is strictly limited to
interacting with the same authorization server regarding the pending
authorization request it represents. See
<xref target="token-endpoint-polling"/>.</t>
        <t>In addition to the <tt>error</tt> parameter, the deferred response includes
the following parameters:</t>
        <dl>
          <dt><tt>deferral_code</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The deferral code issued by the authorization server.
The deferral code <bcp14>MUST</bcp14> contain at least 128 bits of entropy
(160 bits <bcp14>RECOMMENDED</bcp14>) drawn from a cryptographically secure
random source per <xref section="10.10" sectionFormat="of" target="RFC6749"/>. See
<xref target="credential-generation"/> for construction guidance. The deferral
code <bcp14>MUST</bcp14> be opaque to the client and <bcp14>MUST NOT</bcp14> carry meaning
visible to the client.
The client uses this value when polling the token endpoint per
<xref target="token-endpoint-polling"/> and, if a
<tt>deferred_client_notification_endpoint</tt> is registered, the
authorization server includes the same value when it notifies the
client.</t>
          </dd>
          <dt><tt>expires_in</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The lifetime in seconds of the deferral code. After this
interval, the authorization server <bcp14>MUST</bcp14> reject polling requests
that present this deferral code with the error <tt>expired_token</tt>.
This value governs the lifetime of the deferral code, not the
lifetime of any eventual access token; clients <bcp14>MUST NOT</bcp14> use this
value to schedule access-token refresh.</t>
          </dd>
          <dt><tt>interval</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The minimum number of seconds the client <bcp14>MUST</bcp14> wait
between polling requests, following the semantics of the <tt>interval</tt>
field defined in <xref section="3.2" sectionFormat="of" target="RFC8628"/>. The <tt>interval</tt> is
carried only in the deferred response; subsequent polling responses
with <tt>authorization_pending</tt> do not repeat it, and the client <bcp14>MUST</bcp14>
retain the value from the deferred response for the lifetime of the
deferral code.</t>
          </dd>
          <dt><tt>error_description</tt></dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. Human-readable text as defined in
<xref section="5.2" sectionFormat="of" target="OAUTH-2.1"/>, subject to the data-minimization rules
of <xref target="progress-information-in-errors"/>.</t>
          </dd>
          <dt><tt>interaction_uri</tt></dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14> on initial deferred responses and on polling responses
carrying <tt>authorization_pending</tt>. <bcp14>REQUIRED</bcp14> on responses carrying
<tt>interaction_required</tt> (<xref target="token-endpoint-error-responses"/>). When present,
the value <bcp14>MUST</bcp14> be an HTTPS URI, <bcp14>MUST NOT</bcp14> contain a fragment component,
and identifies a location where external interaction associated with
the deferred request can take place.
</t>
            <t>This specification does not define the semantics of the interaction.
Higher-layer profiles <bcp14>MAY</bcp14> constrain the URI's origin, define the
interaction protocol, or attach additional context. The
authorization server <bcp14>MUST</bcp14> bind the <tt>interaction_uri</tt> to the
associated deferral state; accessing the URI <bcp14>MUST NOT</bcp14> by itself
authorize the originating request or complete the deferred
processing. Completion occurs only when the authorization server
updates the deferral state per its own rules.</t>
            <t>The authorization server <bcp14>MUST</bcp14> make <tt>interaction_uri</tt> values
single-use or otherwise resistant to replay, and <bcp14>MUST</bcp14> limit their
lifetime to no longer than the lifetime of the associated deferral
code. Clients <bcp14>MUST</bcp14> treat the value as opaque.</t>
          </dd>
        </dl>
        <t>Example:</t>
        <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store

{
  "error": "authorization_pending",
  "deferral_code": "LRGidcSAeVs_xYpEDt5pNx0A0TBr7qPHbh_Se6pfdf4",
  "expires_in": 10800,
  "interval": 60
}
]]></artwork>
        <t>A deferred response that is waiting on external interaction is returned
with the <tt>interaction_required</tt> error code and an <tt>interaction_uri</tt>
parameter:</t>
        <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store

{
  "error": "interaction_required",
  "deferral_code": "LRGidcSAeVs_xYpEDt5pNx0A0TBr7qPHbh_Se6pfdf4",
  "interaction_uri":
    "https://as.example.com/interact/PK5U1OyuHKyiEJIg7mPXJn2J",
  "expires_in": 10800,
  "interval": 60
}
]]></artwork>
        <t>The authorization server <bcp14>MUST</bcp14> sender-constrain the deferral code
following the rules of <xref section="5" sectionFormat="comma" target="RFC9449"/> for refresh tokens:
when the initial token request that produced the deferred response
was bound to a DPoP key (or to a TLS client certificate per
<xref target="RFC8705"/>), the deferral code is bound to the same key. Polling
requests presenting this deferral code <bcp14>MUST</bcp14> be authenticated with
the same key (see <xref target="token-endpoint-polling"/>).</t>
        <t>Future profiles of this specification <bcp14>MAY</bcp14> add additional response
parameters alongside the parameters defined here.
Such parameters are out of scope for this document.</t>
      </section>
      <section anchor="token-endpoint-polling">
        <name>Token Endpoint — Polling</name>
        <t>Once the client has a <tt>deferral_code</tt> from the deferred response of
<xref target="token-endpoint-deferred-response"/>, the client polls the token
endpoint until the request resolves.</t>
        <t>The polling request is a token endpoint request that does not derive
from the originating grant; it carries only the <tt>deferral_code</tt> and
this specification's polling grant type.</t>
        <t>The client makes an HTTP POST request to the token endpoint with the
parameters using the <tt>application/x-www-form-urlencoded</tt> format:</t>
        <dl>
          <dt><tt>grant_type</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. Value <bcp14>MUST</bcp14> be <tt>urn:ietf:params:oauth:grant-type:deferred</tt>.</t>
          </dd>
          <dt><tt>deferral_code</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The <tt>deferral_code</tt> issued in the deferred response.</t>
          </dd>
        </dl>
        <t>The client authenticates to the token endpoint as required by its
registered authentication method per <xref section="2.4" sectionFormat="of" target="OAUTH-2.1"/>.</t>
        <t>The client <bcp14>MUST NOT</bcp14> send polling requests faster than the rate
established by the <tt>interval</tt> parameter of the deferred response. The
client <bcp14>MUST</bcp14> increase the interval in response to a <tt>slow_down</tt> error
(<xref target="token-endpoint-error-responses"/>) by at least 5 seconds.</t>
        <t>The following is a non-normative example:</t>
        <artwork><![CDATA[
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=urn:ietf:params:oauth:grant-type:deferred
&deferral_code=LRGidcSAeVs_xYpEDt5pNx0A0TBr7qPHbh_Se6pfdf4
]]></artwork>
        <section anchor="polling-request-validation">
          <name>Polling Request Validation</name>
          <t>The authorization server <bcp14>MUST</bcp14> validate the request:</t>
          <ol spacing="normal" type="1"><li>
              <t>Authenticate the client per <xref section="2.4" sectionFormat="of" target="OAUTH-2.1"/>.</t>
            </li>
            <li>
              <t>Verify that the <tt>deferral_code</tt> is recognized and was issued to
the authenticated client. If not, return <tt>invalid_grant</tt>.</t>
            </li>
            <li>
              <t>If the request is still pending, verify that <tt>expires_in</tt> has not
elapsed. If it has, return <tt>expired_token</tt>.</t>
            </li>
            <li>
              <t>Evaluate the resolution state of the deferred request:
              </t>
              <ul spacing="normal">
                <li>
                  <t>If the request has resolved successfully, return the token
response defined in <xref target="successful-polling-response"/>.</t>
                </li>
                <li>
                  <t>If the request has resolved with an error or has been cancelled
per <xref target="cancellation"/>, return <tt>access_denied</tt>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Verify that no token response has previously been issued for this
<tt>deferral_code</tt>. If it has, return <tt>invalid_grant</tt>.</t>
            </li>
          </ol>
          <t>If the authorization server encounters any error, it <bcp14>MUST</bcp14> return an
error response per <xref target="token-endpoint-error-responses"/>.</t>
        </section>
        <section anchor="successful-polling-response">
          <name>Successful Polling Response</name>
          <t>When the deferred request has resolved successfully, the authorization
server returns the originating grant's successful token response per
<xref section="5.1" sectionFormat="of" target="OAUTH-2.1"/>.
The response includes an <tt>access_token</tt>, a <tt>token_type</tt>, and any other
fields the originating grant defines (such as <tt>refresh_token</tt> or
<tt>scope</tt>).</t>
          <t>When the originating grant defines an <tt>issued_token_type</tt> in its
successful token response (as Token Exchange does, per
<xref section="2.2.1" sectionFormat="of" target="RFC8693"/>), the successful polling response carries
that originating-grant <tt>issued_token_type</tt> value. The successful polling
response is never a deferred response and <bcp14>MUST NOT</bcp14> carry the
<tt>urn:ietf:params:oauth:token-type:deferral-code</tt> type.</t>
          <t>The <tt>expires_in</tt> field of this response carries the access-token
lifetime per <xref section="5.1" sectionFormat="of" target="OAUTH-2.1"/>; it is not the
deferral-code lifetime conveyed by <tt>expires_in</tt> in the earlier
deferred response.</t>
          <t>A <tt>deferral_code</tt> that has been redeemed for a successful response is
no longer valid; subsequent polling requests with the same
<tt>deferral_code</tt> <bcp14>MUST</bcp14> be rejected with <tt>invalid_grant</tt>.</t>
          <t>The following is a non-normative example:</t>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store

{
  "access_token": "SlAV32hkKG",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "8xLOxBtZp8"
}
]]></artwork>
        </section>
      </section>
      <section anchor="token-endpoint-error-responses">
        <name>Token Endpoint — Error Responses</name>
        <t>If a token-endpoint request defined by this specification — the initial
request of <xref target="token-endpoint-initial-request"/> or the polling request of
<xref target="token-endpoint-polling"/> — is invalid, unauthorized, or pending, the
authorization server returns an error response per
<xref section="5.2" sectionFormat="of" target="OAUTH-2.1"/>.</t>
        <t>The authorization server <bcp14>MUST</bcp14> include the <tt>Cache-Control: no-store</tt>
header field from <xref section="5.2.2.3" sectionFormat="of" target="RFC7234"/> in every error response
defined in this section, including the deferred response of
<xref target="token-endpoint-deferred-response"/> and any <tt>authorization_pending</tt> or
<tt>slow_down</tt> response. This prevents an intermediary or the client from
caching a transient <tt>authorization_pending</tt> response and replaying it,
which could otherwise cause the client to poll indefinitely.</t>
        <t>In addition to the error codes defined in <xref section="5.2" sectionFormat="of" target="OAUTH-2.1"/>,
this specification uses the following error codes, with semantics
aligned with the corresponding codes in <xref section="3.5" sectionFormat="of" target="RFC8628"/>:</t>
        <dl>
          <dt><tt>authorization_pending</tt></dt>
          <dd>
            <t>The request has not yet resolved and is not waiting on external
interaction. On the initial token request, this is the deferred
response of <xref target="token-endpoint-deferred-response"/>, which establishes
the <tt>deferral_code</tt> and carries <tt>expires_in</tt> and <tt>interval</tt>. On a
subsequent polling request, it indicates the deferred request is
still pending; such responses reference the established
<tt>deferral_code</tt> and do not repeat it. In either case the client
<bcp14>SHOULD</bcp14> continue polling at the rate established by <tt>interval</tt>.</t>
          </dd>
          <dt><tt>interaction_required</tt></dt>
          <dd>
            <t>The deferred request is pending and cannot continue until external
interaction associated with the request occurs. The response <bcp14>MUST</bcp14>
include an <tt>interaction_uri</tt> parameter (<xref target="token-endpoint-deferred-response"/>) that
identifies a location where the interaction can take place. A client
receiving this response <bcp14>SHOULD</bcp14> present the <tt>interaction_uri</tt> to the
user (or other external actor) as appropriate for the application
and continues polling at the rate established by <tt>interval</tt>.
</t>
            <t>This specification uses the <tt>interaction_required</tt> error code with
the token endpoint semantics defined here. The error name is
registered in the OAuth Extensions Error Registry by <xref target="OIDC-CORE"/>
for authorization endpoint use; the IANA action in
<xref target="iana-considerations"/> updates that registration to add token
endpoint response usage.</t>
          </dd>
          <dt><tt>interaction_pending</tt></dt>
          <dd>
            <t>The deferred request is pending, and the external interaction
associated with it has already been initiated, either by the client
(for example, the user has been directed to the <tt>interaction_uri</tt>)
or by the authorization server, but has not yet completed. The
authorization server <bcp14>MUST</bcp14> return this error only when it can observe
that the interaction has begun. A client <bcp14>SHOULD</bcp14> continue polling
at the rate established by <tt>interval</tt>.
</t>
            <t><tt>authorization_pending</tt>, <tt>interaction_required</tt>, and
<tt>interaction_pending</tt> are non-terminal pending states.
A client <bcp14>MUST NOT</bcp14> treat these states as terminal.</t>
          </dd>
          <dt><tt>slow_down</tt></dt>
          <dd>
            <t>The client is polling faster than <tt>interval</tt> allows. The client <bcp14>MUST</bcp14>
increase its polling interval as described in <xref target="token-endpoint-polling"/>.</t>
          </dd>
          <dt><tt>expired_token</tt></dt>
          <dd>
            <t>The <tt>deferral_code</tt> has expired. The client <bcp14>MUST</bcp14> stop polling with
this <tt>deferral_code</tt> and <bcp14>MAY</bcp14> initiate a new flow.</t>
          </dd>
          <dt><tt>access_denied</tt></dt>
          <dd>
            <t>The deferred request was denied — for example, because the
authorization could not be granted, or because the request was
cancelled per <xref target="cancellation"/>.</t>
          </dd>
        </dl>
        <t>The following additional rules apply:</t>
        <ul spacing="normal">
          <li>
            <t>A <tt>deferral_code</tt> that is not recognized, was issued to a
different client, or has already been redeemed <bcp14>MUST</bcp14> result in an
<tt>invalid_grant</tt> error per <xref section="3.2.4" sectionFormat="of" target="OAUTH-2.1"/>. When the
server has confirmed that the deferral code was issued to the authenticated
client, the <tt>error_description</tt> <bcp14>SHOULD</bcp14> distinguish between "already
redeemed" and "unknown identifier" for diagnostic purposes. When the
deferral code is unrecognized or was issued to a different client, the server
<bcp14>MUST</bcp14> treat it as unknown and <bcp14>MUST NOT</bcp14> provide detail that would allow
distinguishing these cases. Clients <bcp14>MUST</bcp14> treat all <tt>invalid_grant</tt>
responses as terminal and <bcp14>MUST NOT</bcp14> retry with the same
<tt>deferral_code</tt>.</t>
          </li>
          <li>
            <t>A token request that omits <tt>deferred</tt> from <tt>completion_mode</tt> after
a <tt>completion_mode=deferred</tt> hint was sent on the originating
grant's preceding-endpoint request <bcp14>MUST</bcp14> result in an
<tt>invalid_request</tt> error per <xref target="pre-token-hints"/>.</t>
          </li>
          <li>
            <t>If a client polls faster than <tt>interval</tt> repeatedly, the authorization
server <bcp14>MAY</bcp14> escalate from <tt>slow_down</tt> to <tt>invalid_request</tt>. A client
receiving <tt>invalid_request</tt> <bcp14>MUST NOT</bcp14> make further requests with the
same <tt>deferral_code</tt>.</t>
          </li>
        </ul>
        <t>The data-minimization rules of <xref target="progress-information-in-errors"/>
apply to the <tt>error_description</tt> field of any error response defined
in this section, including <tt>authorization_pending</tt> responses that
carry progress information.</t>
        <t>The following is a non-normative example:</t>
        <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store

{
  "error": "authorization_pending",
  "error_description":
    "The deferred request is still being processed."
}
]]></artwork>
      </section>
    </section>
    <section anchor="callback-notification">
      <name>Callback Notification</name>
      <t>A client that does not wish to poll for the result of a deferred
request <bcp14>MAY</bcp14> register a <tt>deferred_client_notification_endpoint</tt>
(<xref target="client-registration-metadata"/>) at which it accepts callback
notifications from the authorization server.
When the deferred request resolves — successfully, with an error, or by
cancellation — the authorization server sends a callback notification
to that endpoint.</t>
      <t>A callback notification does not itself convey the token response or
any credential. It indicates that polling the token endpoint with the
<tt>deferral_code</tt> will now yield a final response.</t>
      <t>An authorization server <bcp14>MUST NOT</bcp14> initiate a callback notification
before the HTTP response carrying the deferred response that
introduced the <tt>deferral_code</tt> has been written to the network.
Authorization servers <bcp14>SHOULD</bcp14> additionally delay callbacks for a small
implementation-defined period after that point so that the client can
record the <tt>deferral_code</tt> before receiving notice of its
resolution.
The authorization server <bcp14>MUST NOT</bcp14> send a callback notification for a
<tt>deferral_code</tt> that has already expired; the client is informed of
expiration via the <tt>expires_in</tt> value in the deferred response.</t>
      <section anchor="the-callback-request">
        <name>The Callback Request</name>
        <t>The callback is an HTTP POST to the registered
<tt>deferred_client_notification_endpoint</tt> with the following parameter
encoded in <tt>application/json</tt>:</t>
        <dl>
          <dt><tt>deferral_code</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The <tt>deferral_code</tt> of the deferred request that has
resolved.</t>
          </dd>
        </dl>
        <t>If the client supplied a <tt>client_notification_token</tt> on the initial
token request that produced this deferral code, the authorization
server <bcp14>MUST</bcp14> authenticate the callback request by including the
<tt>client_notification_token</tt> as a Bearer credential in the
<tt>Authorization</tt> header per <xref section="2.1" sectionFormat="of" target="RFC6750"/>. The client
<bcp14>MUST</bcp14> validate that the bearer credential equals the
<tt>client_notification_token</tt> it supplied; on mismatch, the client
<bcp14>MUST</bcp14> respond with HTTP 401 Unauthorized.</t>
        <t>If the client did not supply a <tt>client_notification_token</tt>, the
authorization server <bcp14>MUST</bcp14> omit the <tt>Authorization</tt> header. In that
case the client <bcp14>MUST</bcp14> protect the callback endpoint by some other
means — for example, mutual TLS or network-position assumptions —
and <bcp14>SHOULD</bcp14> treat the callback as advisory until it has confirmed
resolution by polling the token endpoint with the deferral code.</t>
        <t>The following is a non-normative example with <tt>client_notification_token</tt>:</t>
        <artwork><![CDATA[
POST /cb HTTP/1.1
Host: client.example.com
Authorization: Bearer 5SIVTd4ZzzGctFQr4AqOGdCgyIa40-tCepd-0AcZxFY
Content-Type: application/json

{
  "deferral_code": "LRGidcSAeVs_xYpEDt5pNx0A0TBr7qPHbh_Se6pfdf4"
}
]]></artwork>
        <t>For valid requests, the client <bcp14>MUST</bcp14> respond with HTTP 204 No Content.
The client <bcp14>MUST NOT</bcp14> respond with an HTTP 3xx status code; the
authorization server <bcp14>MUST NOT</bcp14> follow redirects.</t>
        <t>Handling of HTTP error codes in the 4xx and 5xx ranges by the
authorization server is out of scope for this specification.</t>
        <t>Clients receiving a callback notification <bcp14>MUST</bcp14> ignore unrecognized
parameters in the callback body.</t>
      </section>
      <section anchor="client-registration-metadata">
        <name>Client Registration Metadata</name>
        <t>The following Client Metadata parameter is defined by this specification
to be used during Client Registration as defined in <xref target="RFC7591"/>:</t>
        <dl>
          <dt><tt>deferred_client_notification_endpoint</tt></dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. URL to which the authorization server sends a notification
when a deferred authorization request resolves. If supplied, it <bcp14>MUST</bcp14>
be an HTTPS URL. A client that does not register this endpoint
retrieves the final token response by polling the token endpoint.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="cancellation">
      <name>Cancellation</name>
      <t>A client <bcp14>MAY</bcp14> cancel a pending deferred request to release authorization
server resources or because the underlying user intent no longer
applies. Cancellation is performed by revoking the deferral code at
the authorization server's revocation endpoint per <xref target="RFC7009"/>.</t>
      <section anchor="revocation-request">
        <name>Revocation Request</name>
        <t>The client makes an HTTP POST request to the revocation endpoint per
<xref section="2.1" sectionFormat="of" target="RFC7009"/>, with the following parameters using the
<tt>application/x-www-form-urlencoded</tt> format:</t>
        <dl>
          <dt><tt>token</tt></dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The deferral code to cancel, exactly as received in the
<tt>deferral_code</tt> field of the deferred response.</t>
          </dd>
          <dt><tt>token_type_hint</tt></dt>
          <dd>
            <t><bcp14>RECOMMENDED</bcp14>. Value
<tt>urn:ietf:params:oauth:token-type:deferral-code</tt>.</t>
          </dd>
        </dl>
        <t>The client authenticates to the revocation endpoint as required by its
registered authentication method per <xref section="2.4" sectionFormat="of" target="OAUTH-2.1"/>.</t>
        <t>The following is a non-normative example:</t>
        <artwork><![CDATA[
POST /revoke HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

token=LRGidcSAeVs_xYpEDt5pNx0A0TBr7qPHbh_Se6pfdf4
&token_type_hint=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Adeferral-code
]]></artwork>
      </section>
      <section anchor="revocation-semantics-for-deferral-codes">
        <name>Revocation Semantics for Deferral Codes</name>
        <t>Authorization servers <bcp14>MUST</bcp14> extend the revocation endpoint to accept
deferral codes, with the following semantics:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the deferral code is recognized and was issued to the
authenticated client, the authorization server <bcp14>MUST</bcp14> atomically
transition the pending request to a cancelled state, <bcp14>MUST</bcp14> suppress
any pending callback notification for the deferral code where
delivery has not yet been initiated, and <bcp14>MUST</bcp14> cause subsequent
polling requests against the deferral code to return
<tt>access_denied</tt> per <xref target="token-endpoint-error-responses"/>.</t>
          </li>
          <li>
            <t>If the deferral code is unrecognized, was issued to a different
authenticated client, or has already been redeemed, cancelled, or
expired — the authorization server <bcp14>MUST</bcp14> return HTTP 200 OK without
modifying state. Invalid tokens do not cause an error response, per
<xref section="2.2" sectionFormat="of" target="RFC7009"/>.</t>
          </li>
          <li>
            <t>If the deferred request has already resolved successfully and the
resulting access token has been delivered to the client, the
authorization server <bcp14>MUST NOT</bcp14> revoke that access token as a side
effect of revoking the deferral code. The two are independent
credentials with independent lifetimes; clients that need to
revoke an issued access token <bcp14>MUST</bcp14> do so explicitly per
<xref target="RFC7009"/>.</t>
          </li>
          <li>
            <t>If the deferred request has resolved successfully but the access
token has not yet been delivered to the client (for example, a
resolution committed between the last poll and the cancellation),
the authorization server <bcp14>MUST</bcp14> treat the deferral code as
redeemed-and-then-cancelled: it <bcp14>MUST NOT</bcp14> issue the access token on
any subsequent polling request and <bcp14>MUST</bcp14> return <tt>access_denied</tt> instead.</t>
          </li>
        </ol>
        <t>The revocation response is governed by <xref section="2.2" sectionFormat="of" target="RFC7009"/>.</t>
        <t>After a successful cancellation, the authorization server <bcp14>MAY</bcp14> retain
the deferral code's identifier for the remainder of <tt>expires_in</tt> to
ensure that subsequent polling requests reliably return
<tt>access_denied</tt> rather than <tt>invalid_grant</tt>. Disposal of any data
collected during the deferred request is out of scope for this
specification.</t>
        <t>To avoid leaking the validity of deferral code identifiers through
response timing, authorization servers <bcp14>SHOULD</bcp14> process revocation
requests in approximately constant time regardless of whether the
supplied <tt>token</tt> value is recognized. This complements the
indistinguishability of the response codes required by clauses 1 and
2 above.</t>
      </section>
      <section anchor="idempotency-and-retry">
        <name>Idempotency and Retry</name>
        <t>Per <xref section="2.2" sectionFormat="of" target="RFC7009"/>, the revocation endpoint is
idempotent. Clients <bcp14>MAY</bcp14> retry revocation requests on transport
failures without risking adverse effects.</t>
      </section>
      <section anchor="cancellation-discovery">
        <name>Discovery</name>
        <t>To allow clients to determine whether the revocation endpoint accepts
deferral codes, this specification registers the authorization server
metadata parameter <tt>revocation_endpoint_token_type_values_supported</tt>
in <xref target="iana-considerations"/>. An authorization server that supports this
specification <bcp14>MUST</bcp14> list
<tt>urn:ietf:params:oauth:token-type:deferral-code</tt> in this array.</t>
        <t>Clients <bcp14>SHOULD</bcp14> check that
<tt>urn:ietf:params:oauth:token-type:deferral-code</tt> is present in
<tt>revocation_endpoint_token_type_values_supported</tt> before relying on
cancellation. An authorization server that does not advertise support
will return HTTP 200 OK for any revocation request per
<xref section="2.2" sectionFormat="of" target="RFC7009"/>, which is indistinguishable from a
successful cancellation. Clients that skip this check risk silently
failing to cancel a pending deferred request.</t>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <section anchor="credential-generation">
        <name>Generating Deferral Codes and Notification Tokens</name>
        <t>The entropy requirements in <xref target="token-endpoint-deferred-response"/> and
<xref target="token-endpoint-initial-request"/> constrain how unpredictable the
value is, not the length in its encoded form. An implementation
satisfies them by drawing the required number of bits from a
cryptographically secure random source and encoding the result.
A conforming construction is to draw 16 octets (20 octets to meet the
<bcp14>RECOMMENDED</bcp14> 160 bits) from a cryptographically secure random source
and encode them with base64url without padding
(<xref section="5" sectionFormat="of" target="RFC4648"/>).</t>
        <t>UUIDs are a recurring source of non-compliance. A version 4 UUID is
128 bits wide but carries at most 122 bits of randomness, because the
version and variant fields are fixed (<xref section="5.4" sectionFormat="of" target="RFC9562"/>), and
other versions spend further bits on timestamps and node identifiers.
<xref target="RFC9562"/> also does not require those bits to be drawn from a
cryptographically secure source.
Meeting the entropy requirement is the responsibility of the party that
generates the value, and attempts by the receiving party to verify it
are inherently unreliable.</t>
      </section>
      <section anchor="polling-and-callback-together">
        <name>Polling and Callback Together</name>
        <t>A client that has registered a <tt>deferred_client_notification_endpoint</tt>
          <bcp14>SHOULD</bcp14> continue to poll the token endpoint at the rate established by
<tt>interval</tt>, rather than rely solely on the callback.
Polling provides resilience against lost or delayed callbacks and
limits the impact of a compromised callback endpoint that suppresses
inbound notifications.</t>
        <t>A client awaiting a deferred request whose <tt>expires_in</tt> is close to
elapsing <bcp14>MAY</bcp14> send a final polling request slightly before the
expiration, to mitigate the risk of a resolution that occurs too late
to fall within the normal polling schedule.</t>
        <t>This specification does not define a way to deliver the final token
response directly via the callback. Long-running, high-value flows
warrant the durability of polling: a single lost push request would
otherwise lose the outcome of the entire deferred request.</t>
      </section>
      <section anchor="obtaining-an-immediate-result-alongside-a-deferred-request">
        <name>Obtaining an Immediate Result Alongside a Deferred Request</name>
        <t>A deferred request may take an arbitrarily long time to resolve. A client
that also requires an immediate result — for example, a basic access token
or an ID token to render initial user experience — can obtain one by
starting a separate, non-deferred grant in parallel, while it continues to
poll the deferred request for the final result.</t>
        <t>How the client obtains the immediate result depends on the originating
grant:</t>
        <ul spacing="normal">
          <li>
            <t>For the Authorization Code Grant, the client can perform a parallel
OpenID Connect authentication with <tt>prompt=none</tt> to obtain an ID token
(and, where applicable, an access token) without further user
interaction.</t>
          </li>
          <li>
            <t>For the Client Credentials Grant or <xref target="ID-JAG"/>, the client can send an
additional token request that omits the <tt>completion_mode</tt> parameter
entirely, which the authorization server completes synchronously per the
originating grant's rules.</t>
          </li>
        </ul>
        <t>The immediate result and the deferred result are independent: the immediate
result reflects what the authorization server can issue synchronously, while
the deferred request continues toward the final, possibly higher-assurance,
token response. This lets a client proceed with available work immediately
rather than blocking on the deferred outcome.</t>
      </section>
      <section anchor="progress-information-in-errors">
        <name>Progress Information in Errors</name>
        <t>When responding to a polling request with <tt>authorization_pending</tt>, the
authorization server <bcp14>SHOULD</bcp14> include progress information in the
<tt>error_description</tt> field where appropriate.
Examples include the current step in a multi-step process, the queue
position of the deferred request, or an estimate of remaining
processing time.</t>
        <t>Authorization servers <bcp14>MUST NOT</bcp14> include personal data, document
identifiers, or any data subject to data-minimization obligations in
the <tt>error_description</tt> field. Progress information <bcp14>SHOULD</bcp14> be
expressed as opaque step identifiers (for example,
<tt>step=document_review</tt>) rather than free-form descriptions of user
content.</t>
        <t>The client <bcp14>MAY</bcp14> surface this information to a human operator if
appropriate. Progress information is informational and the client <bcp14>MUST
NOT</bcp14> depend on its presence or format.</t>
      </section>
      <section anchor="delegation-to-external-services">
        <name>Delegation to External Services</name>
        <t>An authorization server may rely on one or more external services to
resolve a deferred request — for example, an identity verification
vendor, a fraud analysis system, a human review queue, or an enterprise
governance platform. This specification does not define or constrain the trust relationship between the authorization
server and any such service. From the client's
perspective the authorization server remains the sole counterparty: the
client has no direct relationship with, and need not be aware of, any
external service involved in resolving the deferred request.</t>
      </section>
    </section>
    <section anchor="relationship-to-other-specifications">
      <name>Relationship to Other Specifications</name>
      <t>This section is informative.</t>
      <section anchor="relationship-to-ciba">
        <name>Relationship to CIBA</name>
        <t>This specification overlaps in mechanism with OpenID Connect
Client-Initiated Backchannel Authentication (CIBA) <xref target="CIBA"/>: both
issue an opaque identifier (CIBA's <tt>auth_req_id</tt>, this
specification's deferral code), both define a polling mode governed
by an <tt>interval</tt> parameter, and both define a callback notification
that signals the client to retrieve the result. The differences are
intentional.</t>
        <t>Initiation model. CIBA is initiated by the client. DTR is not initiated
by a client at all: an existing grant is initiated by its normal means and the
authorization server elects to defer the resulting token response.
CIBA cannot express deferral of a Client Credentials Grant or a
Token Exchange (<xref target="RFC8693"/>) request, because CIBA's initiation
inherently requires an end-user; this specification can, because
deferral is decided at the token endpoint without regard to the
originating grant's initiation pattern.</t>
        <t>User model. CIBA is a user authentication specification. CIBA
requires the client to identify the user that must be contacted,
using parameters such as <tt>login_hint</tt> or <tt>id_token_hint</tt>. CIBA
cannot express situations where the authorization server wishes
to choose the user or system to contact dynamically.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This specification builds on the security model of OAuth 2.1
(<xref section="7" sectionFormat="of" target="OAUTH-2.1"/>) and the OAuth Security Best Current
Practice (<xref target="RFC9700"/>). The considerations in those documents apply.
The following considerations are specific to this specification.</t>
      <section anchor="sender-constraint-requirements">
        <name>Sender-Constraint Requirements</name>
        <t>Deferral codes have lifetimes that may extend for hours or days. Over
that window, a stolen deferral code combined with compromised client
credentials would allow an attacker to retrieve the eventual access
token. For a confidential client, sender-constraining provides a
defense-in-depth layer: even if both the deferral code and the client
credentials are exposed, the attacker cannot redeem the code without
the bound DPoP private key or mTLS certificate. For a public client,
which has no client credentials to compromise, sender-constraining is
the primary defense against a stolen deferral code rather than an
additional layer, which is why the binding below is mandatory for such
clients.</t>
        <t>A client that is a public client per <xref section="2.1" sectionFormat="of" target="OAUTH-2.1"/>, or
that is using an originating grant whose security profile mandates
DPoP (for example, a profile that adopts <xref target="RFC9449"/> as a
requirement), <bcp14>MUST</bcp14> present a DPoP proof on the initial token request
that yields a deferred response. A confidential client using a strong
client authentication method — for example, mutual TLS per
<xref target="RFC8705"/> or <tt>private_key_jwt</tt> — <bcp14>MAY</bcp14> omit DPoP. A confidential
client using a weaker client authentication method (<tt>client_secret_basic</tt>
or <tt>client_secret_post</tt>) <bcp14>SHOULD</bcp14> bind the deferral code with DPoP.</t>
        <t>When DPoP is presented on the initial token request, the
authorization server <bcp14>MUST</bcp14> persist the JWK Thumbprint
(<xref section="6.1" sectionFormat="of" target="RFC9449"/>) of the proof key. Every subsequent
polling request and revocation request that presents the resulting
deferral code <bcp14>MUST</bcp14> carry a DPoP proof signed by the same key. The
authorization server <bcp14>MUST</bcp14> reject any request whose proof does not
chain to the persisted thumbprint with the error <tt>invalid_dpop_proof</tt>
(<xref section="7" sectionFormat="of" target="RFC9449"/>).</t>
        <t>When the deferred request resolves and an access token is issued in
response to a polling request, the issued access token <bcp14>MUST</bcp14> be
DPoP-bound to the same key, consistent with <xref section="5" sectionFormat="of" target="RFC9449"/>.
A confidential client that did not bind the deferral code with DPoP
likewise inherits its originating grant's access-token binding rules
unchanged.</t>
        <t>The callback notification path is not authenticated by DPoP; the
post-callback polling request is the moment of redemption and is
covered by the rules above.</t>
      </section>
      <section anchor="replay-and-theft-of-deferral-codes">
        <name>Replay and Theft of Deferral Codes</name>
        <t>A deferral code is sender-constrained per
<xref target="sender-constraint-requirements"/>, inheriting the binding rules of
<xref section="5" sectionFormat="of" target="RFC9449"/> for refresh tokens. Its threat profile is the
same as a refresh token of equivalent lifetime; the considerations of
<xref target="RFC9449"/> apply unchanged. As described in
<xref target="sender-constraint-requirements"/>, redeeming a stolen deferral code
also requires the client credentials it is bound to, and the
sender-constraining key provides a further layer of protection; for a
public client the sender-constraining key is the primary such
protection.</t>
        <t>The originating grant's credentials — for example, the authorization
<tt>code</tt> returned to a client that requested <tt>response_type=code</tt> — are
unaffected by DTR and remain subject to the same protections as in
the non-deferred case (<xref section="4.1.3" sectionFormat="of" target="OAUTH-2.1"/>,
<xref section="2.1.1" sectionFormat="of" target="RFC9700"/>).</t>
      </section>
      <section anchor="polling-interval-denial-of-service">
        <name>Polling-Interval Denial of Service</name>
        <t>Misbehaving or compromised clients may poll faster than the announced
<tt>interval</tt>, consuming authorization server resources.
Authorization servers <bcp14>SHOULD</bcp14> respond to faster-than-<tt>interval</tt> polling
with <tt>slow_down</tt> initially and <bcp14>MAY</bcp14> escalate to <tt>invalid_request</tt> for
clients that persist; a client receiving <tt>invalid_request</tt> <bcp14>MUST</bcp14> stop
polling for the affected <tt>deferral_code</tt>.
Authorization servers <bcp14>MAY</bcp14> also impose per-client and per-flow rate
limits independent of the announced <tt>interval</tt>.</t>
      </section>
      <section anchor="callback-endpoint-validation">
        <name>Callback Endpoint Validation</name>
        <t>The <tt>deferred_client_notification_endpoint</tt> registered by a client is
an inbound surface from the authorization server. Authorization
servers <bcp14>MUST</bcp14> require that the registered URI is an HTTPS URL.</t>
        <t>When the client supplies a <tt>client_notification_token</tt> on the initial
token request, the bearer credential presented in the callback's
<tt>Authorization</tt> header authenticates the authorization server to the
client (see <xref target="the-callback-request"/>). Even so, the callback carries
no authorization grant: clients <bcp14>MUST</bcp14> retrieve the resolution by
polling the token endpoint with the deferral code after a callback,
not solely on the basis of having received the callback. Treating the
callback alone as authoritative would allow a denial-of-service
attacker who can cause callbacks to skip polling and miss the actual
authorization decision.</t>
        <t>A client that does not supply a <tt>client_notification_token</tt> cannot
authenticate inbound callbacks at the application layer. Such a
client <bcp14>MUST</bcp14> protect the callback endpoint by other means (mutual TLS,
network-position assumptions, or a private network) and <bcp14>MUST</bcp14> treat
any callback as advisory.</t>
      </section>
      <section anchor="callback-endpoint-ssrf-and-confused-deputy-protections">
        <name>Callback Endpoint SSRF and Confused-Deputy Protections</name>
        <t>The authorization server, on every callback, makes an outbound HTTP
request to a client-controlled URL. Without further protections this
would be a server-side request forgery (SSRF) surface: an attacker
who can register a <tt>deferred_client_notification_endpoint</tt> could
coerce the authorization server into probing internal infrastructure.
The protections below are analogous to the redirect-URI hardening of
<xref section="4.1" sectionFormat="of" target="RFC9700"/> and to common SSRF mitigations from
deployed CIBA (<xref target="CIBA"/>) implementations.</t>
        <t>At registration time, the authorization server <bcp14>SHOULD</bcp14> reject a
<tt>deferred_client_notification_endpoint</tt> whose hostname resolves to a
private (RFC 6890), loopback, link-local, or unspecified address.
Development and test deployments where such addresses are intentional
are an explicit exception; production deployments <bcp14>SHOULD</bcp14> enforce the
restriction.</t>
        <t>At delivery time, the authorization server <bcp14>SHOULD</bcp14> re-resolve the
hostname and verify that all returned addresses are public (subject
to the same exception). To defeat DNS rebinding, the authorization
server <bcp14>SHOULD</bcp14> pin the resolved address for the lifetime of the
callback connection rather than rely on the resolver's cached entry.</t>
        <t>The authorization server <bcp14>SHOULD</bcp14> set a finite connect and read
timeout on the callback request and <bcp14>SHOULD</bcp14> cap the maximum response
body size it is willing to read. The specification already requires
the authorization server to ignore any HTTP response body
(<xref target="the-callback-request"/>); the size cap exists to bound resource
consumption from a misbehaving or malicious endpoint.</t>
        <t>The authorization server <bcp14>MUST NOT</bcp14> include the <tt>deferral_code</tt>, the
<tt>client_notification_token</tt>, or any other token material in the
callback URL path or query string. The <tt>deferral_code</tt> is conveyed
in the JSON request body and the <tt>client_notification_token</tt>, if
present, is conveyed in the <tt>Authorization</tt> header per
<xref target="the-callback-request"/>; placing either in the URL would expose the
value to web-server access logs, intermediary proxies, and Referer
headers on any subsequent request the client emits.</t>
      </section>
      <section anchor="client-notification-token-handling">
        <name>Client Notification Token Handling</name>
        <t>A <tt>client_notification_token</tt> is a long-lived shared secret between
the client and the authorization server: it persists from the initial
token request until the deferral code expires or is revoked, which
may be hours or days. Both parties <bcp14>MUST</bcp14> treat it with the storage and
disposal care appropriate to a refresh token of equivalent lifetime
(<xref section="6" sectionFormat="of" target="RFC9700"/>). Authorization servers <bcp14>MUST</bcp14> dispose of the
token when the deferral code resolves, expires, or is revoked.
Clients <bcp14>MUST NOT</bcp14> log the token or expose it through error messages.</t>
        <t>A <tt>client_notification_token</tt> is bound to a single deferral code.
Clients <bcp14>MUST</bcp14> generate a fresh token for each initial token request
that opts into DTR; reuse across requests collapses the per-request
binding and weakens the protection that the token provides.</t>
      </section>
      <section anchor="consent-staleness-at-resolution">
        <name>Consent Staleness at Resolution</name>
        <t>Deferral codes are designed to allow <tt>expires_in</tt> values measured in
hours or days. Across that window the resource owner's consent at the
moment of the originating grant may diverge from their state at the
moment of resolution: the owner may have changed credentials, revoked
the client, had their account suspended, or otherwise altered the
preconditions that justified the grant.</t>
        <t>Before issuing a token in response to a successful polling request,
the authorization server <bcp14>MUST</bcp14> re-evaluate that the resource owner's
consent and the client's authorization remain valid. If consent has
been revoked, the client has been disabled, the resource owner's
session has been terminated, or any precondition of the originating
grant no longer holds, the authorization server <bcp14>MUST</bcp14> return
<tt>access_denied</tt> per <xref target="token-endpoint-error-responses"/> and <bcp14>MUST NOT</bcp14>
issue an access token. This is the deferred-grant analogue of
<xref section="4.6" sectionFormat="of" target="RFC9700"/>.</t>
      </section>
      <section anchor="logging-and-disposal-of-deferral-codes">
        <name>Logging and Disposal of Deferral Codes</name>
        <t>A deferral code carries the same sensitivity as a refresh token for
the duration of <tt>expires_in</tt>. Authorization servers and clients <bcp14>MUST NOT</bcp14> log
deferral code values in plaintext beyond the code's lifetime, and
<bcp14>SHOULD</bcp14> apply the same log redaction, transport security, and at-rest
storage protections they apply to refresh tokens.
Standard web-server access logs that capture POST bodies retain
deferral code values for the entire log retention window;
implementations <bcp14>SHOULD</bcp14> configure their logging stacks to redact the
<tt>deferral_code</tt> parameter wherever it appears — both as the polling
request parameter and as the response field of deferred responses (see
<xref target="token-endpoint-deferred-response"/>).</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="linkability-across-polling">
        <name>Linkability Across Polling</name>
        <t>Each polling request from a client to the token endpoint is identifiable
to the authorization server via the client's authenticated identity and
the <tt>deferral_code</tt>.
For long-running deferred requests, the polling pattern itself
(timing, network origin, user-agent of the client) may be observable to
network intermediaries, even though the <tt>deferral_code</tt> is sent over
TLS.
Clients <bcp14>SHOULD</bcp14> avoid embedding distinguishing information in
client-controlled fields that travel with polling requests.</t>
      </section>
      <section anchor="retention-of-deferralcode">
        <name>Retention of <tt>deferral_code</tt></name>
        <t>Authorization servers retain <tt>deferral_code</tt> values, and any
associated context required to complete the deferred request, for the
lifetime indicated by <tt>expires_in</tt>.
Authorization servers <bcp14>SHOULD</bcp14> retain only the data necessary to complete
the request and to satisfy the cancellation and audit requirements of
this specification, and <bcp14>SHOULD</bcp14> dispose of <tt>deferral_code</tt> values and
their associated state once the request has resolved or expired.
Disposal of any data collected during the deferred request itself is
out of scope.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This section requests registrations in IANA registries as listed below.
Final values for <tt>Reference</tt> are this RFC once published.</t>
      <section anchor="oauth-parameters-registration">
        <name>OAuth Parameters Registration</name>
        <t>This specification requests registration of the following parameters
in the IANA "OAuth Parameters" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Parameter name: <tt>completion_mode</tt></t>
          </li>
          <li>
            <t>Parameter usage location: authorization request, token request</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
          <li>
            <t>Parameter name: <tt>interaction_uri</tt></t>
          </li>
          <li>
            <t>Parameter usage location: token response</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
        </ul>
        <t>The value of <tt>completion_mode</tt> is a space-separated list of values
registered in the "OAuth Completion Mode Values" registry defined below.</t>
      </section>
      <section anchor="oauth-completion-mode-values-registry">
        <name>OAuth Completion Mode Values Registry</name>
        <t>This specification requests the creation of a new IANA registry titled
"OAuth Completion Mode Values" to hold the values that may appear in the
space-separated <tt>completion_mode</tt> request parameter.</t>
        <t>The registry follows the "Specification Required" registration policy
<xref target="RFC8126"/>. Each registration comprises:</t>
        <ul spacing="normal">
          <li>
            <t>Value: the completion-mode value (a single token containing no spaces).</t>
          </li>
          <li>
            <t>Description: a brief description of the value's meaning.</t>
          </li>
          <li>
            <t>Change Controller: for values registered by the IETF, "IETF";
otherwise the registering party.</t>
          </li>
          <li>
            <t>Specification Document(s): a reference to the document defining the
value.</t>
          </li>
        </ul>
        <t>This specification registers the following initial values:</t>
        <ul spacing="normal">
          <li>
            <t>Value: <tt>deferred</tt></t>
          </li>
          <li>
            <t>Description: The client accepts a deferred response
(<xref target="token-endpoint-deferred-response"/>) in place of an immediate token
response or error.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
          <li>
            <t>Value: <tt>deferred_interactive</tt></t>
          </li>
          <li>
            <t>Description: The client accepts a deferred response
(<xref target="token-endpoint-deferred-response"/>) and is able to surface an
interaction to the user or other external actor when the
authorization server responds with <tt>interaction_required</tt>.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-dynamic-client-registration-metadata-registration">
        <name>OAuth Dynamic Client Registration Metadata Registration</name>
        <t>This specification requests registration of the following client metadata
definition in the IANA "OAuth Dynamic Client Registration Metadata"
registry <xref target="RFC7591"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Client Metadata Name: <tt>deferred_client_notification_endpoint</tt></t>
          </li>
          <li>
            <t>Client Metadata Description: HTTPS URL to which the authorization
server sends a notification when a deferred authorization request
resolves.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-grant-type-registry">
        <name>OAuth Grant Type Registry</name>
        <t>This specification requests registration of the following grant type
in the IANA "OAuth Grant Type" registry, used as the value of the
<tt>grant_type</tt> parameter on polling token endpoint requests
(<xref target="token-endpoint-polling"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Name: <tt>urn:ietf:params:oauth:grant-type:deferred</tt></t>
          </li>
          <li>
            <t>Description: Polling grant type used to retrieve the eventual token
response for a deferred authorization request, identified by a
deferral code issued in a deferred response per
<xref target="token-endpoint-deferred-response"/>.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-authorization-server-metadata-registry">
        <name>OAuth Authorization Server Metadata Registry</name>
        <t>This specification requests registration of the following metadata
parameters in the IANA "OAuth Authorization Server Metadata" registry
defined in <xref target="RFC8414"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>deferred_token_response_supported</tt></t>
          </li>
          <li>
            <t>Metadata Description: Boolean. If <tt>true</tt>, the authorization server
supports the deferred token response defined in this specification.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
          <li>
            <t>Metadata Name: <tt>revocation_endpoint_token_type_values_supported</tt></t>
          </li>
          <li>
            <t>Metadata Description: JSON array of token type URIs accepted by the
authorization server's revocation endpoint
(<tt>revocation_endpoint</tt>) as values of the <tt>token_type_hint</tt>
parameter.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-uri-registration">
        <name>OAuth URI Registration</name>
        <t>This specification requests registration of the following URIs in the
IANA "OAuth URI" registry:</t>
        <ul spacing="normal">
          <li>
            <t>URI: <tt>urn:ietf:params:oauth:token-type:deferral-code</tt></t>
          </li>
          <li>
            <t>Common Name: Deferral Code</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
          <li>
            <t>URI: <tt>urn:ietf:params:oauth:grant-type:deferred</tt></t>
          </li>
          <li>
            <t>Common Name: Deferred Token Response Polling Grant</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): this specification</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-extensions-error-registry">
        <name>OAuth Extensions Error Registry</name>
        <t>This specification updates the existing <tt>interaction_required</tt>
registration in the IANA "OAuth Extensions Error Registry" defined by
<xref target="RFC6749"/>. That error name was originally registered by <xref target="OIDC-CORE"/>
for authorization endpoint use. This specification adds token endpoint
response usage for the deferred-pending state defined in
<xref target="token-endpoint-error-responses"/>.</t>
        <ul spacing="normal">
          <li>
            <t>Error name: <tt>interaction_required</tt></t>
          </li>
          <li>
            <t>Error usage location: authorization endpoint response, token endpoint
response</t>
          </li>
          <li>
            <t>Related protocol extension: OpenID Connect; deferred token response</t>
          </li>
          <li>
            <t>Change controller: OpenID Foundation Artifact Binding Working Group;
IETF for token endpoint response usage defined by this specification</t>
          </li>
          <li>
            <t>Specification document(s): OpenID Connect Core 1.0; this specification</t>
          </li>
        </ul>
        <t>This specification also registers a new error code:</t>
        <ul spacing="normal">
          <li>
            <t>Error name: <tt>interaction_pending</tt></t>
          </li>
          <li>
            <t>Error usage location: token endpoint response</t>
          </li>
          <li>
            <t>Related protocol extension: deferred token response</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Specification document(s): this specification</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC7009" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7009.xml">
          <front>
            <title>OAuth 2.0 Token Revocation</title>
            <author fullname="T. Lodderstedt" initials="T." role="editor" surname="Lodderstedt"/>
            <author fullname="S. Dronia" initials="S." surname="Dronia"/>
            <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document proposes an additional endpoint for OAuth authorization servers, which allows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed. This allows the authorization server to clean up security credentials. A revocation request will invalidate the actual token and, if applicable, other tokens based on the same authorization grant.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7009"/>
          <seriesInfo name="DOI" value="10.17487/RFC7009"/>
        </reference>
        <reference anchor="RFC7234">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Caching</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless \%application- level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7234"/>
          <seriesInfo name="DOI" value="10.17487/RFC7234"/>
        </reference>
        <reference anchor="RFC7591" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7591.xml">
          <front>
            <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Machulak" initials="M." surname="Machulak"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <date month="July" year="2015"/>
            <abstract>
              <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7591"/>
          <seriesInfo name="DOI" value="10.17487/RFC7591"/>
        </reference>
        <reference anchor="RFC8126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8414" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8414.xml">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC8693" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8693.xml">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="RFC9449" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9449.xml">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="RFC9700">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
        <reference anchor="RFC6750" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6750.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="RFC8628" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8628.xml">
          <front>
            <title>OAuth 2.0 Device Authorization Grant</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>The OAuth 2.0 device authorization grant is designed for Internet- connected devices that either lack a browser to perform a user-agent- based authorization or are input constrained to the extent that requiring the user to input text in order to authenticate during the authorization flow is impractical. It enables OAuth clients on such devices (like smart TVs, media consoles, digital picture frames, and printers) to obtain user authorization to access protected resources by using a user agent on a separate device.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8628"/>
          <seriesInfo name="DOI" value="10.17487/RFC8628"/>
        </reference>
        <reference anchor="RFC9126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9126.xml">
          <front>
            <title>OAuth 2.0 Pushed Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="D. Tonge" initials="D." surname="Tonge"/>
            <author fullname="F. Skokan" initials="F." surname="Skokan"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document defines the pushed authorization request (PAR) endpoint, which allows clients to push the payload of an OAuth 2.0 authorization request to the authorization server via a direct request and provides them with a request URI that is used as reference to the data in a subsequent call to the authorization endpoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9126"/>
          <seriesInfo name="DOI" value="10.17487/RFC9126"/>
        </reference>
        <reference anchor="RFC9101" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9101.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)</title>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>The authorization request in OAuth 2.0 described in RFC 6749 utilizes query parameter serialization, which means that authorization request parameters are encoded in the URI of the request and sent through user agents such as web browsers. While it is easy to implement, it means that a) the communication through the user agents is not integrity protected and thus, the parameters can be tainted, b) the source of the communication is not authenticated, and c) the communication through the user agents can be monitored. Because of these weaknesses, several attacks to the protocol have now been put forward.</t>
              <t>This document introduces the ability to send request parameters in a JSON Web Token (JWT) instead, which allows the request to be signed with JSON Web Signature (JWS) and encrypted with JSON Web Encryption (JWE) so that the integrity, source authentication, and confidentiality properties of the authorization request are attained. The request can be sent by value or by reference.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9101"/>
          <seriesInfo name="DOI" value="10.17487/RFC9101"/>
        </reference>
        <reference anchor="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="OAUTH-2.1">
          <front>
            <title>The OAuth 2.1 Authorization Framework</title>
            <author fullname="Dick Hardt" initials="D." surname="Hardt">
              <organization>Hellō</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Torsten Lodderstedt" initials="T." surname="Lodderstedt">
              <organization>SPRIND</organization>
            </author>
            <date day="30" month="October" year="2026"/>
            <abstract>
              <t>   The OAuth 2.1 authorization framework enables an application to
   obtain limited access to a protected resource, either on behalf of a
   resource owner by orchestrating an approval interaction between the
   resource owner and an authorization service, or by allowing the
   application to obtain access on its own behalf.  This specification
   replaces and obsoletes the OAuth 2.0 Authorization Framework
   described in RFC 6749 and the Bearer Token Usage in RFC 6750.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-v2-1-17"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4648" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC6749" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC9562" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9562.xml">
          <front>
            <title>Universally Unique IDentifiers (UUIDs)</title>
            <author fullname="K. Davis" initials="K." surname="Davis"/>
            <author fullname="B. Peabody" initials="B." surname="Peabody"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This specification defines UUIDs (Universally Unique IDentifiers) --
also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform
Resource Name namespace for UUIDs. A UUID is 128 bits long and is
intended to guarantee uniqueness across space and time. UUIDs were
originally used in the Apollo Network Computing System (NCS), later
in the Open Software Foundation's (OSF's) Distributed Computing
Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the OSF DCE specification with the
kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have
been incorporated into this document. This document obsoletes RFC
4122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9562"/>
          <seriesInfo name="DOI" value="10.17487/RFC9562"/>
        </reference>
        <reference anchor="ID-JAG">
          <front>
            <title>Identity Assertion JWT Authorization Grant</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="30" month="October" year="2026"/>
            <abstract>
              <t>   This specification provides a mechanism for an application to use an
   identity assertion to obtain an access token for a third-party API by
   coordinating through an identity provider that the downstream
   Resource Authorization Server already trusts for single sign-on
   (SSO), using OAuth 2.0 Token Exchange (RFC 8693) and the JWT Profile
   for OAuth 2.0 Authorization Grants (RFC 7523).  This pattern is
   informally referred to as Cross-App Access (XAA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-06"/>
        </reference>
        <reference anchor="FIPA">
          <front>
            <title>OAuth 2.0 for First-Party Applications</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date day="1" month="July" year="2026"/>
            <abstract>
              <t>   This document defines the Authorization Challenge Endpoint, which
   supports clients that want to control the process of obtaining
   authorization from the user using a native experience.

   In many cases, this can provide an entirely browserless OAuth 2.0
   experience suited for native applications, only delegating to the
   browser in unexpected, high-risk, or error conditions.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-first-party-apps-04"/>
        </reference>
        <reference anchor="OIDC-CORE" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CIBA" target="https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html">
          <front>
            <title>OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0</title>
            <author initials="G. F." surname="Rodriguez" fullname="Gonzalo Fernandez Rodriguez">
              <organization/>
            </author>
            <author initials="F." surname="Walter" fullname="Florian Walter">
              <organization/>
            </author>
            <author initials="A." surname="Nennker" fullname="Axel Nennker">
              <organization/>
            </author>
            <author initials="D." surname="Tonge" fullname="Dave Tonge">
              <organization/>
            </author>
            <author initials="B." surname="Campbell" fullname="Brian Campbell">
              <organization/>
            </author>
            <date year="2021" month="September" day="01"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1739?>

<section anchor="use-cases">
      <name>Use Cases</name>
      <t>This section is informative.</t>
      <section anchor="high-risk-transaction-evaluation">
        <name>High-Risk Transaction Evaluation</name>
        <t>An online banking application requires the user to authorize a
high-risk transaction — for example, a large outbound transfer to a
new payee. It is acceptable for the authorization to take from
several minutes to a few hours, because the transfer can settle out
of band; the user does not need to remain engaged with the
application during that time.</t>
        <t>When the user initiates the transaction, the banking application
sends an authorization request to the bank's authorization server with
<tt>completion_mode=deferred</tt>. The authorization server's risk-analysis
system
flags the transaction for additional review. The authorization
server returns a deferred response carrying a deferral code.</t>
        <t>The bank performs additional verification — contacting the user
through alternative channels, performing manual review by a fraud
analyst, or applying other risk controls. During this time the user
is free to close the banking application; on the next session, the
client polls the token endpoint with the deferral code and renders
the result of the transaction. If the bank registered a callback
endpoint, it receives a notification when the result is committed
and prompts the user proactively.</t>
      </section>
      <section anchor="step-up-assurance-during-an-in-session-operation">
        <name>Step-Up Assurance During an In-Session Operation</name>
        <t>A user who signed in earlier with a low-assurance method (a stored
password, for example) attempts an in-session operation that
requires higher assurance — applying for a loan, changing contact
details, or unlocking a sensitive feature. The authorization server
needs to step up the user's assurance before issuing the token; the
step-up may involve biometric verification or document presentation
that is not guaranteed to complete instantly.</t>
        <t>The client sends an authorization request with
<tt>completion_mode=deferred</tt>. The authorization server determines that
the requested operation
requires step-up, collects the relevant information from the user,
returns a deferred response, and proceeds with the
verification asynchronously. The client renders any unblocked steps
of the user's workflow (form fill, preview, draft persistence) while
polling for the eventual token response. This avoids forcing the
user to wait on a single blocking screen during a verification that
may legitimately take hours.</t>
      </section>
      <section anchor="identity-verification-based-on-physical-evidence">
        <name>Identity Verification Based on Physical Evidence</name>
        <t>In jurisdictions without widely deployed digital identity, a common
identity-verification flow scans a physical document — a passport or
driver's license — supplemented by a liveness check (a short video
of the end-user matched against the photograph on the document).</t>
        <t>Most such verifications can be decided automatically. Some require a
human operator to inspect the evidence, and that review can take
hours. Regulation on automated decision-making in identity
verification often makes the human-in-the-loop case mandatory rather
than optional.</t>
        <t>The client sends the originating grant's token request with
<tt>completion_mode=deferred</tt>. When automated verification suffices, the
authorization server completes synchronously. When it does not, the
authorization server returns a deferred response, queues the
evidence for human review, and notifies the client when the review
completes. The client UX continues immediately for users in the
automated path and degrades gracefully — to "we are reviewing your
documents, you will be notified" — for users in the deferred path,
without requiring two separate authorization flows.</t>
      </section>
      <section anchor="autonomous-agent-acting-on-behalf-of-a-user">
        <name>Autonomous Agent Acting on Behalf of a User</name>
        <t>An autonomous agent operates on behalf of a human principal under a
narrow set of pre-approved scopes. The agent encounters a task that
requires authorization beyond what was provisioned at enrollment —
for example, executing a purchase above the per-transaction ceiling
the principal granted.</t>
        <t>The agent sends a token request to the authorization server with
<tt>completion_mode=deferred</tt>. The authorization server, recognizing that
the
requested scope exceeds standing approval, contacts the human
principal out of band — by mobile push, email, or a separate
approval application — and returns a deferred response to the agent.
The agent suspends the affected task and continues with other work.
When the principal approves (or denies) the request out of band, the
authorization server resolves the deferred request; the agent
retrieves the result by polling and either completes the task or
terminates it cleanly.</t>
        <t>This pattern allows the principal to retain effective oversight
without being on the synchronous path of every elevated request.</t>
      </section>
      <section anchor="enterprise-identity-governance-approval">
        <name>Enterprise Identity Governance Approval</name>
        <t>A workforce client requests an access token whose scope corresponds
to a sensitive resource — production database access, financial
system administration, or PII export — that the enterprise gates
through an Identity Governance and Administration (IGA) workflow.
The workflow may involve approvals from the requestor's manager, the
resource owner, and a security reviewer, and may take from several
hours to several business days.</t>
        <t>The client sends a token request with <tt>completion_mode=deferred</tt>. The
authorization server, recognizing that the requested scope is under
IGA control, opens a request in the governance system, returns a
deferred response, and notifies the relevant approvers through their
normal channels. The client polls the token endpoint and surfaces
the request as "pending approval" to the requesting user. As
approvers act, the governance system records its decision; on final
approval, the authorization server resolves the deferred request and
the polling client receives the access token. On rejection or
timeout, polling returns <tt>access_denied</tt> and the client clears the
pending state.</t>
        <t>This pattern lets the authorization server remain the authoritative
issuer of access tokens even when the decision logic lives in a
purpose-built governance system, without requiring the client to
integrate with the governance system directly.</t>
      </section>
      <section anchor="ai-agent-with-browser-access">
        <name>AI Agent with Browser Access</name>
        <t>An AI agent acts on behalf of a user at a third-party service. The
agent and the service both use the user's identity provider for
sign-on. The agent first performs Token Exchange (<xref target="RFC8693"/>) with
the identity provider and receives an identity assertion for the
user. The agent then presents the assertion in the token request of
the Identity Assertion JWT Authorization Grant (<xref target="ID-JAG"/>) at the
service's authorization server. No user interaction has taken place
at the service.</t>
        <t>The service requires the user's consent for the requested
operation, and the assertion alone does not provide it. The grants
that capture human consent today do not fit this request: the
authorization code grant would require a redirect-based flow at the
client, and CIBA would be a separate client-initiated request that
cannot carry the assertion (<xref target="relationship-to-ciba"/>). The agent
sends the token request with <tt>completion_mode=deferred</tt>. The
authorization server returns a deferred response, and polling
returns <tt>interaction_required</tt> with an <tt>interaction_uri</tt>. The agent
redirects the user's browser to the <tt>interaction_uri</tt>, and the user
consents there. The consent is recorded together with the
assertion, so the approval is linked to it: this agent, this user,
this operation. The agent learns of the result by polling with the
deferral code, or through a callback notification.</t>
      </section>
      <section anchor="regulatory-compliance">
        <name>Regulatory Compliance</name>
        <t>A user asks their AI assistant to gather the user's sensitive
records from a third-party service. Privacy regulation requires
the service to obtain the user's explicit consent before disclosing
personal data to a third party, and to keep a record of what was
approved and under which delegation it was requested.</t>
        <t>As in the previous use case, the agent and the service both use the
user's identity provider for sign-on. The agent first obtains an
identity assertion for the user through Token Exchange
(<xref target="RFC8693"/>) and presents it in the token request. The assertion
proves who the agent is and whom it acts for, but it is not the
consent the regulation requires.</t>
        <t>The agent sends the token request with <tt>completion_mode=deferred</tt>.
The authorization server returns a deferred response, and polling
returns <tt>interaction_required</tt> with an <tt>interaction_uri</tt>. The user
consents at that URI. The authorization server records the consent
together with the assertion, resolves the deferred request, and
issues the token only after the interaction completes. The consent
record and the assertion together show which delegation requested
the access and that the user approved it.</t>
      </section>
      <section anchor="interactive-and-explicit-consent-for-sensitive-operations">
        <name>Interactive and Explicit Consent for Sensitive Operations</name>
        <t>A user asks their AI agent to pay a large invoice on their behalf.
The payment service requires the user's explicit consent for
high-value transactions: before issuing a token, it must show the
user the amount and the recipient, and record the user's decision.</t>
        <t>As in the previous use cases, the agent and the service both use
the user's identity provider for sign-on. The agent first obtains
an identity assertion for the user through Token Exchange
(<xref target="RFC8693"/>) and presents it in the token request. The assertion
does not cover this specific transaction.</t>
        <t>The agent sends the token request with <tt>completion_mode=deferred</tt>.
The authorization server returns a deferred response, and polling
returns <tt>interaction_required</tt> with an <tt>interaction_uri</tt>. The agent
opens the <tt>interaction_uri</tt> in the browser. The user sees the
transaction and the delegation under which it was requested, and
grants or declines consent there. The authorization server resolves
the deferred request, and the agent retrieves the result by
polling. If the user declines, polling returns <tt>access_denied</tt> and
the agent terminates the task.</t>
      </section>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t><em>[[ To be removed by the RFC Editor before publication as an RFC. ]]</em></t>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Merged with draft-parecki-oauth-jwt-grant-interaction-response.</t>
        </li>
        <li>
          <t>Clarified behavior around publishing of <tt>deferred_token_response_supported</tt>
in AS metadata.</t>
        </li>
        <li>
          <t>Clarified behavior around treatment of <tt>completion_mode</tt> when AS does
not support it.</t>
        </li>
        <li>
          <t>Expanded the sender-constraint rationale to distinguish sender-constraining
as defense-in-depth for confidential clients from sender-constraining as
the primary defense for public clients.</t>
        </li>
        <li>
          <t>Reframed the sensitivity of a deferral code in terms of equivalence to a
refresh token rather than to a bearer token.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the following people for their contributions
and reviews of this specification: Karl McGuinness, Mikkel Christensen, Mick Hansen, Vitor Watanabe, Ricardo Pereira</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <t>The following individuals are co-authors:</t>
      <dl>
        <dt>Frederik Krogsdal Jacobsen</dt>
        <dd>
          <t>Idura</t>
        </dd>
        <dt/>
        <dd>
          <t>frederik.krogsdal@idura.eu</t>
        </dd>
        <dt>Maxwell Gerber</dt>
        <dd>
          <t>Twilio</t>
        </dd>
        <dt/>
        <dd>
          <t>mgerber@twilio.com</t>
        </dd>
        <dt>Aaron Parecki</dt>
        <dd>
          <t>Okta</t>
        </dd>
        <dt/>
        <dd>
          <t>aaron@parecki.com</t>
        </dd>
        <dt>Brian Campbell</dt>
        <dd>
          <t>Ping Identity</t>
        </dd>
        <dt/>
        <dd>
          <t>bcampbell@pingidentity.com</t>
        </dd>
      </dl>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAF8R5moAA929+3bbVpY3+P95CoyyuiKlSUaSL0nkSnfJsp0olcQuSa50
Va1aFkiCImKQYAOgZMbtXt9DzAPMc8yfM28yTzL7ei7AASXlUt395fu6LFHE
wbnss+/7t4fDoWnypsiOkp1n2SyrqmyaXJRvs2VyltWrcllnOyYdj6vsGr9x
cbZjJmmTXZXV5iipm6kx03KyTBfw/LRKZ80wz5rZsEzXzXw4lfGGDY43rGS8
4f6BqdfjRV7XeblsNit49vT5xYsk+ShJi7qE9+TLabbK4H+Wzc4g2cmmeVNW
eVrgL6fHT+GfsoKfzi5e7JjlejHOqiMzhWkdmQm+YVmv66OkqdaZgVk/MGmV
pUfJeTZZV3mzMTdl9faqKtero+SHbJwcw1xh9J/SBqaTvKrKppyUhXmbbeCL
0yOTDBNaD/6gS0pS/yH8S1pvlpN5VS7LdZ3QghNY4DpdTjL886osinx5Za6z
5RqmmSS3TyBJeG9+gOnCo8lX+AR8ukjz4oin9Afc7VFZXcHHaTWZHyXzplnV
R59+il/CT/LrbKRf+hQ/+HRclTd19ik9/ylOJG/m6zFsOh/azdWnPee2A18u
YJPrBr6s74FdT5sqnbzNKvceIIlP70oNn+4Yw5uJOw2vSJJ8mTdw2HCEX43o
g3pdCYllycsClpRXafJ9nlUl/Xm2Lgr++1frvJhn1SLr+SZMLl3KRgPRNen/
+3/T5xnv6ZU+PlriI3/Im3Q9XC/zMZxiOZqUi9G4ou9XJV4YJsvurJ+1Zv1t
vm7N81kK1H1l/xBO67iAF45Te952eov03aiYrv6Q8heG+XKCk+rOyCzLagGj
XROlnb04OTw4+EJ+/Gx/3/54+OCh/vjoiwP58fODw8f2x8/0C58/PLA/Pv7i
gfz4xcOHOtgXMLD8+PizR/v2u4ef6xfcuF8c7Nu3fbb/CH98efz64uvh4egA
jmX4bNShnuvD4YEx+XLWWtnDxw8/t691k3n0+BB/PH02/Ob4q54hc2QvwA+G
aV1nFe79ED//aXhVpcsGnn5x+uq459lZXtXNcJVW+PhqVeMKTp+dDE9enj0/
ogNp0uoqa9yFLOHE8+lomTWf1qtsUssHQ2BYy2zSwL9VNjx4sz+aN4uCR2C2
/BK+d/osOeHvwb9VlhyM9uErJ6dPj+/5siKHNQ+ZVBu4i2O4uZN5CkMXtHjc
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
Do+3kueWkhQPQg64eOUlaScOdzCAU0PvP6ZzcXBnC3gppzbnVHWkqVI2omCS
Fhih9TfbvC5ON0me8sSk68CS7nIPepsEttKmNfZunWXK+uRJe+ycundhdWKa
A3rOMfG+Xs9gbEYnxqybFWXlI9psMq7WTTbUXOGrNZaskBNmloEZgplju6lF
4QPKPzj8HDYDEYOIMg4e79Ov2F3EYVDuDbzzBLqwh6EgkLDIDx+wqwxm5C4z
ht8OIhya3egB+WTTNzFy0JuACDwCnWmVi2QLAT2xsa9yGaSUIZoXY9V7jT/w
SjGmom59redhz8LeyWsrPelciPhDGJK89i8lgzqQAOxTrIWRt9JeVpQh4xjU
I0bVCzhdvkW2WBe3oI9FndwjmVY3IcDLfCKZfCt+5tbZwBiMRuViGd6c+vCe
cudUNl6uOFuhfVhQvhK/Rm494xIfyhi8t94ZZbbOVLVx6j7x9D/Am/lf6zX+
Xe8t/vLR+emfL6YP//rTT19Nmhd/qh4e//vLr6YnV5vT9OH+sDnJVtPh/vHk
r+9e/MXpu22h+l+g7db/KHVXICslz7Wj8T65o95qkojmOvh5qjIylNOe2mxK
GIjmrqrDxTLpO6UVYLkVJ+s43TPVXcc5IaeyeWKTDW07a30dy/pI9yq86ImX
BteTq5Avuwc8kBn0E9utmQKYWB7JFfjF1kS6NKHFIHjALQZP37HcvaaEIVV1
o9aIpOXhCSPy/arC3Ple1bcDntRVfrsixpgfopnqId6hFy1v97/BsGwkjmoz
0X3qz5ukE9t1lgPDn7V8VbyRTl63zQl3wigCKAS/rln9e7i/n+w+TafKtvZa
Pkj6Usu5JpAml+wUikpPotuWYnHEdQbUMWtZanMV/g6+FAPTSEL2b5wpSmCd
DYeHNJEKo+2cV5NjwL1fIIdgzCSVW/DRpgcSArZ6Enqa7XF6UIjHLW2axHq7
hAsxfo/Ph51ST3bQ+UDlbZjyaC4cLL6xe7yUmkMfdhIN4RmMOddfy3ayH8N+
pWx+uH03d9h3aRXBOBX5pEHw1XyRc/DO2BINTMNWoiOUkB4PwJV0OCJpwas2
0VXzvdCtGiXnBOfX53Pm7hIqF9XCuiSavvTTtJs4BcvFND1WZO2S1C1U51Gi
mP1xPHk6/C0dTvzbpE8FBhfQcgH2U2PNJbzlYnqZXTWaApMJu8TeLDkRMQXK
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
UU7eSsF3MF3hndrsUdLbT116O953qs5Eo+iWbH2BrPFq2rnDY0soboMX35JQ
1mrbFsvFtxl7vXUC9g66xjIClFsHQA+ovVOyY5OtyJOWLDCqMKTfxevGFwvW
tM6MzSjryaxkaOclaljkjuPYwIJlkXGoyCQ0Op3tg4AjpzvLJsCndH3RZTOw
iJbGU8Dlzezw9DHOu3UZJeh+V5LyLq7d3p0cOWrxD0AOaUxqDqliU4dKLLvp
eT1bPZ/x71/qIt4gnlZ2c7kX6J6zKqNOhIvEmxMZQ8QrJ5rZ1e4lCTdslk64
NUAwYyLROULHwyxR/4cZ5TPjk0h8qeE4qRd48Aor8bCYCxHkuwVfnRCaND8t
nsKsyK7slJ5rdfA5HH0+oRh0jycIdZBKVHHqEQgflT5wei1DoGgWXSSm9Ha1
Da16Ax2N7BtNVbqG5WDNAgG6r1GWpMWmRhVzAye4GNgN5RPkK2JvAMoyavtu
OFKBjA9r8Bt2VdxBV7X9SBTqt6nWlBnF7qZ6nq+C2FA0ZUhhUAjWQbZolLzQ
Sg8+xI9rg1dshXbyddYvIfgqS8cPMIwSgWUj+5CEj4JVchBMlOhwysgX2eCk
SJ7UlYKdggi2M/zLxrQPFUFzOATHUJfwc18Yg9Oyzvw3AqG9pKt17u93rQZD
NukQurrl28OcnD49BgHhr2fYlMNJPuasvs6Z4tGjGYXzXmSIQZbX4n4J1S5x
1g5PNdqfPAVbAx9YZoWP+Yij7uI89kD5wX+xF9sY7AXDsju17V+9+BQ9AEoG
iSMsfHuTU8e6jvv541aG+t6Axnbmk0o51I9sDM4gcOgyim3KJx2O0VPMQ6Yt
NcoN+o60Gl+pOs3JVpJKMOGO5Ybz3ohPESYO7SVlHMF0ixGfHx207nKrDy62
qMy1ObV8h1Zn7WkqFj2iK/6O3cNqMbSGRS4otipnbWv0/k692NxKWcEI9CVD
6xD8EpFA7tzIsN6mNKemBYq3y6jbDH3nZLn62oR4crudxvP8+KYdMEzsIFA9
iUVlYLp2SBfFoQzXSY4+XNFNIxnkFH+iQJ6m/sQ0aDc/IL8GGQh6K9EqbJ1+
yrZiy9AJo5z0ZWMXF9Kj3CwmHRqLiHeB7HmccScQDLcODCcXetmGFhOxKGEB
nLqHZ3KZK1YgfSTvbx0xKF9rUVwc2EuUnG4YZAijC/NSPQg0U3gXyy8KPfBM
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
9/FE/vaHFfxFJTM//P8D7Of4uDdOAQA=

-->

</rfc>
