J’aimerais limiter l’accès à certaines pages de notre site web en fonction de si quelqu’un a un compte membre sur notre Discourse privé. Je suppose que je le ferais en vérifiant sur ces pages si l’utilisateur est connecté à Discourse à ce moment-là.
Je ne l’ai pas encore essayé, mais le paramètre prompt pourrait être utile dans votre cas :
prompt : Si prompt=none, la requête SSO est traitée comme une requête « juste pour vérifier ». Si le navigateur/appareil est déjà connecté à Discourse, Discourse renverra une réponse SSO réussie portant les informations d’authentification de l’utilisateur, comme d’habitude. Si le navigateur/appareil n’est pas déjà connecté, Discourse ne demandera pas à l’utilisateur de se connecter et renverra immédiatement une réponse SSO portant le paramètre failed=true au lieu des informations utilisateur. Cela fournit un mécanisme pour interroger si l’utilisateur est connecté, sans jamais diriger l’utilisateur vers une boîte de dialogue de connexion s’il ne l’est pas.
Cela semble prometteur @simon. Je n’avais pas réalisé que DiscourseConnect pouvait fonctionner sans activer enable discourse connect, mais apparemment, il le peut !
Je vais faire quelques tests et je reviendrai vous dire – merci de m’avoir mis sur cette piste !
Je me demande si l’utilisation de Discourse comme fournisseur d’authentification est négligée à cause de son nom (DiscourseConnect). Par exemple, le simple fait d’ajouter le terme DiscourseConnect à un message ici crée un lien vers le sujet concernant l’utilisation d’un site externe comme fournisseur d’authentification pour Discourse. Utiliser Discourse comme fournisseur d’authentification est l’une de mes principales justifications pour avoir un site Discourse.
@simon Je voulais juste vous répondre pour vous remercier. Je pense que votre suggestion précédente est la bonne réponse. J’ai eu du mal à l’implémenter sur mon site, mais le problème semble venir principalement du fait qu’il s’agit d’un CMS semi-personnalisé avec beaucoup de code bancal qui gêne.