<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.3.12) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-gamb-uma4agents-fedauthz-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="FedAuthz for Agents">Federated Authorization for Autonomous Agents</title>

    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization>MindGarden LLC</organization>
      <address>
        <email>nickgamb@gmail.com</email>
      </address>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization>Venn Factory</organization>
      <address>
      </address>
    </author>

    <date year="2026" month="September" day="11"/>

    <area>Security</area>
    
    <keyword>UMA</keyword> <keyword>authorization</keyword> <keyword>federated</keyword> <keyword>resource registration</keyword> <keyword>discovery</keyword>

    <abstract>


<?line 76?>

<t>This document extends Federated Authorization for User-Managed Access (UMA) 2.0
in three places where the agent era exposes an assumption.</t>

<t>Resource registration becomes declarative: the resource server publishes its
structure in protected resource metadata and serves its owner-bound instances
only to the owner's authorization server, which pulls rather than being pushed
to. A resource server establishes its relationship with an owner's authorization
server by signing as the origin it serves, rather than by a credential somebody
had to provision at both ends. And the protection API's introspection response
says why a token is inactive, so an enforcement point can tell a refusal that
further negotiation might change from one it cannot.</t>



    </abstract>



  </front>

  <middle>


<?line 90?>

<section anchor="introduction"><name>Introduction</name>

<t><xref target="UMAFedAuthz"/> separates the resource server from the authorization server so
that the owner's policy can live with a party the resource server does not
control. It then assumes the two are already acquainted: the resource server
holds a protection API access token (PAT), pushes descriptions of the owner's
resources under it, and asks it for permission tickets.</t>

<t>Each of those assumptions holds when one operator runs both sides and stops
holding when the authorization server is the owner's. Nobody can provision a
secret at both ends when the two ends belong to different people. Pushing
owner-bound resource descriptions requires the resource server to know, per
owner, which authorization server to push to. And a resource server that has
registered a resource with one owner's authority has published, to that
authority, which resources that named person owns — which the resource server
was in a position to know and the metadata document it publishes to the world
must not be.</t>

<t>This document keeps the direction <xref target="UMAFedAuthz"/> chose — the authorization
server is the owner's, and the resource server is its client — and specifies
the three things it left to deployment.</t>

<section anchor="relationship-to-the-set"><name>Relationship to the Set</name>

<t>This document extends <xref target="UMAFedAuthz"/> and is <bcp14>REQUIRED</bcp14> to implement alongside
<xref target="U4ACore"/>. Its identifying URI is <spanx style="verb">https://u4a.ai/spec/fedauthz/1.0</spanx>.</t>

</section>
<section anchor="notational-conventions"><name>Notational Conventions</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?>

</section>
</section>
<section anchor="discovery"><name>Discovery in Two Layers</name>

<t>Discovery is split by who may ask.</t>

<section anchor="public-layer"><name>The Public Layer</name>

<t>A resource server <bcp14>MUST</bcp14> publish protected resource metadata <xref target="RFC9728"/> for each
resource it serves. That document describes the <em>structure</em> of the resource:
what operations it offers and with what scopes. It <bcp14>MUST NOT</bcp14> name which owners
have instances behind it.</t>

<t>This document adds two members to the metadata:</t>

<dl>
  <dt>tool_surfaces:</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. An array of objects, each with a <spanx style="verb">tool</spanx> member naming an operation
and a <spanx style="verb">resource_scopes</spanx> member listing the scopes that operation requires.
Structural only.</t>
  </dd>
  <dt>owner_resources_endpoint:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The URL of the protected listing of <xref target="protected-layer"/>.</t>
  </dd>
</dl>

<t>The document <bcp14>MUST</bcp14> carry <spanx style="verb">signed_metadata</spanx> as <xref target="RFC9728"/> Section 2.1, signed by
a key published at the resource's own <spanx style="verb">jwks_uri</spanx>, so that a relayed copy stays
attributable to the resource.</t>

<t>A resource server <bcp14>MAY</bcp14> publish the same structural facts in more than one
encoding — for example the metadata of <xref target="I-D.hardt-aauth-protocol"/> alongside
<xref target="RFC9728"/> — from one registry. The instance layer beneath them, and the
permission ticket, do not change with the encoding.</t>

</section>
<section anchor="protected-layer"><name>The Protected Layer</name>

<t>A resource server <bcp14>MUST</bcp14> serve, at <spanx style="verb">owner_resources_endpoint</spanx>, the owner-bound
resource instances it holds for one owner — their identifiers, names, and
scopes — and <bcp14>MUST</bcp14> serve them only to a request signed with <xref target="RFC9421"/> by the
authorization server that owner has named, verified against that authorization
server's published keys.</t>

<t>The signature profile is that of <xref target="U4ACore"/> Section 6.1, with <spanx style="verb">@authority</spanx> taken
from the resource server's configuration.</t>

<t>This is the privacy split. The public document says what the resource is; whose
things sit behind it is served only to the party the owner's own consent already
connected. Publishing the second at an unauthenticated URI is a disclosure that
push registration, for all its other costs, never made.</t>

</section>
</section>
<section anchor="registration"><name>Declarative Registration</name>

<t>An authorization server implementing this document <bcp14>MUST</bcp14> be able to learn what a
resource server protects by fetching, and <bcp14>MUST NOT</bcp14> require the resource server
to push resource descriptions. The classic resource registration endpoint of
<xref target="UMAFedAuthz"/> Section 3 remains conformant and <bcp14>MAY</bcp14> be offered alongside.</t>

<t>To register a resource server's resources for an owner, the authorization
server:</t>

<t><list style="numbers" type="1">
  <t>fetches the resource server's protected resource metadata;</t>
  <t>verifies <spanx style="verb">signed_metadata</spanx> against the keys at the document's <spanx style="verb">jwks_uri</spanx>, and
verifies that the signed claims name this resource as <spanx style="verb">iss</spanx>;</t>
  <t>sends a signed request to <spanx style="verb">owner_resources_endpoint</spanx>;</t>
  <t>materializes its registry for that owner from the response, and removes any
registration from that source for that owner that the response no longer
carries.</t>
</list></t>

<t>One fetch replaces N registration calls, and there is one registry with one
writer.</t>

<section anchor="staleness"><name>Staleness</name>

<t>The registry the authorization server holds may lag what the resource server
serves. When a permission request names a resource identifier the authorization
server does not hold, it <bcp14>MUST</bcp14> attempt a fresh pull before answering
<spanx style="verb">invalid_resource_id</spanx>.</t>

<t>This is the mirror of what <xref target="UMAFedAuthz"/> asked of the resource server —
noticing <spanx style="verb">invalid_resource_id</spanx> after an authorization server restart and
re-pushing — placed with the party that can act on it without a round trip.</t>

</section>
<section anchor="liveness"><name>Liveness</name>

<t>The pull and its verification form a call cycle: the authorization server
fetches from the resource server, and the resource server authenticates that
fetch by dereferencing the authorization server's published keys. An
authorization server <bcp14>MUST NOT</bcp14> condition its own readiness on the pull having
completed, and a resource server verifying a signed request <bcp14>MUST</bcp14> either tolerate
a live back-call to the authorization server or verify against keys it already
holds.</t>

<t>Gating readiness on "my registry is populated" deadlocks: the authorization
server will not serve its keys until it has pulled, and the resource server will
not serve the pull until it has the keys. The general form is that in a profile
where two parties authenticate each other by dereference, neither party's
liveness may be conditioned on the exchange completing.</t>

</section>
</section>
<section anchor="establishment"><name>Establishment</name>

<t><xref target="UMAFedAuthz"/> Section 1.4 requires that the PAT be issued with the resource
owner's authorization, and says nothing about how the resource server comes to
be a client of the authorization server at all. Where one operator runs both
sides, a provisioned client credential models that gap adequately. Where the
authorization server is the owner's, nobody is in a position to configure both
ends.</t>

<section anchor="rs-register"><name>Registration by Origin</name>

<t>A resource server <bcp14>MAY</bcp14> introduce itself to an owner's authorization server by
sending a request naming the owner and the resource it serves, signed with
<xref target="RFC9421"/> using a key published at the origin of that resource.</t>

<t>The request <bcp14>MUST</bcp14> carry a <spanx style="verb">Content-Digest</spanx> <xref target="RFC9530"/> covered by the signature.</t>

<figure title="A resource server registering by origin signature. Line breaks are for display only."><artwork><![CDATA[
POST /rs/register HTTP/1.1
Host: alice-as.example
Content-Type: application/json
Content-Digest: sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDU=:
Signature-Input: sig1=("@method" "@authority" "@path"
  "authorization" "content-digest");created=1789430000;
  keyid="rs-1";alg="ed25519"
Signature: sig1=:bbN8ISG...:

{
  "owner": "alice",
  "resource_uri": "https://rs.example/mcp/alice",
  "name": "Meridian Vault"
}
]]></artwork></figure>

<t>The authorization server <bcp14>MUST</bcp14> verify the signature by:</t>

<t><list style="numbers" type="1">
  <t>fetching the protected resource metadata for <spanx style="verb">resource_uri</spanx> from that
resource's own origin;</t>
  <t>refusing unless the document's <spanx style="verb">resource</spanx> equals <spanx style="verb">resource_uri</spanx>, its
<spanx style="verb">jwks_uri</spanx> is same-origin with <spanx style="verb">resource_uri</spanx>, and its <spanx style="verb">authorization_servers</spanx>
names this authorization server;</t>
  <t>fetching the keys at <spanx style="verb">jwks_uri</spanx> and verifying the signature against them.</t>
</list></t>

<t>A resource server that cannot be reached, or whose document fails any of the
three checks, <bcp14>MUST</bcp14> be refused. This is a deliberate departure from how an
authorization server treats an operator's key directory, where an unreachable
document leaves an agent's claim where it was. There, the document attests a
claim already made by other means. Here, the document <em>is</em> the credential, and a
credential that cannot be fetched has not been presented. A profile that reuses
the attestation language here has specified an authentication that fails open.</t>

</section>
<section anchor="pending"><name>The Answer Is the Owner's</name>

<t>A verified signature settles who is asking and nothing else. On success the
authorization server <bcp14>MUST</bcp14> respond <spanx style="verb">202 Accepted</spanx> with a body carrying
<spanx style="verb">status</spanx> of <spanx style="verb">pending</spanx> and <spanx style="verb">error</spanx> of <spanx style="verb">authorization_pending</spanx>, <bcp14>MUST</bcp14> record the
resource server in the owner's registry as pending, and <bcp14>MUST</bcp14> issue no PAT until
the owner has approved it.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "client_id": "https://rs.example",
  "status": "pending",
  "error": "authorization_pending",
  "error_description": "the owner has been asked"
}
]]></sourcecode></figure>

<t>The <spanx style="verb">client_id</spanx> of a resource server registered this way is its origin.</t>

<t>Registration reaches an owner; it <bcp14>MUST NOT</bcp14> create one. The signature proves
control of an origin and says nothing about whether the owner named beside it
exists. An authorization server that seeds an owner on demand has turned an
unauthenticated endpoint into unbounded state.</t>

</section>
<section anchor="pat"><name>Obtaining the PAT</name>

<t>Once the owner has approved, the resource server obtains a PAT with the
<spanx style="verb">client_credentials</spanx> grant <xref target="RFC6749"/> and <spanx style="verb">scope</spanx> of <spanx style="verb">uma_protection</spanx>, as
<xref target="UMAFedAuthz"/> Section 1.5, authenticating in the same way it registered: by an
<xref target="RFC9421"/> signature over the token request, verified against keys at the
origin it registered as. Which authentication applies — a provisioned secret or
an origin signature — is a property of the stored registration, so that a
resource server registered by signature cannot later fall back to guessing a
secret.</t>

<t>While the owner has not answered, the token endpoint <bcp14>MUST</bcp14> respond <spanx style="verb">403</spanx> with
<spanx style="verb">error</spanx> of <spanx style="verb">authorization_pending</spanx>. After the owner has revoked the resource
server, it <bcp14>MUST</bcp14> respond <spanx style="verb">403</spanx> with <spanx style="verb">error</spanx> of <spanx style="verb">access_denied</spanx>.</t>

</section>
<section anchor="withdrawal"><name>Withdrawal</name>

<t>The owner <bcp14>MUST</bcp14> be able to revoke a resource server, and on revocation the
authorization server <bcp14>MUST</bcp14> stop honouring that resource server's PAT on every
protection API call, from every replica, at once.</t>

<t>A resource server that registers again after being revoked <bcp14>MUST</bcp14> land in the
pending state, not the active one. A second request is not a reversal of the
owner's first decision, and re-registration <bcp14>MUST NOT</bcp14> be a way to undo a
withdrawal.</t>

</section>
</section>
<section anchor="introspection"><name>Introspection Reasons</name>

<t>An authorization server <bcp14>MUST</bcp14> include, in an introspection response <xref target="RFC7662"/>
whose <spanx style="verb">active</spanx> member is <spanx style="verb">false</spanx>, an <spanx style="verb">error</spanx> member. The following values are
defined:</t>

<dl>
  <dt><spanx style="verb">expired</spanx>:</dt>
  <dd>
    <t>The token's lifetime has passed.</t>
  </dd>
  <dt><spanx style="verb">invalid_signature</spanx>:</dt>
  <dd>
    <t>The token did not verify.</t>
  </dd>
  <dt><spanx style="verb">unknown_token</spanx>:</dt>
  <dd>
    <t>The token was not issued by this authorization server, or its record is gone.</t>
  </dd>
  <dt><spanx style="verb">already_consumed</spanx>:</dt>
  <dd>
    <t>A single-use token has been spent.</t>
  </dd>
  <dt><spanx style="verb">connection_revoked</spanx>:</dt>
  <dd>
    <t>The owner has ended the standing relationship under which this token was
issued. See <xref target="U4ACore"/> Section 9.</t>
  </dd>
</dl>

<t>Of these, <spanx style="verb">connection_revoked</spanx> is terminal: an enforcement point receiving it
<bcp14>MUST</bcp14> refuse without issuing a fresh challenge, because renegotiation cannot
change an outcome the owner has settled. The others <bcp14>MAY</bcp14> be answered with a
fresh challenge.</t>

<t>An extension <bcp14>MAY</bcp14> define further values. <xref target="U4AMultiParty"/> defines
<spanx style="verb">organization_revoked</spanx>.</t>

<section anchor="non-consuming"><name>Non-Consuming by Default</name>

<t>Introspection <bcp14>MUST NOT</bcp14> consume a single-use token. Consumption is a separate
operation, taken by the enforcement point as the last step of enforcement, as
<xref target="U4ACore"/> Section 8.2. An authorization server <bcp14>MUST</bcp14> offer that operation at
the URL it advertises as <spanx style="verb">consume_endpoint</spanx> in its metadata, <bcp14>MUST</bcp14> require the
protection API access token on it as on introspection, and it <bcp14>MUST</bcp14> report to
its caller whether that caller was the one that consumed the token.</t>

<t>The request carries the token as introspection does; the response is a JSON
object with a <spanx style="verb">consumed</spanx> member. <spanx style="verb">true</spanx> means this caller spent the token;
<spanx style="verb">false</spanx> means it was already spent, or was not a single-use token, and <bcp14>MUST</bcp14> be
accompanied by an <spanx style="verb">error</spanx> member saying which.</t>

</section>
</section>
<section anchor="audit"><name>Reporting Allowed Access</name>

<t>An enforcement point <bcp14>SHOULD</bcp14> report each call it allows to the authorization
server, naming the negotiation it was made under and what was reached, so that
the owner's record holds what was done alongside what was promised.</t>

<t>An enforcement point <bcp14>MUST NOT</bcp14> be told, and <bcp14>MUST NOT</bcp14> report, the identity handle
of the requesting agent. The authorization server resolves it from the
negotiation. The enforcement point is the resource server's component, and the
owner's record of which agent did what is not the resource server's to hold.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The considerations of <xref target="UMAFedAuthz"/> Section 7 apply.</t>

<section anchor="an-endpoint-that-dereferences-will-dereference-what-it-is-told"><name>An Endpoint That Dereferences Will Dereference What It Is Told</name>

<t><xref target="rs-register"/> carries no credential the authorization server issued; the
signature checked against the origin's own published document is the
credential. Any caller can therefore cause an outbound fetch to a host they
name. An authorization server <bcp14>MUST</bcp14> bound the response size it will read, <bcp14>MUST
NOT</bcp14> follow redirects, <bcp14>MUST</bcp14> require <spanx style="verb">https</spanx>, and <bcp14>SHOULD</bcp14> keep a short memory of
resources that did not check out so that a flood of registrations is not a flood
of fetches.</t>

<t>The bound this document deliberately does not require is an address blocklist. A
resource server legitimately sits on a private range whenever it is deployed
near its owner's authority, so refusing those would break the honest case and
not the dishonest one. Naming the hosts an authorization server may reach is an
egress policy and belongs to the deployment.</t>

</section>
<section anchor="the-owners-policy-is-not-on-the-protection-api"><name>The Owner's Policy Is Not on the Protection API</name>

<t>The protection API is scoped to the PAT, and it carries no operation that
returns the owner's policy. An implementation <bcp14>SHOULD</bcp14> be able to demonstrate that
the enforcement point is refused the owner's policy and is allowed her published
keys, on the same origin.</t>

</section>
<section anchor="revocation-reads-the-store"><name>Revocation Reads the Store</name>

<t><xref target="withdrawal"/> requires that a revoked PAT stop working on every replica at
once, which means the resource server's status <bcp14>MUST</bcp14> be read on each protection
API call rather than cached in process. A revocation that reached only the
replica that served the request would leave the others honouring a credential
the owner had just withdrawn.</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>The considerations of <xref target="UMAFedAuthz"/> Section 8 apply.</t>

<t>The split in <xref target="discovery"/> exists because the alternative is a disclosure. A
public document listing the resources a named person owns is readable by anyone
who can guess its URL, and a resource server serving many owners has published a
directory of them. The structural layer says nothing about any person; the
instance layer is served only to the authority that person named, and that
authority already knew.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="oauth-protected-resource-metadata-registration"><name>OAuth Protected Resource Metadata Registration</name>

<t>IANA is asked to register the following in the "OAuth Protected Resource
Metadata" registry established by <xref target="RFC9728"/>.</t>

<dl>
  <dt>Metadata Name:</dt>
  <dd>
    <t><spanx style="verb">tool_surfaces</spanx></t>
  </dd>
  <dt>Metadata Description:</dt>
  <dd>
    <t>Operations the resource offers, each with the scopes it requires</t>
  </dd>
  <dt>Change Controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification Document(s):</dt>
  <dd>
    <t><xref target="public-layer"/> of this document</t>
  </dd>
  <dt>Metadata Name:</dt>
  <dd>
    <t><spanx style="verb">owner_resources_endpoint</spanx></t>
  </dd>
  <dt>Metadata Description:</dt>
  <dd>
    <t>URL of the protected listing of owner-bound resource instances</t>
  </dd>
  <dt>Change Controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification Document(s):</dt>
  <dd>
    <t><xref target="protected-layer"/> of this document</t>
  </dd>
</dl>

</section>
<section anchor="oauth-authorization-server-metadata-registration"><name>OAuth Authorization Server Metadata Registration</name>

<t>IANA is asked to register the following in the "OAuth Authorization Server
Metadata" registry established by <xref target="RFC8414"/>.</t>

<dl>
  <dt>Metadata Name:</dt>
  <dd>
    <t><spanx style="verb">consume_endpoint</spanx></t>
  </dd>
  <dt>Metadata Description:</dt>
  <dd>
    <t>URL of the operation that spends a single-use requesting party token</t>
  </dd>
  <dt>Change Controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification Document(s):</dt>
  <dd>
    <t><xref target="non-consuming"/> of this document</t>
  </dd>
</dl>

</section>
<section anchor="oauth-token-introspection-response-registration"><name>OAuth Token Introspection Response Registration</name>

<t>IANA is asked to register the following in the "OAuth Token Introspection
Response" registry established by <xref target="RFC7662"/>.</t>

<dl>
  <dt>Name:</dt>
  <dd>
    <t><spanx style="verb">error</spanx></t>
  </dd>
  <dt>Description:</dt>
  <dd>
    <t>Why an inactive token is inactive; see <xref target="introspection"/> of this document</t>
  </dd>
  <dt>Change Controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification Document(s):</dt>
  <dd>
    <t><xref target="introspection"/> of this document</t>
  </dd>
</dl>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC6749">
  <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="RFC8414">
  <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="RFC7662">
  <front>
    <title>OAuth 2.0 Token Introspection</title>
    <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
    <date month="October" year="2015"/>
    <abstract>
      <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7662"/>
  <seriesInfo name="DOI" value="10.17487/RFC7662"/>
</reference>
<reference anchor="RFC9421">
  <front>
    <title>HTTP Message Signatures</title>
    <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
    <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
    <author fullname="M. Sporny" initials="M." surname="Sporny"/>
    <date month="February" year="2024"/>
    <abstract>
      <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9421"/>
  <seriesInfo name="DOI" value="10.17487/RFC9421"/>
</reference>
<reference anchor="RFC9530">
  <front>
    <title>Digest Fields</title>
    <author fullname="R. Polli" initials="R." surname="Polli"/>
    <author fullname="L. Pardue" initials="L." surname="Pardue"/>
    <date month="February" year="2024"/>
    <abstract>
      <t>This document defines HTTP fields that support integrity digests. The Content-Digest field can be used for the integrity of HTTP message content. The Repr-Digest field can be used for the integrity of HTTP representations. Want-Content-Digest and Want-Repr-Digest can be used to indicate a sender's interest and preferences for receiving the respective Integrity fields.</t>
      <t>This document obsoletes RFC 3230 and the Digest and Want-Digest HTTP fields.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9530"/>
  <seriesInfo name="DOI" value="10.17487/RFC9530"/>
</reference>
<reference anchor="RFC9728">
  <front>
    <title>OAuth 2.0 Protected Resource Metadata</title>
    <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
    <author fullname="P. Hunt" initials="P." surname="Hunt"/>
    <author fullname="A. Parecki" initials="A." surname="Parecki"/>
    <date month="April" year="2025"/>
    <abstract>
      <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9728"/>
  <seriesInfo name="DOI" value="10.17487/RFC9728"/>
</reference>

<reference anchor="UMAFedAuthz" target="https://docs.kantarainitiative.org/uma/wg/rec-oauth-uma-federated-authz-2.0.html">
  <front>
    <title>Federated Authorization for User-Managed Access (UMA) 2.0</title>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <author initials="M." surname="Machulak" fullname="Maciej Machulak">
      <organization></organization>
    </author>
    <author initials="J." surname="Richer" fullname="Justin Richer">
      <organization></organization>
    </author>
    <date year="2018" month="January" day="07"/>
  </front>
  <seriesInfo name="Kantara" value="Recommendation"/>
</reference>
<reference anchor="U4ACore" target="https://u4a.ai/spec/draft-gamb-uma4agents-core-00.html">
  <front>
    <title>User-Managed Access (UMA) 2.0 Profile for Autonomous Agents</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-gamb-uma4agents-core-00"/>
</reference>


<reference anchor="RFC2119">
  <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="RFC8174">
  <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>



    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="I-D.hardt-aauth-protocol">
   <front>
      <title>AAuth Protocol</title>
      <author fullname="Dick Hardt" initials="D." surname="Hardt">
         <organization>Hellō</organization>
      </author>
      <date day="28" month="April" year="2026"/>
      <abstract>
	 <t>   This document defines the AAuth authorization protocol for agent-to-
   resource authorization and identity claim retrieval.  The protocol
   supports four resource access modes — identity-based, resource-
   managed (two-party), PS-managed (three-party), and federated (four-
   party) — with agent governance as an orthogonal layer.  It builds on
   the HTTP Signature Keys specification
   ([I-D.hardt-httpbis-signature-key]) for HTTP Message Signatures and
   key discovery.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-hardt-aauth-protocol-02"/>
   
</reference>

<reference anchor="U4AMultiParty" target="https://u4a.ai/spec/draft-gamb-uma4agents-multiparty-00.html">
  <front>
    <title>Multi-Party Authorization for User-Managed Access (UMA) 2.0</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-gamb-uma4agents-multiparty-00"/>
</reference>
<reference anchor="U4ALAB" target="https://github.com/nickgamb/uma4agents">
  <front>
    <title>UMA for Agents: a reference implementation</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>



    </references>

</references>


<?line 503?>

<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section records the status of known implementations in the sense of
<xref target="RFC7942"/>, and is to be removed before publication as an RFC.</t>

<t>The reference implementation <xref target="U4ALAB"/> implements this document in full. Both
registration methods — declarative pull and the classic push endpoint of
<xref target="UMAFedAuthz"/> — were built against an otherwise identical stack and measured
before push was retired to a preserved branch. The deadlock of <xref target="liveness"/> and
the fail-open reading that <xref target="rs-register"/> warns against were both found by
running it.</t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This document rests on <xref target="UMAFedAuthz"/>, whose separation of resource server from
authorization server is the arrangement everything here depends on.
<xref target="RFC9728"/> supplied the public half of discovery, and the observation that a
resource may name its authorization servers is what made the split in
<xref target="discovery"/> possible.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81c65LbxpX+30+BpX74UiTnorEtUVGSsSTbcqQZrUaKN5VK
iU2gScIDAjQanDE9Nal9iH2AfZZ9lH2S/c453Y0GCcrZJFW7rlKZA6Jv5/qd
S3M0GqkmbwozSQbfmMzUujFZcr5pllWd/6KbvCqTeVXTk6qsVtXGJucLUzZ2
oPRsVpsbGUcDfpEX3bdZlZZ6hWmzWs+b0UKvZqPNSp9p/n40N5mmMaPjY5Vi
zUVVbyeJbTJlN7NVbi0WbrZrjH/54t03Kl/Xk6SpN7Y5PT5+fHyqdG30JLky
6abOm626Ntvbqs4myZ/fvz4fJjre/zCZ+4MNk9rYalOnBh8WuW1q90aW27S6
MfX2L8o2usw+6KIqsfjWWLXOMW1TpcPEVnVTm7nFp+2KPvxFyUoTlSQj/EuS
vLST5GKcfIvz8gMhwkWeXrfPqnqhS7e7SfI6L7NvdZ2ZMnn16hm/YFY6LyZJ
iVFEuN8v6O9xWq2667wYJ691YepooRc3JnrWXeiPpiyTb3TagNaqrOoVnt8Y
2vvbb559+dXZY/fx0dnJmfv41ZdfnrqPj89OT/zHLx4e+49fnT6ijyC7F4MJ
L/23CNV7a+rRa11CJvB1mhprk08x02fJ6fh4wNO09KX/Rj3nPnT28PZrejtd
bgp9vTMAj3Pz4+63btj34+Rtni73VvkeQpiX8XcZjjdJTo9PHo2OT0bHX/FD
HC03Ni/nld/8H3TZ6BpS+9aAkytTZkwJoZauF6aZJMumWdvJ0RG0x46vZUBe
5k3OrBqDn0dQoqPbxVFt0lFF1CGtGgUJH4lWgX7jZbMqiDNn58+q2nS58lHK
J2/qap4X5pDiH+RLLPeHZP9/x0RP2tMvDxD1ZdmYujTN6DmZmUPWJgUByNL0
kXpzpsc6P7Jrkx59dLQQlBaPNOfl6Pl4CeVtRpqZsa4rmIqqmAjlX2+KJn+j
62bbpT8/H/EX/0S9+H9L/xUdd02n/fu50JkjEu5X51/vyPbr88gTTRINWz83
tSlh9fPVujBQvYaJ/X9Jyl0CLPJmuZmRjT/yZv+oPb1So9Eo0TPyWGmj1Ltl
bhMYiQ2dJTE/N7AmNvm7bS2kOmmWtTHJutD4KrmFbTN4ZBJeP8G0WGVdWXyn
y0Rbu1mtae6xUm/7XGoyIyOHtzOTFroWfeEJgwfGhuBxk/VmVuR2iVdznBPj
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
mgi7qi52XVeQN4DJsfofmz/OFP1OAAA=

-->

</rfc>

