Discord OAuth2 Setup¶
PoracleWeb uses Discord OAuth2 for user authentication. This page walks through creating and configuring a Discord application.
Create a Discord application¶
- Go to the Discord Developer Portal
- Click New Application and give it a name
-
Under OAuth2, add redirect URIs:
Environment Redirect URI Production / Docker http://your-domain:8082/api/auth/discord/callbackDevelopment http://localhost:5048/api/auth/discord/callbackThe redirect URI must point to the API server (not the Angular dev server). In production, both are served from the same origin. In development, the API runs on port 5048.
-
Copy the Client ID and Client Secret
Optional: Create a bot¶
Creating a bot under the same application enables:
- Avatar display — User avatars shown in the UI
- Geofence forum posts — Automatic Discord forum threads for geofence submissions
Bot permissions for geofence forum¶
If using the geofence submission feature with Discord forum integration, the bot needs these permissions on the forum channel:
| Permission | Purpose |
|---|---|
| View Channel | Access the forum channel |
| Send Messages in Threads | Post status updates in threads |
| Manage Threads | Lock and archive threads on approval/rejection |
| Manage Channels | Auto-create forum tags (Pending/Approved/Rejected) |
Tip
If the bot doesn't have Manage Channels permission, create the forum tags (Pending, Approved, Rejected) manually on the channel.
Configuration¶
These values are set during ./scripts/setup.sh, or you can edit .env directly:
Discord API domain
PoracleWeb uses discordapp.com (not discord.com) for API calls. The discord.com domain is blocked by Cloudflare in some server environments. This is already configured in the application — no action needed.