Estoy trabajando con FaceBook JavaScript SDK para iniciar la sesión de los usuarios a través de FaceBook SSO. documentación
Al hacer clic en el botón SSO, se abre una nueva ventana que solicita al usuario que inicie sesión a través de FaceBook. Si el usuario inicia sesión, no hay problema. Sin embargo, si el usuario sale o cancela el SSO, no obtengo una respuesta de FB.
Aquí está la función dada en la documentación de FB:
FB.login(function(response) { if (response.authResponse) { console.log('Welcome! Fetching your information.... '); FB.api('/me', function(response) { console.log('Good to see you, ' + response.name + '.'); }); } else { console.log('User cancelled login or did not fully authorize.'); } }); Intenté usar esta función exactamente y nuevamente si cancelo el SSO, el bloque else nunca se ejecuta como esperaría.
Estoy tratando de modificar ligeramente la función, pero aún no puedo obtener una respuesta cuando se cancela la página.
static login(callbacks, { mode = "login" }) { const FB = window.FB; FB.login( (res) => { console.log(res); const { authResponse } = res; if (mode === "login") { Facebook.socialSignOn(authResponse, callbacks); } else if (mode === "verify") { Facebook.socialVerify(authResponse, callbacks); } }, { return_scopes: "true", scope: "email" } ); }ACTUALIZAR
Después de jugar más, parece que si trato de usar FB SSO, cancelo y luego vuelvo a intentarlo, todos los futuros intentos de FB.login() reciben inmediatamente una respuesta con authResponse : null