Skip to content

Configuration

Site configuration is stored in the site_config D1 table and editable at runtime through Admin → Settings. No redeployment is needed to change any of these values.

General

KeyTypeDefaultDescription
site_namestring"Prism"Displayed in the browser title and emails
site_descriptionstring"Federated identity platform"Shown on the login page
site_icon_urlstring?nullURL to a favicon / logo
allow_registrationbooleantrueAllow new users to self-register
require_email_verificationbooleanfalseBlock login until email is verified
accent_colorstring"#0078d4"Primary brand color (hex). Drives FluentUI theme
custom_cssstring""Injected as a <style> block on every page
initializedbooleanfalseSet to true after first-run setup. Do not change manually

Sessions & tokens

KeyTypeDefaultDescription
session_ttl_daysnumber30How long a user session JWT is valid
access_token_ttl_minutesnumber60OAuth access token lifetime
refresh_token_ttl_daysnumber30OAuth refresh token lifetime

Bot protection (captcha)

Exactly one provider can be active at a time.

KeyTypeDefaultDescription
captcha_providerstring"none"none | turnstile | hcaptcha | recaptcha | pow
captcha_site_keystring""Public site key for the chosen provider
captcha_secret_keystring""Server-side secret for the chosen provider
pow_difficultynumber20Leading zero bits required for proof-of-work (higher = harder)

Proof-of-work requires no third-party service. Difficulty 20 takes ~0.1–2 s depending on device. Values above 24 may timeout on low-end mobile devices.

Social login

All fields are empty by default (provider disabled).

KeyDescription
github_client_idGitHub OAuth App Client ID
github_client_secretGitHub OAuth App Client Secret
google_client_idGoogle Cloud OAuth 2.0 Client ID
google_client_secretGoogle Cloud OAuth 2.0 Client Secret
microsoft_client_idAzure AD Application (client) ID
microsoft_client_secretAzure AD Client Secret
discord_client_idDiscord Application ID
discord_client_secretDiscord Client Secret

Callback URLs to register with each provider:

ProviderCallback URL
GitHubhttps://your-domain/api/connections/github/callback
Googlehttps://your-domain/api/connections/google/callback
Microsofthttps://your-domain/api/connections/microsoft/callback
Discordhttps://your-domain/api/connections/discord/callback

Email

KeyTypeDefaultDescription
email_providerstring"none"none | resend | mailchannels
email_api_keystring""API key for Resend or Mailchannels
email_fromstring"noreply@example.com"From address for outgoing emails

Domain verification

KeyTypeDefaultDescription
domain_reverify_daysnumber30Days between automatic re-verification checks for domains

Wrangler environment variables

These are set in wrangler.jsonc under vars or via wrangler secret put and are not editable from the admin panel.

VariableRequiredDescription
APP_URLYesFull origin of the deployment, e.g. https://auth.example.com

Released under the GPL-3.0 License.