OAuth
Configure OAuth providers for authentication
Configuring OAuth
To enable OAuth, you will need to enable the OAuth Registration setting under "Features" in the settings dashboard. This will allow the login buttons to show up on the login page.
Bypass Local Login
To skip the local username-password authentication process, enable this option in the "OAuth" section of the settings dashboard. Users will then be automatically redirected to the first available OAuth provider, which is particularly useful when only one provider is fully configured.
The Bypass Local Login setting is client-side and can be overridden using
the built-in ?local=true query parameter. This can be helpful if your
settings are misconfigured — simply append ?local=true to the /auth/login
URL to bypass the automatic redirection.
Login only
To prevent users from creating accounts through an OAuth provider, enable this option in the "OAuth" section of the settings dashboard. This will restrict access to OAuth logins only, and any attempt to create a new account will result in an error message.
(OAUTH_LOGIN_ONLY=true if you're setting it via env.)
Only let certain Discord users in
If you're using Discord OAuth and want to limit who can log in, use Allowed IDs and Denied IDs in server settings (OAUTH_DISCORD_ALLOWED_IDS / OAUTH_DISCORD_DENIED_IDS). Allowed IDs is an allowlist, so only those Discord user IDs get through. Denied IDs blocks specific IDs regardless of anything else.
Providers
🎮 Discord
OAuth with Discord
OAuth with Google
🗃️ GitHub
OAuth with GitHub
🗝️ Open ID Connect (OIDC)
OAuth with OIDC providers like Authentik, Authelia, and more
There are no plans to support other OAuth providers. The four that are currently supported were chosen as they are commonly used, and OIDC support allows for various different self-hosted providers to be used as well. If you have a specific provider you would like to see supported, please open an issue in the GitHub repository!