On this page
Operator manual

app:auth:setup-clients

Create the first-party OAuth client that password and passkey login issue tokens to. Run this during initial setup to enable login.

Quick start

The Make examples below target the checkout's development preview. For an installed instance, use the dc function from Getting started and replace make exec cmd="php bin/console …" with dc exec app php bin/console ….

make exec cmd="php bin/console app:auth:setup-clients"

Details

The command creates one first-party OAuth2 client, Bånder SPA. The web frontend and the Electron desktop app both log in through it. The client has a fixed, deterministic public ID, so it resolves correctly even after a full database reset:

Client Public ID
Bånder SPA baander_dev_spa_00001

This ID is already set in .env.example as AUTH_SPA_CLIENT_ID. Password and passkey login issue every token pair to the client named by AUTH_SPA_CLIENT_ID. If that client row is missing or revoked, login fails with a server error.

The command is idempotent: it looks up the client by its fixed public ID and creates it only if it is missing. Run it freely, including after app:dev:setup --fresh or any database wipe.

Exit codes

Code Meaning
0 Client ready (created or already present)
1 Something went wrong — check the error message

Tips

  • Safe to run repeatedly. An existing client is left untouched.
  • The public ID is an identifier, not a secret.
  • The command creates no other OAuth clients. Register device, public and confidential clients with app:oauth:client:create.
  • The app:oauth:client:* commands list the first-party client but do not rotate or revoke it.