Verifies University of Cambridge students via Microsoft Entra ID for Discord linked roles.
- Go 1.24.6 or later
- Discord Application (Client ID, Client Secret, Bot Token) from https://discord.com/developers/applications
- Microsoft Entra ID Application (Client ID, Client Secret) from https://toolkit.uis.cam.ac.uk/endpoints
Create environment file from template:
cp .env.example .envSet these environment variables in .env:
HOST=http://localhost:8080
# Discord
DISCORD_INVITE_URL=https://discord.gg/your-invite
DISCORD_BOT_TOKEN=your_discord_bot_token
DISCORD_CLIENT_ID=your_discord_client_id
DISCORD_CLIENT_SECRET=your_discord_client_secret
# Microsoft Entra ID
UCAM_CLIENT_ID=your_microsoft_client_id
UCAM_CLIENT_SECRET=your_microsoft_client_secret
Install dependencies:
go mod downloadRun development server:
go run .Build and run production binary:
go build -o discord
./discord/- Redirects to Discord invite/role- Start verification process/discord/callback- Discord OAuth callback/ucam/callback- Cambridge OAuth callback