Vous ne comprenez pas ce que je veux dire. Je ne demande pas comment récupérer les détails d’un utilisateur de Discourse après la connexion. Veuillez comprendre le flux complet de ce que j’essaie d’accomplir et faites-moi savoir si c’est possible avec Discourse ou si je dois continuer avec ma propre approche.
Actuellement, j’ai un projet construit avec le framework Laravel, et je veux donner aux utilisateurs l’accès au forum Discourse pour obtenir des commentaires. J’ai décidé d’implémenter la connexion SSO pour Discourse. J’ai créé un compte administrateur Discourse et activé les paramètres nécessaires pour la connexion SSO, y compris l’activation de SSO, la définition de l’URL de redirection et la configuration du secret.
Maintenant, j’ai ajouté un bouton ‘Discourse Connect’ à l’intérieur de mon projet. Je veux que lorsque les utilisateurs cliquent sur ce bouton, ils s’enregistrent ou se connectent en utilisant mes identifiants, et se connectent automatiquement à Discourse. Lorsque les utilisateurs cliquent sur le bouton ‘Discourse Connect’, ils sont redirigés vers mon URL de communauté de base avec le point de terminaison de session/sso, qui redirige ensuite vers mon URL Discourse Connect. Je reçois les paramètres SSO et sig dans la requête, que je comprends être pour la validation. Cependant, j’ai besoin de l’user_id ou d’un identifiant pour récupérer les données de l’utilisateur de ma base de données afin de valider, authentifier et connecter l’utilisateur à Discourse.
Ma question est : existe-t-il une API ou un mécanisme dans Discourse qui peut renvoyer l’user_id avec les paramètres SSO et sig dans la requête ? Ceci est important car, sans récupérer les données de l’utilisateur dans la requête, je devrais faire en sorte que l’utilisateur se connecte à nouveau, ce qui offrirait une mauvaise expérience utilisateur. Essentiellement, lorsqu’un utilisateur se connecte à mon projet et clique sur le bouton ‘Discourse Connect’, l’URL Discourse Connect est déclenchée et je reçois les paramètres SSO et sig. Pour authentifier l’utilisateur, je dois récupérer les données de l’utilisateur de la base de données, mais cela nécessiterait que l’utilisateur se connecte à nouveau, ce que je veux éviter.
Je veux une expérience transparente où, si l’utilisateur est déjà connecté une fois, il n’a pas besoin de se connecter à nouveau. Il devrait pouvoir accéder au forum Discourse directement avec ses identifiants de projet.