OAuth / Login Providers
Pastefy supports multiple login providers using OAuth2. You can configure one or more providers to allow users to log in and manage their pastes.
1. Supported Providers
- INTERAAPPS (recommended for best integration)
- GITHUB
- DISCORD
- TWITCH
- Custom OIDC (for any OpenID Connect compatible provider)
2. Basic OAuth2 Configuration
Add the following environment variables to your .env or Docker environment:
properties
OAUTH2_${provider}_CLIENT_ID=${client_id}
OAUTH2_${provider}_CLIENT_SECRET=${client_secret}Replace ${provider} with the provider name (INTERAAPPS, GOOGLE, GITHUB, DISCORD, TWITCH), and provide your credentials.
Example: INTERAAPPS
properties
OAUTH2_INTERAAPPS_CLIENT_ID=dan3q9n
OAUTH2_INTERAAPPS_CLIENT_SECRET=ASDFASDFExample: Google
properties
OAUTH2_GOOGLE_CLIENT_ID=your-google-client-id
OAUTH2_GOOGLE_CLIENT_SECRET=your-google-client-secretMake sure the redirect URL matches your Pastefy URL:
https://pastefy.app/api/v2/auth/oauth2/{provider,lowercase}/callbackFor example:https://pastefy.app/api/v2/auth/oauth2/google/callback
3. Custom OIDC Provider
You can configure any OpenID Connect (OIDC) provider with:
properties
OAUTH2_CUSTOM_CLIENT_ID=CLIENT_ID
OAUTH2_CUSTOM_CLIENT_SECRET=SECRET
OAUTH2_CUSTOM_AUTH_ENDPOINT=https://example.com/oauth2/authorize
OAUTH2_CUSTOM_TOKEN_ENDPOINT=https://example.com/oauth2/token
OAUTH2_CUSTOM_USERINFO_ENDPOINT=https://example.com/oauth2/userinfoReplace with your OIDC provider endpoints.
WARNING
Currently this does not work with large JWT tokens.
4. Enabling Login Requirements
Optional environment variables to control access:
properties
PASTEFY_LOGIN_REQUIRED=false # Require login for all actions
PASTEFY_LOGIN_REQUIRED_CREATE=false # Require login to create pastes
PASTEFY_LOGIN_REQUIRED_READ=false # Require login to view pastes / raw mode- Set
trueto enforce login where needed. - Useful if you want a private Pastefy instance.
5. Testing OAuth Setup
- Start Pastefy with your environment variables configured.
- Open your instance and click Log In.
- Select your provider.
- Verify login works and that you can create/view pastes.
6. Next Steps
- (Optional) Configure multiple providers at the same time.
- (Optional) Use login-required settings to secure your instance.