Implementar botón de Cerrar sesión

Hola,

Quiero implementar un botón de cierre de sesión fuera de Discourse. El botón debe tener la misma funcionalidad que:

  1. Cerrar la sesión de los usuarios en todos los dispositivos.
  2. Un botón de actualización que redirija al usuario a una URL específica.

Nota: El botón de inicio de sesión estará en Discourse, pero la opción de cierre de sesión estará fuera.

Cualquier artículo, discusión o ayuda será muy apreciada.

Gracias

Puedes cerrar la sesión de los usuarios a través de la API de Discourse realizando una solicitud POST autenticada a /admin/users/<user_id>/log_out. Debes reemplazar <user_id> con el ID de usuario de Discourse del usuario.

Puedes ver esto implementado en el plugin de Discourse para WordPress aquí: wp-discourse/lib/sso-provider/discourse-sso.php at main · discourse/wp-discourse · GitHub

Hola @simon, ¿necesitaré habilitar SSO para esta funcionalidad, verdad? Y si es así, ¿qué necesito completar o habilitar para activar SSO solo para el cierre de sesión?

No, no es necesario habilitar SSO para que la llamada a /admin/users/<user_id>/log_out funcione.

Estoy obteniendo un error 404. ¿Puedes ayudarme?

Necesitas establecer tanto las cabeceras Api-Key como Api-Username. Si estás utilizando la clave de API de Todos los Usuarios, es probable que la cabecera Api-Username deba establecerse en ‘system’.

Gracias. Funcionó.