You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/includes/guides/agentic-ai/ai-agents/agent-authentication.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -242,7 +242,7 @@ The flow proceeds as follows:
242
242
243
243
### Using token exchange for on-behalf-of delegation
244
244
245
-
When an agent obtains a token issued forthe user, the [token exchange grant]({{base_path}}/guides/authentication/configure-token-exchange/) can add the agent as the acting party without any new user interaction. The agent presents the token it obtained through its own authentication flow as an `actor_token` alongside the user's token, and {{ product_name }} issues a token that carries the userin`sub` and the agent in the `act` claim. Successive exchanges nest the `act` claim, so a chain of agents remains traceable in a single token.
245
+
When an agent receives a token issued forthe user, the [token exchange grant]({{base_path}}/guides/authentication/configure-token-exchange/) can add the agent as the acting party without any new user interaction. The agent presents its own `actor_token` alongside the user's token, and {{ product_name }} issues a token that carries the userin`sub` and the agent in the `act` claim. Successive exchanges nest the `act` claim, so a chain of agents remains traceable in a single token.
246
246
247
247
For instructions, see [Token exchange for AI agents]({{base_path}}/guides/agentic-ai/ai-agents/token-exchange-for-agents/).
Copy file name to clipboardExpand all lines: en/includes/guides/agentic-ai/ai-agents/token-exchange-for-agents.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,9 @@
2
2
# Token Exchange for AI Agents
3
3
<!-- vale on -->
4
4
5
-
This guide walks you through how an AI agent can act on behalf of a user by exchanging a token that the user already holds, using the [token exchange grant]({{base_path}}/guides/authentication/configure-token-exchange/), as defined in the [OAuth 2.0 Token Exchange specification (RFC 8693)](https://datatracker.ietf.org/doc/html/rfc8693). The issued token identifies the user in the `sub` claim and records the agent as the acting party in the `act` claim, so resource servers can see both identities in a single token.
5
+
This guide walks you through how an AI agent can act on behalf of a user by exchanging a token that the user already holds. The flow uses the [token exchange grant]({{base_path}}/guides/authentication/configure-token-exchange/), as defined in the [OAuth 2.0 Token Exchange specification (RFC 8693)](https://datatracker.ietf.org/doc/html/rfc8693).
6
+
7
+
The issued token identifies the user in the `sub` claim and records the agent as the acting party in the `act` claim. A resource server can then see both identities in a single token.
6
8
7
9
!!! note "Agent friendly delegation mechanism"
8
10
- This flow does **not use redirects** and needs **no new user interaction**.
@@ -93,15 +95,15 @@ The request contains the following delegation parameters:
93
95
<th>Description</th>
94
96
</tr>
95
97
<tr>
96
-
<td>subject_token</td>
98
+
<td><code>subject_token</code></td>
97
99
<td>A JWT token that identifies the user on whose behalf the agent acts.</td>
98
100
</tr>
99
101
<tr>
100
-
<td>actor_token</td>
102
+
<td><code>actor_token</code></td>
101
103
<td>A JWT token issued by {{ product_name }} for the agent.</td>
102
104
</tr>
103
105
<tr>
104
-
<td>actor_token_type</td>
106
+
<td><code>actor_token_type</code></td>
105
107
<td>Should be <code>urn:ietf:params:oauth:token-type:access_token</code> or
@@ -140,6 +142,6 @@ When an agent hands a task to another agent, the second agent exchanges the dele
140
142
}
141
143
```
142
144
143
-
The most recent agent appears at the top level of the chain. {{ product_name }} carries the existing chain forward unchanged when the request presents no actor token, so an agent that re-exchanges a token it received can't alter the chain behind it.
145
+
The most recent agent appears at the top level of the chain. When the request presents no actor token, {{ product_name }} carries the existing chain forward unchanged. An agent that re-exchanges a token it received can't alter the chain behind it.
144
146
145
147
To learn more about the delegation model and the `act` claim, see [Delegation]({{base_path}}/guides/authorization/delegation/).
Copy file name to clipboardExpand all lines: en/includes/guides/authentication/configure-token-exchange.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,9 @@ To register a trusted token issuer:
119
119
120
120
You can use the following properties to customize how token exchange occurs for identities with local user accounts.
121
121
122
+
<!-- vale WSO2-IAM.TooWordy = NO -->
122
123
##### Prioritize local account attributes
124
+
<!-- vale WSO2-IAM.TooWordy = YES -->
123
125
124
126
After enabling this configuration, {{ product_name }} includes the local user profile information in the exchanged token if the federated identity has a linked local user account. Otherwise, {{ product_name }} returns the profile information received directly from the federated identity.
125
127
@@ -136,7 +138,7 @@ To prioritize linked local account attributes:
136
138
137
139
##### Implicit account linking
138
140
139
-
You can use implicit account linking capability in the registered trusted token issuer to automatically create an account link between a local user account in {{ product_name }} and a federated identity during token exchange.
141
+
You can use implicit account linking in the registered trusted token issuer to create an account link automatically. The link connects a local user account in {{ product_name }} with a federated identity during token exchange.
140
142
141
143
You can configure lookup attributes to search for a matching local user account. If the system finds a matching account, {{ product_name }} automatically links the local user account to the federated identity.
142
144
@@ -183,7 +185,7 @@ You can configure implicit account linking using the
183
185
184
186
Follow the steps given below.
185
187
186
-
1.Obtain the JWT token received from the third-party token issuer.
188
+
1.Get the JWT token received from the third-party token issuer.
187
189
2. Execute the following cURL command to exchange the federated token for an {{ product_name }} token.
188
190
189
191
```bash
@@ -240,7 +242,7 @@ To configure the subject token application:
240
242
241
243
Follow the steps given below.
242
244
243
-
1. Obtain a JWT access token for the subject token application.
245
+
1. Get a JWT access token for the subject token application.
244
246
2. Execute the following cURL command to exchange the token for a new {{ product_name }} token.
Copy file name to clipboardExpand all lines: en/includes/guides/authorization/delegation.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Delegation
2
2
3
-
Delegation lets an application obtain a token for a user while preserving the identity of the party that acts on the user's behalf. {{ product_name }} implements delegation with the [token exchange grant]({{base_path}}/guides/authentication/configure-token-exchange/), as defined in the [OAuth 2.0 Token Exchange specification (RFC 8693)](https://datatracker.ietf.org/doc/html/rfc8693){:target="_blank"}.
3
+
Delegation lets an application get a token for a user while preserving the identity of the party that acts on the user's behalf. {{ product_name }} implements delegation with the [token exchange grant]({{base_path}}/guides/authentication/configure-token-exchange/), as defined in the [OAuth 2.0 Token Exchange specification (RFC 8693)](https://datatracker.ietf.org/doc/html/rfc8693){:target="_blank"}.
4
4
5
5
The exchanged token identifies the user in the `sub` claim and the acting party in the `act` claim. When a delegated token is exchanged again, {{ product_name }} nests the previous `act` claim under the new one, so a single token carries the full delegation chain.
6
6
@@ -10,9 +10,9 @@ Before you request a delegated token:
10
10
11
11
- Enable the token exchange grant for the application that requests the token, as described in [Enable token exchange in your app]({{base_path}}/guides/authentication/configure-token-exchange/#enable-token-exchange-in-your-app).
12
12
13
-
-Obtain the subject token, as described in [Token exchange flows]({{base_path}}/guides/authentication/configure-token-exchange/#token-exchange-flows). The subject token identifies the user on whose behalf the new token is issued.
13
+
-Get the subject token, as described in [Token exchange flows]({{base_path}}/guides/authentication/configure-token-exchange/#token-exchange-flows). The subject token identifies the user on whose behalf the new token is issued.
14
14
15
-
-Obtain a JWT token for the acting user from {{ product_name }}. This is the actor token.
15
+
-Get a JWT token for the acting user from {{ product_name }}. This is the actor token.
16
16
17
17
To request a delegated token, send both tokens to the token endpoint.
18
18
@@ -35,11 +35,11 @@ The request contains the following delegation parameters:
35
35
36
36
<table>
37
37
<tr>
38
-
<td>actor_token</td>
38
+
<td><code>actor_token</code></td>
39
39
<td>A JWT token issued by {{ product_name }} for the acting user.</td>
40
40
</tr>
41
41
<tr>
42
-
<td>actor_token_type</td>
42
+
<td><code>actor_token_type</code></td>
43
43
<td>Should be <code>urn:ietf:params:oauth:token-type:access_token</code> or
0 commit comments