# Identity Assertion JWT Authorization Grant ID-JAG

[3 · Permit](/category/permit/)

| Identity Assertion JWT Authorization Grant |
| --- |
| Category | [Permit](/category/permit/) |
| Governed by | IETF OAuth (Web Authorization Protocol) Working Group; WG Document as of this verification, individual submission originated 2024-03 |
| Status | Active Internet-Draft, WG Document (oauth WG); Intended status: Standards Track (per document front matter); IESG state: I-D Exists |
| Phase | working group |
| Implementation | multi-implementation |
| Adoption | observed |
| Version | draft-ietf-oauth-identity-assertion-authz-grant-04 (replaces the individual draft-parecki-oauth-identity-assertion-authz-grant) (2026-05-21) |
| Specification | [https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/](https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/) |
| Found at | /.well-known/oauth-authorization-server or /.well-known/openid-configuration |
| Last checked | 2026-09-07 |

[Permit](/category/permit/) The Identity Assertion JWT Authorization Grant (ID-JAG) is an IETF OAuth Working Group Internet-Draft that lets an application already federated to a user's enterprise identity provider (IdP) via SSO obtain a scoped access token for a different, third-party resource server, without that resource server re-prompting the user for consent [[1]](#ref-1). It is marketed by its lead editor's employer, Okta, under the informal name Cross-App Access (XAA); XAA and ID-JAG name the same specification, and 'Cross App Access' / 'XAA' are recorded here as aliases rather than a separate protocol [[1]](#ref-1)[[3]](#ref-3).

## Overview
Mechanically, a client exchanges an identity assertion (an OpenID Connect ID Token or SAML assertion, or a previously issued refresh token) at the user's IdP Authorization Server for an ID-JAG, using OAuth 2.0 Token Exchange (RFC 8693); it then redeems that ID-JAG at the target Resource Authorization Server for an ordinary OAuth access token, using the JWT Profile for OAuth 2.0 Authorization Grants (RFC 7523) [[1]](#ref-1)[[3]](#ref-3). The Resource Authorization Server still applies its own local policy and can narrow or reject the request; the IdP is not granting access on the resource server's behalf, only vouching for identity and carrying the delegation.

It solves the specific 'permit' problem of API/MCP-server access for enterprise-managed applications and AI agents: it lets IT admins centrally govern which agents can reach which downstream tools through the IdP they already trust, instead of every end user individually consenting per app [[4]](#ref-4). It does not solve general internet-scale agent authorization the way AAuth, DAAP, and AAP (also in this dataset, also unadopted or expired individual OAuth-for-agents drafts) attempt to; ID-JAG assumes a pre-existing enterprise SSO/federation relationship between the two Authorization Servers and is not designed for an agent approaching an arbitrary, unfederated origin. It also relies on, rather than replaces, the RFC 8414/RFC 9728 Authorization Server and Protected Resource Metadata discovery layer already recorded in this dataset as oauth-metadata-for-agents; ID-JAG adds new metadata properties (authorization_grant_profiles_supported, identity_chaining_requested_token_types_supported) on top of that base rather than defining new well-known files.

Current state (2026-09-07): the WG document is at revision -04, last updated 2026-05-21, succeeding the individual submission draft-parecki-oauth-identity-assertion-authz-grant first published 2024-03; it is an Active Internet-Draft, not yet an RFC, with Intended RFC status left blank on the Datatracker's status table despite the document text's own Standards Track heading [[1]](#ref-1). Unlike AAuth and AAP, this draft is not expired and has active WG-track momentum.

Who implements it: Okta and Auth0 (an Okta-owned brand) both ship production guides and configuration support for both the Requesting-App and Resource-App roles [[4]](#ref-4)[[5]](#ref-5); Descope announced its own, independently built ID-JAG issuance and validation support on 2026-09-01 [[6]](#ref-6); Okta also operates xaa.dev, a public sandbox that runs a live reference flow against RFC 8693/7523/6750 [[3]](#ref-3). No standalone client-side SDK package for ID-JAG specifically was found in this pass; implementers so far build it directly into their own IdP/Authorization-Server platforms or use their existing OAuth/OIDC libraries. What is unresolved: how many production API/MCP-server operators beyond these three identity-platform vendors and their direct customers have deployed ID-JAG; whether the spec will reach RFC status before its current expiry; and how ID-JAG's enterprise-SSO-scoped delegation model will be reconciled, if at all, with the broader, non-federated agent-authorization ambitions of AAuth, DAAP, and AAP.

## Discovery and probe

No dedicated well-known file; advertised via OAuth 2.0 Authorization Server Metadata (RFC 8414) / OpenID Connect Discovery. The IdP Authorization Server lists grant_types_supported including urn:ietf:params:oauth:grant-type:token-exchange and identity_chaining_requested_token_types_supported including urn:ietf:params:oauth:token-type:id-jag; the Resource Authorization Server lists authorization_grant_profiles_supported including urn:ietf:params:oauth:grant-profile:id-jag and grant_types_supported including urn:ietf:params:oauth:grant-type:jwt-bearer · /.well-known/oauth-authorization-server or /.well-known/openid-configuration

```
GET https://{resource_authorization_server}/.well-known/oauth-authorization-server
parse:     RFC 8414 JSON metadata document; presence of "urn:ietf:params:oauth:grant-profile:id-jag" in authorization_grant_profiles_supported (and "urn:ietf:params:oauth:grant-type:jwt-bearer" in grant_types_supported, which this profile requires alongside it) indicates the Resource Authorization Server implements the Identity Assertion JWT Authorization Grant / Cross-App Access profile
on absent: The Resource Authorization Server does not advertise support for ID-JAG/XAA; an app cannot obtain access to this API via identity-assertion cross-app access without out-of-band, vendor-specific configuration. Absence is not conclusive proof of non-support, since the spec allows a server to omit the discovery signal and instead disclose acceptance only via a protected, per-client mechanism
```

Live check run by [the MCP probe](/mcp/server-card): GET /.well-known/oauth-authorization-server. draft-ietf-oauth-identity-assertion-authz-grant advertises the id-jag profile in authorization server metadata; the key alone shows the server publishes grant profiles, so check for urn:ietf:params:oauth:grant-profile:id-jag in the value.

```
{
 "path": "/.well-known/oauth-authorization-server",
 "expect": {
  "json_keys": [
   "authorization_grant_profiles_supported"
  ]
 },
 "note": "draft-ietf-oauth-identity-assertion-authz-grant advertises the id-jag profile in authorization server metadata; the key alone shows the server publishes grant profiles, so check for urn:ietf:params:oauth:grant-profile:id-jag in the value."
}
```

## History
- 2026-09-07 — created and verified against datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/ (rev -04, 2026-05-21), xaa.dev, and vendor implementation announcements from Okta, Auth0 and Descope

## Instances

No instances recorded yet.

## See also

## References

- draft-ietf-oauth-identity-assertion-authz-grant-04 (authors Aaron Parecki/Okta, Karl McGuinness/Independent, Brian Campbell/Ping Identity; last updated 2026-05-21) is an Active Internet-Draft and WG Document of the IETF OAuth Working Group, replacing the individual submission draft-parecki-oauth-identity-assertion-authz-grant (first published 2024-03). Its abstract states the mechanism lets an application use an identity assertion to obtain an access token for a third-party API via Token Exchange (RFC 8693) and the JWT Profile for OAuth 2.0 Authorization Grants (RFC 7523), and that this pattern is informally called Cross-App Access (XAA). — [https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/](https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/) (2026-05-21) VERIFIED
- Section 7/8 of the same draft defines the discovery signals: a Resource Authorization Server advertises support via authorization_grant_profiles_supported containing urn:ietf:params:oauth:grant-profile:id-jag (and MUST also list urn:ietf:params:oauth:grant-type:jwt-bearer in grant_types_supported); a client advertises support via the same property plus urn:ietf:params:oauth:grant-type:token-exchange. Appendix A.4.2.1 shows a worked example of an AI Agent discovering an enterprise IdP's OpenID Connect configuration, including identity_chaining_requested_token_types_supported containing urn:ietf:params:oauth:token-type:id-jag, before performing the ID-JAG token-exchange flow on the agent's own behalf. — [https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/](https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/) (2026-05-21) VERIFIED
- xaa.dev, an Okta Developer-authored sandbox, states that Cross App Access (XAA) implements the OAuth Identity Assertion Authorization Grant (ID-JAG) draft, and lets a visitor run a live 4-step XAA flow (Auth Code+PKCE sign-in, ID-JAG token exchange per RFC 8693, access-token issuance per RFC 7523, Bearer resource call per RFC 6750) against a pre-configured Identity Provider, Authorization Server, and Resource App with no account or setup required. — [https://xaa.dev](https://xaa.dev) (2026-09-07) VERIFIED
- Okta Developer published a paired guide series (Aug 21 and Aug 24, 2026) showing how an OIDC-federated application implements XAA as both a Requesting Application (exchange a refresh token for an ID-JAG, then the ID-JAG for an access token) and a Resource Application (validate the ID-JAG, resolve the user, issue a scoped access token), including registering apps in Okta and verifying the connection on xaa.dev; the requesting-app guide explicitly frames the flow as used by 'an agent (like one running in Claude)'. — [https://developer.okta.com/blog/2026/08/21/xaa-oidc-requesting](https://developer.okta.com/blog/2026/08/21/xaa-oidc-requesting) (2026-08-21) REPORTED
- Auth0 (an Okta-owned identity platform, operated as a distinct product/brand) published guides (Aug 6 and Aug 20, 2026) describing XAA as the protocol underlying MCP's 'Enterprise-Managed Auth' extension, and walking through configuring Auth0 as an XAA Resource App to let AI agents such as Claude or Cursor reach a customer's MCP server under IT-admin-managed authorization rather than per-user consent. — [https://auth0.com/blog/xaa-protocol-auth0-ai-agents/](https://auth0.com/blog/xaa-protocol-auth0-ai-agents/) (2026-08-06) REPORTED
- Descope announced (2026-09-01) Cross-App Access (XAA) support in its Agentic Identity Hub, stating it can both validate ID-JAG tokens issued by a customer's own identity provider and issue ID-JAG tokens for a customer's internal agents, positioning this as a third, independent implementation of the same draft alongside Okta and Auth0. — [https://martechseries.com/sales-marketing/id-mgmt/descope-unveils-cross-app-access-xaa-support-letting-enterprises-manage-ai-agent-access-with-their-existing-identity-providers/](https://martechseries.com/sales-marketing/id-mgmt/descope-unveils-cross-app-access-xaa-support-letting-enterprises-manage-ai-agent-access-with-their-existing-identity-providers/) (2026-09-01) REPORTED

[JSON](/data/protocols/identity-assertion-authz-grant.json) · [Markdown](/protocols/identity-assertion-authz-grant/index.md)
