J’administre donc un forum qui utilise SSO pour transmettre les identifiants de nom d’utilisateur et de mot de passe à notre instance Discourse.
Actuellement, vous devez vous connecter à mon site web principal, puis cliquer pour accéder à mon forum afin que la transmission des identifiants se produise et qu’un compte forum soit créé.
Mes développeurs travaillent sur la mise à jour de notre méthode d’appel API obsolète pour l’adapter aux spécifications actuelles de Discourse. Mon développeur m’indique qu’il est possible que SSO crée un compte Discourse sans que l’utilisateur ait à cliquer explicitement vers notre forum.
Quelqu’un parmi vous a-t-il configuré son API de cette manière ? Je suis méfiant à l’idée de synchroniser cela automatiquement par défaut. Quels sont les avantages et les inconvénients ?
Oui, notre plugin WordPress propose une option qui fait quelque chose de similaire. Voici comment cela fonctionne : lorsqu’un utilisateur crée un compte WordPress ou se connecte au site WordPress, une requête est envoyée vers la route Discourse /admin/users/sync_sso. Si l’utilisateur n’existe pas encore sur Discourse, cela crée un compte utilisateur sur Discourse. Si l’utilisateur existe déjà, cette requête peut être utilisée pour mettre à jour les informations de l’utilisateur qui ont changé du côté du fournisseur SSO. Par exemple, elle permet de mettre à jour le nom, le nom d’utilisateur ou l’adresse e-mail de l’utilisateur. Elle peut également servir à ajouter ou retirer l’utilisateur de groupes Discourse.
Les seuls inconvénients que je connaisse sont qu’cela ajoute une certaine complexité au code SSO. Avec la manière dont c’est implémenté dans le plugin WordPress, cela ajoute également un appel API vers Discourse à chaque fois qu’un utilisateur se connecte sur le site du fournisseur SSO. Cela est dû au fait que c’est accroché à l’événement de connexion WordPress. Je ne connais aucun site où cet appel API a causé des problèmes de limite de débit, mais il serait possible de n’effectuer cet appel que lors de la création d’un nouveau compte si cela posait problème.
L’avantage de cette approche est qu’elle permet de mettre à jour les informations de vos utilisateurs sans qu’ils aient besoin de se connecter à Discourse via SSO. Par exemple, cela vous permettrait d’ajouter des utilisateurs à un groupe Discourse lorsqu’ils effectuent une action sur votre site web.
Une autre approche pour intégrer un site web à Discourse via SSO consiste à utiliser des liens de connexion SSO sur votre site. Cela vous permet d’afficher votre forum Discourse sur votre site web, ce qui connecte les utilisateurs à Discourse et les redirige vers une page spécifique. Ce sujet contient des détails sur la configuration : Créer un lien de connexion SSO.