Discurso de SSO tiene error en la misma sesión

Hola, uso SSO para iniciar sesión en WordPress a través de Discourse. Utilicé el plugin de Discourse para WordPress. Al principio funcionó sin problemas.

Pero cuando estoy en la misma sesión (sin haber cerrado sesión) e intento acceder al enlace de administración /wp-admin/, no me redirige al panel de control y muestra este error en el formulario de inicio de sesión:

Nonce expirado

Hay algo mal con la sesión o las cookies. Esto confunde al usuario, ya que utilizo SSO con inicio de sesión de Google.

Creo que el problema que estás experimentando es causado por la caché de objetos en tu servidor. Prueba agregando algo como el siguiente código al archivo functions.php de tu tema de WordPress para ver si resuelve el problema:

add_filter('wpdc_sso_client_query', 'wpdc_custom_sso_client_query' );
function wpdc_custom_sso_client_query() {
    return wp_generate_password( 12, false );
}

Hay más detalles sobre esto aquí: Wordpress SSO Expired nonce - #15 by simon.

Aún falló con este código.
Discourse no funciona bien con Cloudflare, pero uso Cloudflare para proteger mi sitio web. ¿Está bien?

Está bien si borro las cookies y vuelvo a iniciar sesión, pero es confuso.

Se detiene en este enlace:

/wp-login.php?discourse_sso_error=expired_nonce

Creo que no es Cloudflare, porque esta regla que configuré para probar y omitir:

La prueba interesante que encontré es que no todos los enlaces de tu plugin fallaron.

Este enlace funciona normalmente:

/?discourse_sso=7cygqwtc8aaz&redirect_to=https%3A%2F%2Fmyweb.net%2Fmy-account

Esto significa que tu parámetro “7” en el SSO está correcto

Intenté redirigir mi enlace a este parámetro para redirigir al usuario.
Podrías verificar y resolver esto mediante los parámetros de los enlaces.

Este enlace, que aparece en el texto “External Login Text”, funciona correctamente.

All-Options-‹-Working24-—-working24-net

¿Al final encontraste una solución? Yo tengo el mismo problema.

Intenta usar la solución que se proporciona aquí: Wordpress SSO Expired nonce - #15 by simon.

1 me gusta

Gracias, lo he aplicado pero el problema persiste.

@Golaxo ¿Tú también estás usando Cloudflare?

De ser así, por favor intenta desactivar Cloudflare por completo y verifica si el problema persiste.

2 Me gusta

Gracias, colega. Después de jurar mucho, encontré el problema: el plugin Paid Membership Pro generó un conflicto. Todavía tengo que averiguar cómo restringir contenido en WordPress para usuarios que vienen de Discourse SSO, pero al menos ya veo dónde está el problema :slight_smile:

2 Me gusta