Je souhaite configurer l’authentification unique (SSO) avec GitHub OAuth. Lorsque l’utilisateur se connecte à mon site via GitHub, cela doit également le connecter à Discourse. Les commentaires de Discourse sont intégrés sur le site.
Un site web avec OAuth Github.
Discourse avec OAuth Github.
Aucun des deux n’a d’autres méthodes de connexion.
Quand un utilisateur se connecte à mon site web, il devrait être automatiquement connecté à Discourse.
Ce qui me manque, c’est le lien entre les deux. Comment puis-je le connecter à Discourse lorsqu’il s’authentifie via OAuth Github sur mon site web ?
Lorsqu’une personne se connecte à votre site web, la seule communication qui a lieu se fait entre GitHub et votre site.
C’est-à-dire :
Votre site web appelle GitHub pour vérifier si un utilisateur existe dans sa base de données.
GitHub répond par l’affirmative (ou la négative) et renvoie les données de l’utilisateur ou le jeton d’authentification, comme demandé par votre site.
L’utilisateur est alors connecté à votre site.
Il n’y a aucune interaction avec Discourse dans cette équation. Ce dont vous avez besoin, c’est d’un moyen d’informer Discourse qu’un utilisateur vient de se connecter et doit également être connecté à Discourse.
Ce dont vous avez besoin, c’est d’un moyen d’ajouter une connexion à Discourse à votre processus de connexion sur votre site web, afin que Discourse sache quand un utilisateur se connecte ou se déconnecte.
Auth0 gère cela très bien dès la sortie de la boîte.
Une autre option consiste à utiliser Discourse comme serveur SSO.
J’ai compris que le plugin d’authentification que j’utilise fonctionne en réalité via OAuth et fournit un JWT. La chose discourse-jwt devrait fonctionner pour moi, je pense.