Authentication
3DPrintForge supports multiple users with role-based access control, API keys, and optional two-factor authentication (2FA) via TOTP.
Go to: https://localhost:3443/#settings → Users and access
Users
Creating a user
- Go to Settings → Users
- Click New user
- Fill in:
- Username — used for login
- Email address
- Password — minimum 12 characters recommended
- Role — see roles below
- Click Create
The new user can now log in at https://localhost:3443/login.
Changing password
- Go to Profile (top right corner → click on the username)
- Click Change password
- Fill in the current password and new password
- Click Save
Administrators can reset others' passwords from Settings → Users → [User] → Reset password.
Roles
| Role | Description |
|---|---|
| Administrator | Full access — all settings, users, and features |
| Operator | Control printers, view everything, but cannot change system settings |
| Guest | Read only — view dashboard, history, and statistics |
| API user | API access only — no web interface |
Custom roles
- Go to Settings → Roles
- Click New role
- Choose permissions individually:
- View dashboard / history / statistics
- Control printers (pause/stop/start)
- Manage filament inventory
- Manage queue
- View camera stream
- Change settings
- Manage users
- Click Save
API keys
API keys provide programmatic access without logging in.
Creating an API key
- Go to Settings → API keys
- Click New key
- Fill in:
- Name — descriptive name (e.g. "Home Assistant", "Python script")
- Expiry date — optional, set for security
- Permissions — choose role or specific permissions
- Click Generate
- Copy the key now — it is only shown once
Using the API key
Add to the HTTP header for all API calls:
Authorization: Bearer YOUR_API_KEY
See API Playground for testing.
Secure storage
API keys have the same access as the user they are linked to. Store them securely and rotate them regularly.
TOTP 2FA
Enable two-factor authentication with an authenticator app (Google Authenticator, Authy, Bitwarden, etc.):
Enabling 2FA
- Go to Profile → Security → Two-factor authentication
- Click Enable 2FA
- Scan the QR code with the authenticator app
- Enter the generated 6-digit code to confirm
- Save the recovery codes (10 single-use codes) in a secure place
- Click Activate
Logging in with 2FA
- Enter username and password as usual
- Enter the 6-digit TOTP code from the app
- Click Log in
Enforced 2FA for all users
Administrators can require 2FA for all users:
- Go to Settings → Security → Enforce 2FA
- Enable the setting
- Users without 2FA will be forced to set it up at next login
Session management
- Default session duration: 24 hours
- Adjust under Settings → Security → Session duration
- View active sessions per user and end individual sessions