Soy nuevo en Discourse y estoy intentando configurar mi foro con un sitio web de Drupal, utilizando el módulo SSO de Discourse. Seguí las instrucciones del módulo y este tema, pero lamentablemente la URL “mydrupalwebsite.com/discourse/sso” devuelve un error 404.
Desde la fecha de ese tema, hay nuevas configuraciones para el módulo con una clave de API, pero no sé qué hacer con ella.
¿Podrías compartir un enlace al módulo de Drupal que estás utilizando? Si se trata del módulo enlazado en este post, fue actualizado por última vez en marzo de 2015, por lo que es muy probable que surjan problemas con él.
He configurado el secreto de SSO y la URL de SSO, y cuando intento iniciar sesión, veo que se han producido algunas redirecciones como debería, pero /discourse/sso es una página 404.
¿El módulo tiene documentación? El proceso normal para habilitar SSO consiste en agregar el endpoint de SSO a la configuración del sitio sso url de Discourse, agregar una clave secreta de SSO a la configuración del sitio sso secret y, a continuación, habilitar la configuración del sitio enable sso. Al configurarlo por primera vez, es probable que también quieras habilitar la configuración del sitio verbose sso logging. Con esta opción activada, obtendrás detalles sobre los errores de SSO en los registros de errores de tu sitio (en Administración / Registros / Registros de errores).
Una vez que hayas habilitado las configuraciones de Discourse, deberás asegurarte de que la URL de tu sitio de Discourse y la sso secret estén agregadas en el sitio del proveedor de SSO.
Por el error que estás recibiendo, parece probable que la configuración del sitio enable sso no haya sido habilitada en tu sitio de Discourse.
Si tienes problemas para acceder a tu sitio de Discourse después de habilitar SSO, como administrador puedes omitir el inicio de sesión con SSO yendo a /u/admin-login en tu sitio de Discourse. Ingresa tu correo electrónico de administrador en el formulario de la página. Se te enviará un enlace de inicio de sesión de un solo uso.
He revisado la entrada del registro, pero no muestra el error; solo es la entrada del registro para el inicio del proceso de SSO en Discourse. Debería haber otra entrada de registro creada poco después de esa que sí muestre el error. ¿Podrías intentar realizar el proceso nuevamente? Debería haber entradas de registro de SSO detalladas para cada intento de inicio de sesión. La primera entrada muestra el inicio del proceso en Discourse, y la segunda entrada se relacionará con cómo Discourse procesó la respuesta que recibió de tu sitio web.
Es posible que haya otro mensaje de error relevante que no comience con el texto Verbose SSO log. Revisa las entradas del registro de alrededor del momento en que realizaste la solicitud de SSO.
Lo intenté de nuevo y obtuve tres mensajes de registro idénticos, iguales al anterior. Si sigo esa línea, debe significar que no hay ninguna respuesta desde mi sitio web en absoluto.
Sí, eso me parece correcto. Podrías intentar revisar las solicitudes que se están realizando abriendo el inspector web de tu navegador en la pestaña de Red. Selecciona la opción “Preservar registros” en esa pestaña y haz clic en el enlace de inicio de sesión en tu sitio de Discourse.
Solo una pequeña actualización sobre este asunto: el módulo de SSO de Discourse ha sido parcheado y ya no hace que el sitio se caiga.
Sin embargo, aún no funciona, ya que es imposible cerrar sesión correctamente una vez que has iniciado sesión. Se ha abierto otro problema, por si alguien quiere echarle un vistazo.
Parece que cerrar sesión en Discourse no está sincronizado con cerrar sesión en el sitio del proveedor de SSO. Dado que aún tienes una sesión iniciada en el sitio del proveedor de SSO, la próxima vez que hagas clic en el enlace de inicio de sesión de Discourse, te autenticarás basándote en tu sesión activa en el proveedor de SSO.
El ajuste del sitio logout redirect de Discourse se puede utilizar para cerrar la sesión de los usuarios en el sitio del proveedor de SSO. Cuando un usuario cierra sesión en Discourse, se redirigirá automáticamente a esa URL. El proveedor de SSO deberá gestionar la URL para cerrar la sesión del usuario. Sin embargo, no estoy lo suficientemente familiarizado con Drupal para saber qué sería necesario hacer para implementar esto.
Este módulo funciona correctamente, solo hay un error con la imagen de perfil del usuario de Drupal, pero hay un parche en espera,
Esta publicación es incorrecta respecto a la configuración en Discourse: la sso_url debe terminar con /discourse_sso, NO con /discourse/sso.
Si deseas poder iniciar sesión con varias cuentas diferentes, debes establecer http://miwebsite/user/logout como la redirección de cierre de sesión y desactivar Ghostery en tu navegador para tu sitio de Discourse si estás utilizando este plugin.