Rocket.Chat SSO + complemento embebido

He añadido esta función al plugin. Simplemente actualízalo a la última versión y luego configura el ajuste discourse rocketchat default channel (canal predeterminado de discourse rocketchat) como vacío.

1 me gusta

¡Genial! Lo actualizaré y lo probaré tan pronto como regrese a mi casa la próxima semana.
¡Gracias de nuevo!

Este plugin está causando algunos problemas en mi sistema para todos los usuarios:

Después de presionar el botón Iniciar sesión CAS, aparece una ventana emergente con el siguiente enlace:

rocketchat.domain/_cas/BJZ6ef4aSDdeEf5C?ticket=c27a3525gg4ggff7f859f4a3a37c

(Aleatoricé algunas partes de los tokens pegados por razones de seguridad).

Es una página en blanco que no se cierra sola y el inicio de sesión no procede a menos que el usuario cierre la ventana. Una vez que el usuario cierra esta ventana emergente, el inicio de sesión continúa y todo funciona bien después. Sucede cada vez que alguien intenta iniciar sesión, incluso para usuarios que ya han iniciado sesión previamente.

¿Pudiste hacer que la redirección automática funcionara? He probado el script personalizado de @RGJ y también este CAS Plugin: Add direct login redirect for a CAS-enabled RC instance · Issue #2327 · RocketChat/Rocket.Chat · GitHub, pero sin éxito.

Hay un script en línea allí para cerrar esa ventana que probablemente no está siendo incluido en tu CSP.
Como solución rápida, en el lado de Rocket.Chat, ve a Admin - General y deshabilita “Enable Content-Security-Policy”. Ten en cuenta que esto podría exponer tu sitio a problemas de seguridad. Deberías abordar el problema subyacente.

Por favor, limita todos los informes y solicitudes aquí a problemas relacionados con el plugin. Cualquier error que ocurra dentro de Rocket.Chat o en tu nombre de host de Rocket.Chat, debe considerarse un problema de Rocket.Chat y no un problema de Discourse o del plugin.

1 me gusta

¡Probé la nueva versión y funciona genial! ¡Muchas gracias!

1 me gusta

@Mr.X_Mr.X, estaba experimentando el mismo problema con la ventana en blanco que no se cerraba y pensaba que el problema se debía a algo que estaba haciendo mal en la configuración de CAS.
Deshabilité Content-Security-Policy y ahora las ventanas blancas se cierran solas. ¡Gracias Richard por explicar dónde estaba el problema!
Aún así, sería genial poder entender cómo agregar la excepción y habilitar esta función de seguridad.

@RGJ Disculpa la pregunta, pero ¿no está este problema relacionado con tu plugin? ¿No está el script en línea incrustado en tu plugin? ¿O estabas hablando de un script en línea agregado manualmente en el lado de Rocket.Chat?
Muchas gracias de nuevo.

No, está en la ventana emergente de CAS dentro de Rocket.Chat (puedes ver que la URL de la ventana emergente está en el nombre de host de RC).

De acuerdo, lo siento, prometo que no haré más preguntas después de esta única:
¿entonces sugerirías añadir una lista blanca al CSP de rocketchat (probablemente añadiendo el dominio de discourse, supongo)?

[quote=“mangojumbo, post:51, topic:199450”]¿qué sugerirías para añadir una lista blanca al CSP de Rocket.Chat (probablemente con el dominio de Discourse, supongo)?
[/quote]

No, esto es 100% un problema del lado de Rocket.Chat. El Javascript de Rocket.Chat está intentando cerrar una ventana emergente de Rocket.Chat, pero no se le permite hacerlo según el CSP de Rocket.Chat.
Ocurre con todas las ventanas emergentes de inicio de sesión en Rocket.Chat, como CAS u OAuth2. Si buscas, también encontrarás otros informes.

¡Genial! ¡Muchas gracias de nuevo por tu explicación!

¿Habría alguna forma de tener canales específicos por tema? Así, si el plugin se mostrara en este tema, el canal se establecería automáticamente en “rocket-chat-sso-embed-plugin-for-discourse”.