Login flow
- The console submits a username and password.
- The backend verifies them and issues a JWT.
- The frontend sends the token in the request header of subsequent calls.
- The backend validates the token and resolves the current user.
Token and state
- The token is signed with the
token.secretKeyconfiguration. - Login state and similar temporary data are stored in the internal
cache_entrytable. - When a token expires or is invalidated, sign in again.
Security recommendations
- Use a long, random
token.secretKeyin production. - Change the default password immediately.
- Transfer login requests over HTTPS only.
- Never commit secrets or credentials to version control.