Action Required: Enhanced Security Controls for Third-Party Applications

We’re using Auth0 as the authorization server for an MCP server that ChatGPT connects to via Dynamic Client Registration (/oidc/register), authorization code + PKCE.

Our understanding of the enhanced security / third-party apps migration:

  1. Strict / enhanced mode does not currently support OIDC scopes (openid, profile, email) or ID tokens.
  2. ChatGPT’s Apps SDK auth flow requests OIDC scopes when they’re advertised.

So am I correct that we should keep dynamic_client_registration_security_mode: "permissive" until OIDC is supported in strict mode?

Hi @tomgersic

Welcome to the Auth0 Community!

I understand that you are looking to connect an MCP server that ChatGPT via Dynamic Client Registration (/oidc/register), authorization code + PKCE.

Observations

You are correct, if the ChatGPT Apps SDK relies on OIDC scopes (openid, profile, email) or ID tokens, you must keep dynamic_client_registration_security_mode set to "permissive" for now.

Auth0’s documentation confirms that strict mode (enhanced security controls) does not currently process OIDC scopes or return ID tokens for dynamically registered third-party applications. The token endpoint in strict mode will only return an API-scoped access token.

Official recommendation

While Auth0 notes that some MCP clients (like Claude Code and VS Code) are compatible with strict mode because they don’t depend on ID tokens, the official recommendation for applications that still require OIDC functionality is to use permissive mode to preserve pre-existing behavior. OIDC support for strict mode third-party applications is planned for a future release, which will allow you to migrate safely once it is available.

Hope this information has provide some clarity!

Have a great one,
Gerald