Estoy creando una aplicación de escritorio, con un foro (que ejecuta Discourse, por supuesto) y un sitio web complementarios.
En nuestro sitio web, me gustaría mostrar información adicional si el visitante del sitio web también ha iniciado sesión en el foro.
Descubrí cómo iniciar sesión desde el sitio web o la aplicación de escritorio (ver esta publicación), pero lo que no encuentro es una forma de verificar si mi visitante del sitio web ha iniciado sesión (y si es así, quién es), sin pedirle que inicie sesión.
¿Hay alguna forma de hacerlo, por ejemplo, utilizando la API de Discourse?
Creo que es posible que necesites obtener el ID de usuario de la carga útil SSO y luego usar una solicitud de API de Discourse para obtener el nombre de usuario y el estado de inicio de sesión actual.
Si el usuario inicia sesión en el sitio web del foro, ¿cómo puedo obtener más tarde la carga útil SSO? Sé cómo obtenerla cuando inicio sesión yo mismo (generando un enlace {forum_url}/session/sso_provider?sso=... etc.), pero cuando el usuario inicia sesión, entonces no tengo idea de cómo podría obtener la carga útil SSO.
Eso debería ser posible, aunque la URL exacta para la solicitud de API no parece estar documentada en https://docs.discourse.org. ¿Cuál sería la URL correcta?
No estoy seguro, pero sospecho que necesitas acceder al user_auth_token de los datos JSON de la carga útil. Es solo una suposición para darte ideas. Quizás alguien que sepa más sobre Discourse Connect SSO pueda ayudarte.