Skip to content
TDACorpIDENTITYSign in

Developer apps

What the Developer apps tab lets you do today, which is register simple apps of your own that sign people in. This feature is In development.

On this page

Status

In development. Registering apps from your account is a work in progress. It is behind the self_service_oauth_clients feature flag, which defaults OFF, and its rules may change.

The Developer apps tab of Apps and access is for people who build an application and want it to sign people in with TDACorp Identity. You register the app here, get a client ID and manage it. People who only use apps can ignore this tab.

This page describes only what you see in the account. To build the application itself, see Build with identity.

When the tab is not available#

While the flag is off, the tab shows App registration is not turned on and says self-service registration is off, so there is nothing to register. Nothing else on the page works in that case.

When it is available, registering an app also needs a personal workspace on your account (your own, which is created when you first sign in to an application that needs one; an app you register stays with it if you later upgrade it to an organization). Without one the page says Registering an app needs a personal workspace, and this account has none. See Memberships for what a personal workspace is.

What an app of yours can be#

The page opens with a notice titled What an app of yours can be. In short, an app you register here is a public client:

  • It holds no client secret, so there is no secret to rotate.
  • Sign-in uses PKCE.
  • DPoP is required, so tokens are bound to the app that asked for them.
  • Only the openid, profile and email scopes are available.
  • Redirect URIs must be exact https addresses, with no wildcard.

The notice also states how many apps you can register, suspended ones included, and how many redirect URIs one app can have (both are platform settings that can change). An app with a backend that must authenticate with a key is a different kind of client. It is not registered here.

Register an app#

  1. Open Apps and access, then Developer apps, and select Register an app. The button is missing if you have no personal workspace or have reached your limit of apps.
  2. Enter an App name, up to 100 characters. People see it when your app asks to sign them in.
  3. Choose a Type: Single-page app (runs in the browser) or Native app (runs on a device). The type cannot be changed later.
  4. Enter the Redirect URIs, one exact https address per line.
  5. Tick the Scopes your app needs. openid starts ticked.
  6. Select Register app.

You land on the new app's page. Registering needs a second factor you used in the last 30 minutes, like the other sensitive actions on your account. A dialog titled Confirm it is you opens if you need to confirm.

The form tells you if something is missing: Enter a name., Add at least one redirect URI. or Each redirect URI must be an exact https address with no wildcard.

Your apps list#

The list is titled Your apps. Each row shows the App name, its Status, its Type, when it was Registered, the number of Redirect URIs and its Client ID. A footer counts how many of your allowed apps you have used. An empty list says No apps yet and that you can register one to get a client ID.

Select a row to open the app.

One app's page#

The page shows the app's Client ID in a field you can copy, its type, and whether DPoP is Required. Under Secrets it shows Client secret: None, because the app is a public client.

Details is a form to change the name, the redirect URIs and the scopes, with Save app. The type is not editable.

Status shows the app's state: Development, Active or Suspended. The button beside it is Suspend, or Enable for a suspended app. The suspend dialog is titled Suspend this app? and says people cannot sign in with it until you enable it again. A suspended app still counts against your limit.

If you open an app that does not exist or is not yours, the page says App not found.

Verified against commit a393e09