Me gustaría limitar el acceso a ciertas páginas de nuestro sitio web en función de si alguien tiene una cuenta de miembro en nuestro Discourse privado. Presumiblemente, lo haría comprobando en esas páginas si el usuario ha iniciado sesión en Discourse en ese momento.
Aún no lo he probado, pero el parámetro prompt podría ser útil para tu caso:
prompt: Si prompt=none, entonces la solicitud SSO se trata como una solicitud de “solo comprobación”. Si el navegador/dispositivo ya ha iniciado sesión en Discourse, Discourse devolverá una respuesta SSO exitosa con información de autenticación del usuario, como de costumbre. Si el navegador/dispositivo no ha iniciado sesión, entonces Discourse no pedirá al usuario que inicie sesión y devolverá inmediatamente una respuesta SSO con el parámetro failed=true en lugar de información del usuario. Esto proporciona un mecanismo para consultar si el usuario ha iniciado sesión, sin dirigir nunca al usuario a un cuadro de diálogo de inicio de sesión si no lo está.
Esto parece prometedor, @simon. No me había dado cuenta de que DiscourseConnect pudiera funcionar sin habilitar enable discourse connect, ¡pero aparentemente puede!
Haré algunas pruebas y te informaré. ¡Gracias por ponerme en esta pista!
Me pregunto si el uso de Discourse como proveedor de autenticación se pasa por alto debido a su nombre (DiscourseConnect). Por ejemplo, solo agregar el término DiscourseConnect a una publicación aquí crea un enlace al tema sobre el uso de un sitio externo como proveedor de autenticación para Discourse. Usar Discourse como proveedor de autenticación es una de mis principales justificaciones para tener un sitio de Discourse.
@simon Solo quería responder y agradecerte. Creo que tu sugerencia anterior es la respuesta correcta. He tenido problemas para implementarla en mi sitio, pero el problema parece ser principalmente que es un CMS semi-personalizado con mucho código inestable que se interpone en el camino.