Hi,

My Canadian 0.02$

From all the past and current discussions I had on the actor claim from RFC 
8693 / Token Exchange, all the examples are not normative even if not 
explicitly stated as such. Therefore, the structure of the actor claim needs to 
be profiled to suit your needs, a lot of discussion on Agentic AI are in fact 
requiring this thinking to happen.

Why do I think the examples are not normative?

Section 4.1 states that:

  *   The act (actor) claim provides a means within a JWT to express that 
delegation has occurred and identify the acting party to whom authority has 
been delegated.
     *   A means is not a definite, normalized, nor rigid structure
  *   The claims that make up the act claim identify and possibly provide 
additional information about the actor. For example, the combination of the two 
claims iss and sub might be necessary to uniquely identify an actor.
     *   Those two sentences express that additional information can exist and 
that `iss` might be another good one on top of sub. `iss` is not present in any 
of the examples.
  *   A chain of delegation can be expressed by nesting one act claim within 
another.
     *   This is not a MUST as per RFC keywords. Therefore, this is not 
normative. Therefore, it is up to you to decide (maybe profile) what you want.

What could be another valid example in your case?


Original Access Token (subject token received from initial token exchange):

{

  "sub": "37371c22-dc65-47e8-8714-a8d4b54d9fda",

  "client_id": "client-A",

  "act": {

    "sub": "6982ffbf-1ab2-460d-a49f-58a62b03fd80"

  }

}


After Subsequent Token Exchange (the same actor exchanges the token again):

{

  "sub": "37371c22-dc65-47e8-8714-a8d4b54d9fda",

  "client_id": "client-B",

  "act": {

    "sub": "6982ffbf-1ab2-460d-a49f-58a62b03fd80",

    "act": {

      "sub": "6982ffbf-1ab2-460d-a49f-58a62b03fd80",

      "client_id": "client-A"

    }

  }

}

Here adding client_id in the nested actor structure provides an information on 
the path of the nested delegation and the fact that an actor is a sub through a 
client.

What to do from here?

As you seek interoperability with other systems / trust domains, submitting a 
formal profile for Token Exchange would be the way to go. Now, as this actor 
claim represents a traceability log I am not sure a complete generic 
convergence can be met on this. I foresee profiling for use cases and domains, 
but generally saying things like “don’t duplicate the act structure if 
unchanged” or other guidance of this type sounds like too much overstepping on 
implementer’s threat modelling and design for mitigations.

Jeff


Jean-François “Jeff” Lombardo | Amazon Web Services

Architecte Principal de Solutions, Spécialiste de Sécurité
Principal Solution Architect, Security Specialist
Montréal, Canada

Commentaires à propos de notre échange? Exprimez-vous 
ici<https://urldefense.com/v3/__https:/feedback.aws.amazon.com/?ea=jeffsec&fn=Jean*20Francois&ln=Lombardo__;JQ!!Pe07N362zA!0k9CkAV8Djpw_8EfIAKrbhP3TQrJr0oMnznlUgBJ3V3NoEk6hihx7dNHnQuejn6SSH2CP8Iow3G-tTzppHeg$>.

Thoughts on our interaction? Provide feedback 
here<https://urldefense.com/v3/__https:/feedback.aws.amazon.com/?ea=jeffsec&fn=Jean*20Francois&ln=Lombardo__;JQ!!Pe07N362zA!0k9CkAV8Djpw_8EfIAKrbhP3TQrJr0oMnznlUgBJ3V3NoEk6hihx7dNHnQuejn6SSH2CP8Iow3G-tTzppHeg$>.

From: Thilakasiri H.A.B.D <[email protected]>
Sent: January 15, 2026 10:37 PM
To: [email protected]
Subject: [EXT] [OAUTH-WG] Clarification on Nested act Claim Semantics in RFC 
8693 Token Exchange


CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you can confirm the sender and know the 
content is safe.


AVERTISSEMENT: Ce courrier électronique provient d’un expéditeur externe. Ne 
cliquez sur aucun lien et n’ouvrez aucune pièce jointe si vous ne pouvez pas 
confirmer l’identité de l’expéditeur et si vous n’êtes pas certain que le 
contenu ne présente aucun risque.


Hi all,


I am writing to seek clarification regarding the semantics and expected 
behavior of the act (actor) claim in OAuth 2.0 Token Exchange as defined in RFC 
8693, particularly in relation to nested delegation chains.


I am implementing OAuth 2.0 Token Exchange (RFC 8693) and have observed that 
the act claim becomes nested when the same actor performs multiple sequential 
token exchanges. In our scenario, an actor receives an exchanged token and then 
the same actor exchanges that same token again (for example, to change the 
audience or downscope for a downstream service). This results in the same actor 
identifier appearing multiple times within the nested act claim structure.


Observed Behavior


Original Access Token (subject token received from initial token exchange):

{

  "sub": "37371c22-dc65-47e8-8714-a8d4b54d9fda",

  "client_id": "client-A",

  "act": {

    "sub": "6982ffbf-1ab2-460d-a49f-58a62b03fd80"

  }

}


After Subsequent Token Exchange (the same actor exchanges the token again):

{

  "sub": "37371c22-dc65-47e8-8714-a8d4b54d9fda",

  "client_id": "client-B",

  "act": {

    "sub": "6982ffbf-1ab2-460d-a49f-58a62b03fd80",

    "act": {

      "sub": "6982ffbf-1ab2-460d-a49f-58a62b03fd80"

    }

  }

}


This results in the same actor identifier appearing multiple times in the 
nested act claim, because each token exchange adds a new layer to the act 
structure, even though it's the same actor performing the exchanges.


Section 4.1 of RFC 8693 states that "a chain of delegation can be expressed by 
nesting one act claim within another," but does not explicitly address:

(1) repeated actors in the delegation chain

(2) whether duplicate actors should be preserved or consolidated. Is the intent 
that authorization servers always preserve the full delegation history, even if 
redundant and the same actor appears multiple times?


I would like to ensure that my implementation is fully compliant with RFC 8693, 
interoperable with other OAuth implementations, and aligned with security best 
practices. Any clarification, guidance, or references to existing 
implementation notes or discussions would be greatly appreciated. If this area 
is considered underspecified and could benefit from further clarification in 
future revisions, I would be happy to contribute to that discussion.


Thank you for your time and for your continued work on OAuth standards.


Kind regards,

Binula

[email protected]<mailto:[email protected]>
_______________________________________________
OAuth mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to