Estoy integrando Discourse con Wordpress a través del plugin WP Discourse y utilizando Wordpress como proveedor de Discourse Connect. Sin embargo, me encuentro con un problema en el que un usuario no autenticado que visita la instancia de Discourse y hace clic en cualquier botón que requiera inicio de sesión se queda atascado en un bucle de redirección infinito.
El comportamiento deseado es: el usuario hace clic en el botón de inicio de sesión de Discourse → el usuario es redirigido a la página de inicio de sesión de Wordpress → el usuario se autentica y es redirigido de vuelta a la página de Discourse en la que estaba antes. Actualmente no hay problemas si un usuario ya está autenticado y visita la instancia de Discourse después de haberse autenticado. Este error aparece cuando un usuario no autenticado visita primero la instancia de Discourse.
El comportamiento actual es: el usuario hace clic en un botón de inicio de sesión de Discourse → el usuario es dirigido a https://[discourse-instance]/session/sso?return_path=%2Ft%2F[página de Discourse en la que estaba el usuario antes]%2F16 → el usuario es dirigido a https://[wordpress-site]/?sso=[token SSO]%3D%3D&sig=[token de firma] → el usuario es dirigido a https://[wordpress-site]/?sso=[token SSO]%3D%3D&sig=[token de firma]&redirect_to=%2F%3Fsso%[token SSO]%253D%253D%26sig%3D[token de firma] → y el ciclo continúa recursivamente hasta que el navegador arroja un error de “demasiadas redirecciones”.
No he podido encontrar un hilo con una solución para esto, el más cercano es
pero tenemos SSL habilitado en todas partes y este problema ocurre en todos los navegadores. ¿Alguna sugerencia sobre cómo solucionar este problema?
Chrome 97 se lanzó con un error relacionado con el manejo de cookies durante las redirecciones, que se sabe que interrumpe DiscourseConnect en algunas circunstancias. Mientras esperamos que Google implemente una solución, hemos agregado una solución alternativa a Discourse. Actualizar tu sitio de Discourse a la última versión debería resolver el problema. ¿Puedes intentarlo y decirnos si funciona?
(La solución alternativa se agregó en este commit)
Gracias por la respuesta, acabo de comprobar para asegurarme de que estamos en la última versión, pero desafortunadamente el error sigue ahí. Estamos alojando nuestro foro con Discourse, por lo que debería actualizarse regularmente. El error sigue siendo el mismo que antes, ¿hay algo más que deba intentar? ¿Hay configuraciones dentro del alojamiento de Discourse que puedan estar causando esto?
Luego envíame los registros por mensaje privado y echaré un vistazo más de cerca a lo que está sucediendo. Ten en cuenta que los registros no contienen información de identificación personal ni secretos.
El problema de redirección que se describe aquí parece similar a lo que he visto con otros sitios de Woocommerce en el pasado. En esos casos, se ha resuelto instalando el plugin de WordPress al que enlacé.
Si esta es la causa del problema, me pregunto si deberíamos considerar añadir soporte para Woocommerce directamente al plugin WP Discourse.
No estoy teniendo el problema exacto que el OP ha descrito, pero estoy chocando contra un muro al redirigir a nuestros usuarios de regreso a donde estaban, en los foros de Discourse, después de iniciar sesión
Solo quería publicar una actualización aquí, resulta que uno de los complementos que estábamos usando estaba interfiriendo con el valor de retorno de la función wp_login_url() de Wordpress. ¡Una vez que se eliminó ese complemento, todo funcionó como se esperaba!