Add Third-Party Applications documentation#870
Conversation
New pages: - Third-Party Applications overview - Security Considerations - Configure Third-Party Applications - Troubleshooting - Permissive Mode - User Consent (moved to Applications level) - First-Party and Third-Party Applications (rewritten, promoted) Updated pages: - docs.json navigation - Confidential/Public, Client Grants, API Access Policies - Grant Types, DCR, Application Settings - DB Connections, App Connections, Promote Connections Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add the deprecation migration guide as a new article under deprecations-and-migrations, with a summary entry in the overview page and navigation in docs.json. Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Whilst we're here - this page is already very long; could we use separate tabs for the Configure API application access policy section above for Dashboard vs API? Currently I feel the 3P content gets lost at the bottom.
There was a problem hiding this comment.
In Grant Types section: Available grant types are based on the application type. -> Available grant types are based on the application type and application ownership.
There was a problem hiding this comment.
Application Properties section - consider if we should explain app ownership briefly and link out to relevant page (since we show app ownesrhip in this section in the dashboard)
There was a problem hiding this comment.
We are adding new configuration around redirection handling that will need to be added here
|
|
||
| To configure baseline permissions for all third-party applications, set up [default permissions for third-party applications](/docs/get-started/applications/application-access-to-apis-client-grants#default-permissions-for-third-party-applications). | ||
|
|
||
| <Tabs><Tab title="Auth0 Dashboard"> |
There was a problem hiding this comment.
We're missing closing tags for Tabs and Tab here (looks like this renders incorrectly currently)
| | **Require Client Grant** | Requires client grant | Requires client grant | | ||
| | **Deny** | Access denied | Access denied | | ||
|
|
||
| To configure baseline permissions for all third-party applications, set up [default permissions for third-party applications](/docs/get-started/applications/application-access-to-apis-client-grants#default-permissions-for-third-party-applications). |
There was a problem hiding this comment.
I think a better link is this one: /docs/get-started/applications/third-party-applications/configure-third-party-applications#configure-api-access-policies (the current linked page just links here in the end to explain how to configure).
But it seems we are somewhat duplicating the docs here bleow, with just the UI docs. Do we want to include the API docs below as well, or just link out to this page only?
(I think having it in both places is indeed useful, as this page is actually the first place I would expect to find this info)
| - Authentication errors display an error page instead of redirecting to the application. | ||
| - Email templates (email verification, password reset, user blocked) will not have access to `{{ application.callback_domain }}`, so a fallback must be configured alongside any use of `{{ application.callback_domain }}`. For example: | ||
|
|
||
| ```liquid wrap lines |
There was a problem hiding this comment.
Correct syntax looks like this:
{% if application.callback_domain == '' %}https://YOUR_FALLBACK_DOMAIN{% endif %}{% if application.callback_domain != '' %}{{ application.callback_domain }}/result-page{% endif %}| ### `invalid_request` for OIDC scopes | ||
|
|
||
| **Cause**: OIDC scopes (`openid`, `profile`, `email`) are not available for third-party applications in this release. | ||
|
|
||
| **Solution**: Remove OIDC scopes from your authorization request and use API scopes only. OIDC support for third-party applications is planned for a future release. |
There was a problem hiding this comment.
We won't error, we will just not return OIDC response:
| ### `invalid_request` for OIDC scopes | |
| **Cause**: OIDC scopes (`openid`, `profile`, `email`) are not available for third-party applications in this release. | |
| **Solution**: Remove OIDC scopes from your authorization request and use API scopes only. OIDC support for third-party applications is planned for a future release. | |
| ### No ID token returned from `/oauth/token` endpoin. | |
| **Cause**: OIDC is not available for third-party applications in this release. OIDC scopes (`openid`, `profile`, `email`) are not returned in access tokens | |
| **Solution**: Remove OIDC scopes from your authorization request and use API scopes only. OIDC support for third-party applications is planned for a future release. |
|
|
||
| **Solution**: Update your email templates with a Liquid conditional that provides a fallback for third-party applications: | ||
|
|
||
| ```liquid wrap lines |
There was a problem hiding this comment.
Correct syntax looks like this:
{% if application.callback_domain == '' %}https://YOUR_FALLBACK_DOMAIN{% endif %}{% if application.callback_domain != '' %}{{ application.callback_domain }}/result-page{% endif %}|
|
||
| Third-party applications in permissive mode behave similarly to first-party applications in terms of available features: | ||
|
|
||
| - All grant types are available (authorization code, implicit, client credentials, password, device code) |
There was a problem hiding this comment.
Password is not supported for permissive 3P apps
Co-Authored-By: Claude <noreply@anthropic.com>
|
Semgrep found 2 Risk: Affected versions of axios are vulnerable to Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') / Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') / Server-Side Request Forgery (SSRF). Axios can be used as a gadget for header injection: if another dependency enables prototype pollution, polluted properties can be merged into Axios request headers and written without CRLF sanitization, allowing request smuggling/SSRF that can reach internal services such as AWS IMDSv2 and potentially lead to credential theft or broader compromise. Fix: Upgrade this library to at least version 1.15.0 at docs-v2/universal-components/pnpm-lock.yaml:2474. Reference(s): GHSA-fvcv-3m26-pcqx, CVE-2026-40175 Semgrep found 2 Risk: Affected versions of axios are vulnerable to Server-Side Request Forgery (SSRF) / Unintended Proxy or Intermediary ('Confused Deputy'). Axios does not normalize hostnames before applying Manual Review Advice: A vulnerability from this advisory is reachable if you have Fix: Upgrade this library to at least version 1.15.0 at docs-v2/universal-components/pnpm-lock.yaml:2474. Reference(s): GHSA-3p68-rc4w-qgx5, CVE-2025-62718 |
Description
Adds documentation for Third-Party Applications EA R1, launching with the Auth for MCP GA announcement (April 30, 2026).
7 new pages:
/authorizeparameter validation10 existing pages updated:
docs.json— New Third-Party Applications group, 1P/3P promoted, Confidential/Public trimmed, User Consent at Applications levelconfidential-and-public-applications— Orthogonality callout, updated linksapplication-access-to-apis-client-grants— New "Default permissions for third-party applications" sectionapi-access-policies-for-applications— 1P vs 3P access policy table, default permissions via Dashboardapplication-grant-types— Third-party restrictions tabledynamic-client-registration— "DCR and third-party applications" sectionapplication-settings— Restricted properties calloutset-up-database-connections/update-application-connections— Domain-level connection calloutspromote-connections-to-domain-level— Rewritten intro for 3P contextPlaceholders for screenshots (5), code snippets (4) marked with
[SCREENSHOT PLACEHOLDER]and[CODE PLACEHOLDER].Redirects needed (not configured in this PR): old paths under
confidential-and-public-applications/for removed pages (enable-third-party-applications, view-application-ownership, update-application-ownership, old user-consent URL, oldfirst-party-and-third-party URL).
References
Testing
cd main && mintlify dev(requires Node.js v20)[SCREENSHOT PLACEHOLDER]and[CODE PLACEHOLDER]Checklist
CONTRIBUTING.md.