Bonjour. Tout nouveau sur Discourse. J’ai une application en cours d’exécution sur AWS, qui utilise Cognito pour l’authentification. Je souhaite lier cette application à mon nouveau forum hébergé sur Discourse. J’ai fait de bons débuts, mais j’espère que quelqu’un pourra me guider sur les dernières étapes à suivre.
L’objectif est de rendre l’expérience de connexion transparente entre mon application et le forum Discourse. Ainsi :
-
Si un utilisateur est connecté à mon application, lorsqu’il se rend sur le forum Discourse, ce dernier le reconnaît et ne nécessite pas de nouvelle connexion.
-
De même, si un utilisateur se rend d’abord sur le forum Discourse et n’est pas connecté, Discourse le redirigera vers la page de connexion de mon application (ou vers une interface de connexion hébergée si nécessaire).
Le plugin d’authentification OpenID Connect semble être bien conçu pour cela. J’ai souscrit à un plan Business avec Discourse pour m’assurer de pouvoir utiliser ce plugin.
J’ai suivi les instructions fournies par @david et j’ai effectué ce que je crois être la configuration côté Cognito :
-
Depuis Cognito, j’ai obtenu le « document de découverte OpenID Connect » et l’« ID du client OpenID Connect ».
-
Dans les paramètres de mon Discourse, sous openId_Connect, je les ai ajoutés et enregistrés.
-
J’ai coché « activer l’authentification OpenID Connect », et sous « portée d’autorisation OpenID Connect », j’ai saisi « openid email ». J’ai enregistré ces paramètres.
Selon la description du plugin, cela devrait être prêt, n’est-ce pas ?
Eh bien, lorsque je me connecte à mon application, puis que je me rends sur mon forum, rien ne se passe. Il affiche simplement la page d’accueil normale avec les boutons « s’inscrire » et « se connecter ». J’espère qu’il me connecte automatiquement après avoir vérifié auprès de Cognito, mais ce n’est pas le cas. Que dois-je faire d’autre ?
De plus, si un utilisateur arrivait sur le site du forum fraîchement (sans jamais s’être connecté à mon application), il ne devrait pas voir les boutons d’inscription et de connexion de Discourse ; il devrait plutôt voir un bouton sur lequel il cliquerait pour être redirigé vers la page de connexion de mon application. Comment ajouter cela ?
Et enfin, les utilisateurs s’abonnent à mon application et paient pour utiliser des fonctionnalités premium. Cela est enregistré en tant qu’attributs personnalisés pour l’utilisateur dans Cognito (il existe un attribut personnalisé indiquant Abonné ou non). Seuls les utilisateurs abonnés devraient pouvoir publier sur le forum. Ainsi, lorsque Discourse vérifie auprès de Cognito pour obtenir les informations de l’utilisateur, il doit vérifier l’attribut personnalisé de l’utilisateur, et seulement si l’utilisateur est abonné, lui donner la capacité de publier. Comment faire cela ?
Étant si nouveau sur Discourse, j’apprécierais grandement toute information que quiconque pourrait avoir sur l’une de ces questions. Merci !