Enable Archie Auth
1
Open Authentication Providers
Navigate to App Services → Authentication Providers in the Backend Console. Archie Auth sits at the top of the list with a “Built-in” badge.
2
Click Configure → Enable
Toggle Enable to activate Archie Auth for the current environment. Each environment must be enabled independently.
3
Wait for setup to complete
On enable, Archie automatically:
- Generates a 2048-bit RSA signing key pair (RS256) for JWT signing.
- Generates a 2048-bit RSA encryption key pair (RSA-OAEP-256) for optional JWE encryption.
- Encrypts both private keys with AES-GCM before storing them.
- Creates the
_auth_credentialstable in the project database. - Registers the identity service with the GraphQL schema.
Configure the policy
The Settings tab is where you tune behavior. Defaults are sensible — you can leave most of it alone — but the configurable fields are:General
Security policy
Token configuration
For the cryptographic background and JWE trade-off, see Security.
Quick test — the full auth flow
After enabling, exercise the public endpoints directly withcurl. The same operations are available on the GraphQL API.
1. Sign up
201 Created. A 6-digit verification code lands in the user’s inbox.
2. Confirm the email
3. Log in
For users that confirmed earlier and need a fresh token:4. Use the access token
Send the access token as a Bearer token on subsequent API calls:5. Refresh when the access token expires
Access tokens are short-lived by design. Refresh them with the refresh token:Disabling Archie Auth
If you outgrow Archie Auth or migrate to another provider:1
Open the Archie Auth panel
Navigate to App Services → Authentication Providers → Archie Auth.
2
Click Disable
A confirmation dialog appears with an option to drop the
_auth_credentials table.3
Choose what happens to existing users
- Keep the table — re-enabling later preserves the user list and credentials.
- Drop the table — wipes the user list. Re-enabling creates a fresh table.
FAQ
Why does the access token expire so fast?
Why does the access token expire so fast?
Short-lived access tokens limit the blast radius of a stolen token. The refresh token (30 days by default) is the long-lived credential — it stays on the client and gets rotated on every use, so a leaked refresh token also gets invalidated quickly.
Can I bypass email verification during development?
Can I bypass email verification during development?
Yes — toggle Email Verification off in the Settings tab for that environment. Users sign up and immediately get a usable session. Re-enable it before exposing the environment to real users.
What's the cleanest way to seed admin users?
What's the cleanest way to seed admin users?
Use the GraphQL API with an admin token, or the REST signup endpoint with the
roleId field set to your admin role’s ID. Either way the user goes through the standard signup path so the _auth_credentials row is consistent.What if my emails aren't being delivered?
What if my emails aren't being delivered?
The transport (SES or SMTP) is configured at the platform level. Check the user’s spam folder first. If consistently undelivered, see Email templates for branding and sender configuration, and SendGrid integration if you’re routing through SendGrid.
How do I rotate my signing key?
How do I rotate my signing key?
From the Settings tab or via the
rotateAuthKeys mutation. Old keys are kept for a 1-hour grace period so in-flight tokens stay valid. See Security.