Vous pouvez le faire avec DiscourseConnect (Discourse fonctionnant comme fournisseur d’authentification) : Use Discourse as an identity provider (SSO, DiscourseConnect).
Je ne l’ai pas encore essayé, mais le paramètre prompt pourrait être utile dans votre cas :
prompt: Siprompt=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ètrefailed=trueau 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.