Skip to content

Configuration OAuth ​

TrocOS supporte la connexion avec GitHub, Discord et Slack en plus de l'email et du mot de passe. Les boutons OAuth n'apparaissent que si les variables d'environnement correspondantes sont définies — l'application fonctionne parfaitement avec uniquement email/mot de passe.

Comment ça fonctionne ​

Les identifiants OAuth sont transmis via des variables d'environnement. Définissez uniquement les fournisseurs que vous souhaitez activer ; laissez les autres non définis.

Le format de l'URL de callback pour tous les fournisseurs est :

https://votre-domaine.com/auth/FOURNISSEUR/callback

Où FOURNISSEUR est github, discord ou slack.


GitHub ​

1. Créer une GitHub OAuth App ​

Allez dans GitHub → Paramètres → Developer settings → OAuth Apps → New OAuth App.

Remplissez :

  • Application name : TrocOS (ou le nom de votre communauté)
  • Homepage URL : https://votre-domaine.com
  • Authorization callback URL : https://votre-domaine.com/auth/github/callback

Sauvegardez votre Client ID et Client Secret.

2. Définir les variables d'environnement ​

sh
GITHUB_CLIENT_ID=votre_client_id
GITHUB_CLIENT_SECRET=votre_client_secret

Discord ​

1. Créer une application Discord ​

Allez sur le portail développeur Discord et cliquez sur New Application.

Sous OAuth2 → Redirects, ajoutez :

https://votre-domaine.com/auth/discord/callback

Notez votre Client ID et Client Secret depuis l'onglet OAuth2.

Scopes requis : identify, email

2. Définir les variables d'environnement ​

sh
DISCORD_CLIENT_ID=votre_client_id
DISCORD_CLIENT_SECRET=votre_client_secret

Slack ​

1. Créer une Slack App ​

Allez sur api.slack.com/apps et cliquez sur Create New App → From scratch.

Sous OAuth & Permissions → Redirect URLs, ajoutez :

https://votre-domaine.com/auth/slack/callback

Scopes requis (sous User Token Scopes) : openid, email, profile

Sauvegardez votre Client ID et Client Secret.

2. Définir les variables d'environnement ​

sh
SLACK_CLIENT_ID=votre_client_id
SLACK_CLIENT_SECRET=votre_client_secret

Vérification ​

Après avoir redémarré l'application, la page de connexion affichera les boutons OAuth pour chaque fournisseur configuré. Si les variables d'un fournisseur sont absentes, son bouton n'apparaîtra pas — c'est intentionnel et sécurisé.

Released under the AGPL-3.0 License.