⭐ If you find Zipline useful, please consider giving it a star on Github! ⭐
Guides

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

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!