OAuth Provider Setup
Configure third-party login options
Note: OAuth providers require HTTPS in production. For local testing, you can use HTTP.
Current OAuth Status
Configured Providers:
- GitHub
- Discord
Setup Instructions
Google OAuth Setup
- Go to Google Cloud Console
- Create a new project or select existing
- Enable the "Google+ API" or "Google Sign-In API"
- Go to "Credentials" → "Create Credentials" → "OAuth 2.0 Client ID"
- Set application type to "Web application"
- Add authorized redirect URI:
https://swissarmyfeed.com/auth/oauth/google/callback
- Add to your
.env
file:
GOOGLE_CLIENT_ID=your_google_client_id_here
GOOGLE_CLIENT_SECRET=your_google_client_secret_here
Microsoft OAuth Setup
- Go to Azure Portal
- Navigate to "Azure Active Directory" → "App registrations"
- Click "New registration"
- Set redirect URI to:
https://swissarmyfeed.com/auth/oauth/microsoft/callback
- After creation, go to "Certificates & secrets" → "New client secret"
- Add to your
.env
file:
MICROSOFT_CLIENT_ID=your_microsoft_client_id_here
MICROSOFT_CLIENT_SECRET=your_microsoft_client_secret_here
GitHub OAuth Setup
- Go to GitHub OAuth Apps
- Fill in application details
- Set Authorization callback URL to:
https://swissarmyfeed.com/auth/oauth/github/callback
- After creation, generate a client secret
- Add to your
.env
file:
GITHUB_CLIENT_ID=your_github_client_id_here
GITHUB_CLIENT_SECRET=your_github_client_secret_here
Discord OAuth Setup
- Go to Discord Developer Portal
- Create a "New Application"
- Go to "OAuth2" settings
- Add redirect URI:
https://swissarmyfeed.com/auth/oauth/discord/callback
- Copy Client ID and Client Secret
- Add to your
.env
file:
DISCORD_CLIENT_ID=your_discord_oauth_client_id_here
DISCORD_CLIENT_SECRET=your_discord_oauth_client_secret_here
Note: This is different from your Discord Bot Token
HTTPS Setup with Let's Encrypt
Since you've registered swissarmyfeed.com
, here's how to set up HTTPS:
- Install certbot:
sudo apt install certbot python3-certbot-nginx
- Get certificate:
sudo certbot --nginx -d swissarmyfeed.com
- Update your
.env
file:
BASE_URL=https://swissarmyfeed.com
HOST=0.0.0.0
PORT=8000
Set up a reverse proxy (nginx) to handle HTTPS and forward to your Flask app.