Configuré un hook para recibir todos los eventos, pero no recibí el evento de cierre de sesión cuando cerré sesión desde el menú desplegable. Sin embargo, recibí el evento cuando cerré sesión usando la API.
Ok, después de revisar el código fuente, encontré lo siguiente (soy nuevo en Ruby y Ember.js, así que por favor perdonen cualquier error):
El botón “logout” en el menú desplegable del usuario (quick-access-profile.js) llama a: ajax(/session/${this.username}, { type: "DELETE" }) que corresponde a la acción “destroy” en session_controller.rb.
Encontré que esta acción no activa el evento “user_logged_out”. Así que después de agregar la siguiente línea:
DiscourseEvent.trigger(:user_logged_out, current_user) a la acción “destroy”, se activó el webhook “user_logged_out”.
¿Es esto un error en la acción “destroy” de session_controller.rb, o se espera que no active el evento “user_logged_out”?
Estoy usando Discourse como proveedor de SSO y estoy intentando usar el webhook “user_logged_out” para cerrar la sesión de los usuarios en mi sitio web cuando cierran la sesión en Discourse.