Pregunta

Implemento el Facebook en mi sitio web de WordPress y todo funciona bien, excepto una situación.

Si cierre sesión desde Facebook y luego hago clic en Inicio de sesión en el sitio web, recibo el error:

Fb.logout () llamado sin un token de acceso.

Entonces reemplazo el código de cierre de sesión con esto:

return javaScript: if (fb.getAccessToken ()) {fb.logout (function () {ubicación.href = '". $ url."'})} else {ubicación.href = '". $ url."'} ";

(Esto se hace en un gancho de WordPress, para que pueda tener la URL de inicio de sesión de WordPress)

Pero ahora, cuando hago clic en el inicio de sesión en esta situación, recibo un error JS:

JavaScript inseguro intento de acceder al marco ...

¿Cómo puedo poder cerrar sesión de forma segura desde Facebook y WordPress? FB.Gogout no tiene una devolución de llamada de error y no arroja ningún error JS, por lo que es difícil verificar esa situación.

¡Gracias!

¿Fue útil?

Solución

Debe obtener el estado de inicio de sesión primero de Facebook, y solo si se inicia sesión, ¿puede llamar a FB.logout? Pruebe el siguiente código.

FB.getLoginStatus(handleSessionResponse);

function handleSessionResponse(response) {

    //if we dont have a session (which means the user has been logged out, redirect the user)
    if (!response.authResponse) {
        return;
    }

    //if we do have a non-null response.session, call FB.logout(),
    //the JS method will log the user out of Facebook and remove any authorization cookies
    FB.logout(response.authResponse);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top