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
  1. Aller sur https://discord.com/developers/applications
  2. Cliquer sur "New Application"
  3. Donner un nom à votre application
  4. Valider
Cette application représentera votre site
2. Récupérer les identifiants

Dans l'onglet OAuth2 → General :

  • Client ID
  • Client 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é)
  1. Aller dans l'onglet Bot
  2. Cliquer sur "Add Bot"
  3. 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
  1. Aller sur : ?action=discord_login
  2. Autoriser l'application
  3. Vérifier la redirection
  4. 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