Skip to content

OKTA-1232140 XAA metadata discovery - #6353

Draft
vanngo-okta wants to merge 4 commits into
masterfrom
vn-okta-1232140-xaa-metadata-discovery
Draft

OKTA-1232140 XAA metadata discovery#6353
vanngo-okta wants to merge 4 commits into
masterfrom
vn-okta-1232140-xaa-metadata-discovery

Conversation

@vanngo-okta

@vanngo-okta vanngo-okta commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Description:

  • What's changed? XAA discovery metadata requirements
  • Is this PR related to a Monolith release?

Resolves:

Vercel Preview Link:

Preview

@okta-prod-github-app

This comment was marked as outdated.

@okta-prod-github-app

This comment was marked as outdated.

@okta-prod-github-app

Copy link
Copy Markdown

Acrolinx score

A minimum Acrolinx Score of 80 is required. The total score is an average of the subscores.
Select Total score to review the Acrolinx scorecard for your article. Try to increase your individual scores, for example: Correctness. Your content will be clearer and more consistent.

Article Total score
Required:80
Word and phrases
(Brand, terms)
Preferred: 80
Correctness
(Spelling, grammar)
Preferred: 80
Clarity
(Readability)
Preferred: 80
Inclusive language
(+ accesibility)
Preferred: 80
packages/@okta/vuepress-site/docs/guides/index.md 87 67 80 78
packages/@okta/vuepress-site/docs/guides/xaa-resource-metadata/index.md 100 100 100 100
packages/@okta/vuepress-site/docs/guides/xaa-resource-metadata/main/index.md 93 100 100 62

Successfully checked 3 of 3 documents.
See summary in Content Analysis Dashboard

Reopen the pull request or push new changes to check again.

Depending on the Acrolinx server configuration, the
links expire after some time and you must have a login for the
Acrolinx server to access them again.


To establish a Cross App Access (XAA) connection to your resource app and its authorization server, requesting clients need to understand how your app handles token exchanges and authorization.

When you build an XAA resource app, provide discovery metadata through a standard, well-known URI so that requesting apps can determine your OAuth 2.0 protected resources information. See [RFC 9782: OAuth 2.0 Protected Resource Metadata](https://datatracker.ietf.org/doc/html/rfc9728).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When you build an XAA resource app, provide discovery metadata through a standard, well-known URI so that requesting apps can determine your OAuth 2.0 protected resources information. See [RFC 9782: OAuth 2.0 Protected Resource Metadata](https://datatracker.ietf.org/doc/html/rfc9728).
When you build an XAA resource app, provide discovery metadata through a standard, well-known URI so that requesting apps can determine your OAuth 2.0 protected resources information. See [RFC 9728: OAuth 2.0 Protected Resource Metadata](https://datatracker.ietf.org/doc/html/rfc9728).


| Property | Type | Description |
| --- | --- | --- |
| `resource` | String | The canonical URI identifying your protected resource server. This value must match the `aud` (audience) claim in incoming ID-JAG token. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This value must match the aud (audience) claim in incoming ID-JAG token.

The aud claim in the ID-JAG is the authorization server identifier, not resource server identifier.


### Required properties

Your protected resource metadata response must return a JSON object conforming to [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728) with the following properties:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Your protected resource metadata response must return a JSON object conforming to [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728) with the following properties:
Your protected resource metadata response must return a JSON object conforming to [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728) with at least the following properties:

{
"resource": "https://api.example.com",
"authorization_servers": [
"https://example.okta.com/oauth2/austest123456"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"https://example.okta.com/oauth2/austest123456"
"https://auth.example.com"

Let's avoid using an Okta authorization server here because the main audience for this will have their own authorization server.


Now that your discovery metadata URIs are configured and verified:

* [Validate ID-JAG tokens]: Extend your authorization server to validate the ID-JAG token and resolve the user’s identity before issuing scoped access tokens.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these supposed to be links?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants