Problema en la redirección SSO para componer un nuevo tema pre-rellenado a través de URL

Hola

Estoy implementando mi propio servicio de autenticación como proveedor SSO para Discourse. Funciona correctamente. Sin embargo, cuando mis usuarios (que no han iniciado sesión) abren una URL de tema prellenado, no ven esos datos prellenados después de ser redirigidos de nuevo a Discourse.

Escenario completo:

  • Un usuario no conectado abre una URL de creación de tema prellenado.
  • Es redirigido automáticamente a la página de SSO.
  • Inicia sesión mediante SSO y es redirigido de nuevo a http://discourse_site/session/sso_login?.....
  • Aquí espero que el usuario vea el cuadro de creación de tema con los datos rellenados, pero Discourse solo muestra la página del último tema. Ni siquiera muestra el cuadro de creación de tema.

¿Alguien puede ayudarme con este problema? ¿Hay algún error en mi configuración o se trata de un bug?

También puedo confirmar que si estoy en un tema específico y presiono “iniciar sesión”, la redirección funciona correctamente y regreso a ese tema.

2 Me gusta

Intenta usar el enfoque que se describe aquí: Creating pre-filled personal message links - #11.

2 Me gusta

Ok, está funcionando. Muchas gracias

mensaje anterior:

Gracias @simon por tu respuesta. Lamentablemente no logré que funcionara. En tu enlace indicaba usar una URL como

http://localhost:3000/session/sso?return_path=http%3A%2F%2Flocalhost%3A3000%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation+requested+about+gentle+yoga+classes
Primero pensé que debía agregarla en la etapa 6 de la documentación oficial de SSO de Discourse. Entonces sería algo así:

http://discourse_site/session/sso_login?sso=payload&sig=sig&return_path=https%3A%2F%2Fdiscourse_site%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation%2Brequested%2Babout%2Bgentle%2Byoga%2Bclasses

Pero no funcionó. Así que empecé a probarlo en diferentes lugares y ninguno funcionó. ¿Podrías explicarme con más detalle dónde debo colocar return_path?

1 me gusta

Todo lo que necesitas hacer es crear un enlace en el formato indicado en esa publicación. Deberás sustituir la URL correcta de tu sitio de Discourse y cambiar el nombre de usuario de scossar por uno que exista en tu sitio. No agregues los parámetros payload o sig al enlace. Todo eso debería ser manejado por tu implementación SSO existente. El parámetro return_path simplemente redirige al usuario a una URL que creará el tema prellenado.

Ten en cuenta que en el ejemplo al que enlazo, estoy creando un mensaje prellenado, no un tema prellenado. Necesitarás ajustar el return_path dado en el código de ejemplo para crear un tema en lugar de un mensaje.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.