This guide explains how to set up and configure Discord as a login option for your Discourse forum, including how to restrict access to specific Discord guilds.
Required user level: Administrator
Once configured, Discord will appear as a login option alongside other authentication methods on your forum:
Setting up Discord OAuth2
Creating a Discord application
- Visit the Discord developer portal
- Click “New Application”
- Enter a name, upload an icon, and add a description for your application
- These details will be shown to users during the login process
Configuring OAuth2 settings
- Navigate to the “OAuth2” tab in the left sidebar
- Copy the “Client ID” and “Client Secret”
- If the secret isn’t visible, click “Reset Secret” to generate a new one
- Add your redirect URL:
- Format:
https://your-discourse-site.com/auth/discord/callback
- Do not include a trailing slash
- Format:
- Click “Save Changes”
Enabling Discord login in Discourse
- In your Discourse admin settings, enter the Client ID in the
discord_client_id
setting - Enter the Client Secret in the
discord_client_secret
setting - Enable the
enable_discord_logins
setting
Restricting access to specific Discord guilds
You can limit Discord login to members of specific Discord guilds (servers).
Finding your guild ID
- Open Discord in your browser
- Navigate to any channel in your guild
- Look at the URL:
https://discordapp.com/channels/{guild_id}/{channel_id}
- Copy the first number (guild_id) from the URL
- Example: In
https://discordapp.com/channels/123/456
, the guild ID is123
- Example: In
Configuring guild restrictions
- In your Discourse admin settings, locate the
discord_trusted_guilds
setting - Add your guild ID(s)
- You can add multiple guild IDs if needed
When guild restriction is enabled:
- Members of trusted guilds will log in normally
- Other users will see an error message
- You can customize this message under Customize → Text, search for
discord.not_in_allowed_guild
If you’re using guild restrictions for security, disable all other login methods in your Discourse settings.
Next steps
Consider setting up the chat-integration plugin to push important Discourse topics to your Discord channels.
Last edited by @jessii 2024-12-11T19:59:00Z
Check document
Perform check on document: