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/identity-server/next/docs/get-started/about-this-release.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,7 @@ Key capabilities include:
32
32
- **SMS**: Sends an authentication notification to the user's registered mobile number.
33
33
- **External**: Returns an `auth_url` in the backchannel authentication response, delegating notification delivery to the client application.
34
34
- Client applications poll the token endpoint using the `auth_req_id` to retrieve access and ID tokens once the user authenticates.
35
+
- Issue [On-Behalf-Of (OBO) tokens]({{base_path}}/guides/agentic-ai/ai-agents/agent-authentication/#using-ciba-for-on-behalf-of-delegation) via CIBA by including an `actor_token` in the backchannel authentication request, enabling background AI agents to act on behalf of users.
35
36
36
37
Learn more about [configuring the CIBA grant]({{base_path}}/guides/authentication/configure-ciba-grant/).
Copy file name to clipboardExpand all lines: en/includes/guides/agentic-ai/ai-agents/agent-authentication.md
+59Lines changed: 59 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,3 +178,62 @@ As shown in the above sequence diagram, the flow proceeds as follows.
178
178
179
179
9.**Successful Access**
180
180
The request succeeds. The AI agent is now authorized to act on the user’s behalf and access the required resources.
181
+
182
+
{% if is_version == "next" or product == "asgardeo" %}
183
+
184
+
### Using CIBA for on-behalf-of delegation
185
+
186
+
For background agents that operate without direct user interaction, the [CIBA grant]({{base_path}}/guides/authentication/configure-ciba-grant/) can be combined with OBO tokens to enable delegation. Instead of redirecting the user to a browser for consent, the agent initiates a backchannel authentication request with its `actor_token`, and the user approves the delegation asynchronously on a separate device via email, SMS, or an external notification channel.
187
+
188
+

189
+
190
+
The flow proceeds as follows:
191
+
192
+
1.**Backchannel Authentication with Actor Token**
193
+
The agent sends a backchannel authentication request to the `/oauth2/ciba` endpoint, including its `actor_token` alongside standard CIBA parameters.
194
+
195
+
```bash
196
+
curl -v -k -X POST {{ api_base_path }}/oauth2/ciba \
The `actor_token` is a JWT representing the AI agent’s identity, obtained through the agent’s own [authentication flow](#ai-agent-acting-on-its-own).
206
+
207
+
2. **User Notification and Authentication**
208
+
{{ product_name }} validates the actor token and sends a notification to the user through the configured channel (email, SMS, or external). The user authenticates and provides consent on the separate device.
209
+
210
+
3. **Token Polling**
211
+
The agent polls the token endpoint using the `auth_req_id` received in the CIBA response:
212
+
213
+
```bash
214
+
curl -v -k -X POST {{ api_base_path }}/oauth2/token \
Once the user authenticates, the authorization server issues a delegated access token containing an `act` claim that identifies the agent:
223
+
224
+
```json
225
+
{
226
+
"sub": "user@example.com",
227
+
"act": {
228
+
"sub": "agent-identity@example.com"
229
+
},
230
+
...
231
+
}
232
+
```
233
+
234
+
This token allows the agent to access protected resources on behalf of the user, while resource servers can verify both the user’s identity and the agent acting on their behalf.
235
+
236
+
!!! note
237
+
To use OBO tokens with CIBA, agent identities must be enabled in {{ product_name }}, and the application must have the CIBA grant type enabled. Learn more about [registering background agents]({{base_path}}/guides/agentic-ai/ai-agents/register-and-manage-agents/#registering-an-ai-agent).
Copy file name to clipboardExpand all lines: en/includes/guides/authentication/configure-ciba-grant.md
+29Lines changed: 29 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,4 +94,33 @@ Follow the steps given below to test the CIBA flow.
94
94
95
95
Upon successful execution (and after user authentication is complete), you will receive the requested access and ID tokens.
96
96
97
+
## Use CIBA with on-behalf-of (OBO) tokens
98
+
99
+
When [agent identities]({{base_path}}/guides/agentic-ai/ai-agents/register-and-manage-agents/) are enabled, the CIBA grant supports issuing On-Behalf-Of (OBO) tokens. This allows background AI agents to act on behalf of users through the backchannel authentication flow, without requiring browser-based redirects.
100
+
101
+
To request an OBO token via CIBA, include the agent's `actor_token` parameter in the backchannel authentication request:
102
+
103
+
```bash
104
+
curl -v -k -X POST {{base_url_sample}}/oauth2/ciba \
The `actor_token` is a signed JWT representing the AI agent's identity. When the user authenticates via the notification channel and the client polls the token endpoint, the issued access token will include an `act` claim that identifies the agent acting on behalf of the user:
114
+
115
+
```json
116
+
{
117
+
"sub": "user@example.com",
118
+
"act": {
119
+
"sub": "agent-identity@example.com"
120
+
}
121
+
}
122
+
```
123
+
124
+
Learn more about [authenticating AI agents on behalf of users]({{base_path}}/guides/agentic-ai/ai-agents/agent-authentication/#using-ciba-for-on-behalf-of-delegation).
125
+
97
126
Refer to the [CIBA grant reference]({{base_path}}/references/grant-types/#ciba-grant) for more information on how the complete flow works.
To issue an [on-behalf-of (OBO) token]({{base_path}}/guides/agentic-ai/ai-agents/agent-authentication/#using-ciba-for-on-behalf-of-delegation) for agent delegation, include the `actor_token` parameter:
0 commit comments