MENU

OAuth Client ID and Application Registration

Applications need a client ID before they can start a CMS-Tool OAuth authorization request.

CMS-Tool supports two ways to identify an OAuth client:

  1. Client ID Metadata Documents (CIMD) — recommended for applications that can publish a stable public HTTPS metadata document.
  2. Manual registration - Contact Support — suitable for applications that cannot publish a CIMD document, including many development or private integrations. Contact support with information about your application, and your redirect URL.

OAuth Authorization Server

/api/auth

Authorization endpoint:

/api/auth/authorize

Token endpoint:

/api/auth/token

Authorization-server metadata:

/api/auth/.well-known/oauth-authorization-server

CMS-Tool advertises:

"client_id_metadata_document_supported": true

Option 1 — Client ID Metadata Document (Recommended)

If your application controls a stable public HTTPS website, publish a small JSON document describing the OAuth client. The HTTPS URL of that document becomes the application's client_id.

For example, publish:

https://example.com/oauth/client-metadata.json

with content similar to:

{
  "client_id": "https://example.com/oauth/client-metadata.json",
  "client_name": "Example CMS-Tool Integration",
  "client_uri": "https://example.com/",
  "redirect_uris": [
    "https://example.com/oauth/callback"
  ],
  "token_endpoint_auth_method": "none"
}

The client_id inside the document must exactly equal the metadata-document URL.

CIMD URL Requirements

  • The URL must use HTTPS.
  • The URL must be publicly reachable from the CMS-Tool authorization server.
  • The URL must use the normal HTTPS port.
  • The URL must contain a non-root path, such as /oauth/client-metadata.json.
  • The URL must not contain a username, password, query string or fragment.
  • The URL should be stable and should not change between authorization requests.
  • The server must return a JSON document without redirecting to another URL.

Redirect URIs

The document must contain at least one permitted redirect URI:

"redirect_uris": [
  "https://example.com/oauth/callback"
]

You may list more than one redirect URI where required:

"redirect_uris": [
  "https://example.com/oauth/callback",
  "https://app.example.com/oauth/callback"
]

CMS-Tool uses exact redirect-URI matching. The redirect_uri used in the authorization request must exactly match one of the values in the metadata document.

Using the CIMD URL

Use the metadata-document URL directly as the client ID:

client_id=https://example.com/oauth/client-metadata.json

For example:

GET /api/auth/authorize
    ?client_id=https%3A%2F%2Fexample.com%2Foauth%2Fclient-metadata.json
    &redirect_uri=https%3A%2F%2Fexample.com%2Foauth%2Fcallback
    &response_type=code
    &code_challenge=YOUR_PKCE_CODE_CHALLENGE
    &code_challenge_method=S256
    &resource=https%3A%2F%2Fapi.cms-tool.net
    &state=YOUR_STATE

No client secret is required. CMS-Tool uses Authorization Code + PKCE using S256.

Option 2 — Register an Application with CMS-Tool Support

If your application cannot publish a stable public CIMD document, contact CMS-Tool support and ask for the application to be registered.

Provide:

  • Application name.
  • A short description of the integration.
  • Developer or organisation name.
  • An application/support website where available.
  • Every redirect URI the application needs to use.

For example:

Application name: Example Inventory Integration
Application website: https://example.com/
Redirect URI: https://example.com/oauth/callback

CMS-Tool support will register the application and provide a client ID. Use that client ID exactly as supplied.

If a registered application later needs another redirect URI, contact support before using it. Unregistered redirect URIs are rejected.

Which Method Should I Use?

Use CIMD when your application has a stable public HTTPS site and can host a small metadata document.

Use manual registration when the integration is private, in development, uses a local callback, cannot publish public metadata, or requires CMS-Tool support to manage the client identity.

Security Notes

  • Do not use another application's client ID.
  • Do not put access tokens or refresh tokens in the CIMD document.
  • Do not publish a client secret. CMS-Tool's current public-client flow uses PKCE instead.
  • Keep redirect URIs as narrow and specific as possible.
  • Use the same client ID when exchanging an authorization code and when refreshing a token.