Authentication and Root User
Overview
Fireback's workspaces module includes a built-in authentication system. Whether you use this system or integrate external user management services like Salesforce or Keycloak, authentication is required for both HTTP and CLI access.
For projects or microservices where the ABAC (Attribute-Based Access Control) system is unnecessary, you can authorize the project using a root account. In this case, all operations will be performed as the root user.
Creating an Account
When initializing a new environment with fireback init or ./app init, the interactive CLI will prompt you to create a new user with a passport and assign it to the root workspace.
The root workspace is always created and cannot be removed.
To create a new account via CLI and authenticate:
fireback auth
This command creates a new user, assigns it to the root workspace, and authenticates the CLI with the generated workspace and token.
If you prefer a non-interactive setup, check the available options with:
fireback user new --help
Command Options:
NAME:
Fireback core microservice - v1.2.1 user new - Creates a user interactively and sets credentials in the workspace config
USAGE:
Fireback core microservice - v1.2.1 user new [command options] [arguments...]
OPTIONS:
--in-root Assign the user to the root group
--value value User value
--workspace-type-id value Workspace type ID (e.g., 'root')
--type value Authentication type ('phonenumber', 'email')
--password value Password
--first-name value First name
--last-name value Last name
Signing in with Different Accounts
To sign in to a user account, use:
fireback passport auth
Or:
fireback user auth
For non-interactive authentication, check the available options:
fireback user auth --help
Command Options:
NAME:
Fireback core microservice - v1.2.1 user auth - Signs in a user with passport and password, storing credentials in the environment for CLI usage
USAGE:
Fireback core microservice - v1.2.1 user auth [command options] [arguments...]
OPTIONS:
--value value User value
--password value Password
--wid value Workspace ID (if the user belongs to multiple workspaces). If not set, the CLI will prompt for selection.