Configurer AUTH Discord (OAuth2 + Bot)
Introduction
Pour utiliser l'authentification Discord à travers le module d'Edelweiss, il est nécessaire de configurer une application OAuth2 dans le portail développeur Discord.
Cette configuration permet de connecter vos utilisateurs via leur compte Discord
1. Créer une application Discord
- Aller sur
https://discord.com/developers/applications - Cliquer sur "New Application"
- Donner un nom à votre application
- Valider
Cette application représentera votre site
2. Récupérer les identifiants
Dans l'onglet OAuth2 → General :
Client IDClient Secret
À placer dans votre configuration :
'discord' => [
'client_id' => 'VOTRE_CLIENT_ID',
'client_secret' => 'VOTRE_CLIENT_SECRET',
]
3. Configurer l’URL de redirection
Dans OAuth2 → Redirects, ajouter :
https://votre-site.com/index.php?action=discord_callback
L'URL doit correspondre EXACTEMENT à celle utilisée dans votre code
4. Définir les scopes
Scopes utilisés :
identify guilds
- identify → récupérer l'utilisateur
- guilds → voir ses serveurs
5. Ajouter un bot Discord (optionnel mais recommandé)
- Aller dans l'onglet Bot
- Cliquer sur "Add Bot"
- Copier le
Token
'bot' => [
'token' => 'VOTRE_BOT_TOKEN',
'guild_id' => 'ID_DU_SERVEUR'
]
Permet de vérifier si un utilisateur appartient à un serveur Discord spécifique
6. Inviter le bot sur votre serveur
Générer une URL OAuth2 :
https://discord.com/oauth2/authorize?client_id=CLIENT_ID&scope=bot&permissions=0
Puis inviter le bot sur votre serveur Discord.
7. Tester la connexion
- Aller sur :
?action=discord_login - Autoriser l'application
- Vérifier la redirection
- Vérifier la base de données
Si tout est OK → utilisateur connecté automatiquement
Erreurs fréquentes
- ❌ Mauvaise redirect URI
- ❌ Client Secret incorrect
- ❌ HTTPS obligatoire en production
- ❌ Bot non présent sur le serveur
Une mauvaise configuration bloque complètement l’authentification