client

Manage OAuth2 clients within a realm.

ferris-ctl client <subcommand>

Every subcommand accepts --realm <name> to target a specific realm; otherwise the context default is used.

client list

List clients in a realm.

ferris-ctl client list [--realm <realm>]

Table columns: CLIENT_ID, ID, NAME.

client get

Show a client’s details.

ferris-ctl client get <client_id> [--realm <realm>]
ArgumentRequiredDescription
<client_id>yesClient identifier
--realmnoRealm (defaults to context realm)

Returns id, client_id, name, realm, enabled, protocol, public_client, service_accounts_enabled, and direct_access_grants_enabled.

client create

Create a client.

ferris-ctl client create <name> [flags]
ArgumentDefaultDescription
<name>Client name (required)
--client-id<name>Client identifier
--realmcontext realmRealm
--typepublicClient type: public, confidential, or system
--enabledfalseEnable the client
--protocolopenid-connectProtocol used by the client
--direct-access-grantsfalseEnable direct access grants

The client type controls a few defaults:

Typepublic_clientService account
publictruedisabled
confidentialfalseenabled
systemfalseenabled
ferris-ctl client create backend \
  --type confidential \
  --enabled \
  --direct-access-grants

client delete

Delete a client. Prompts for confirmation unless --force is passed.

ferris-ctl client delete <client_id> [--realm <realm>] [--force]
ArgumentRequiredDescription
<client_id>yesClient identifier
--realmnoRealm (defaults to context realm)
--force / -fnoSkip the confirmation prompt (required in non-interactive shells)