javascript - public_profile - Al usar la API de inicio de sesión de análisis de Facebook, los resultados en el usuario actual son nulos
fb login button scope public_profile email onlogin checkloginstate();</ fb login button (1)
Parece que hay un error con el manejo de sesiones de Parses con Facebook.
Puede que no sea una solución, pero es una solución mientras tanto,
puede usar la session become
con la ficha de Facebook que adquirió debe hacer
el truco
Estoy usando parse para crear un sitio de demostración simple que permite a los usuarios iniciar sesión / registrarse usando su cuenta de Facebook.
el inicio de sesión devuelve éxito, también obtengo el nombre de usuario correcto, también veo que la base de datos se llena con los datos de cuenta de Facebook
pero de vuelta en app.js: Parse.User.current()
es nulo
Jvascript en el lado del cliente (index.html)
<script>
// Initialize Parse
Parse.initialize("zzzzzzzzzzzzzzzzzzzzz", "zzzzzzzzzzzzzzzzzzzzzzzz");
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({ // this line replaces FB.init({
appId : ''zzzzzzzzzzzzzzz'', // Facebook App ID
status : true, // check Facebook Login status
cookie : true, // enable cookies to allow Parse to access the session
xfbml : true, // initialize Facebook social plugins on the page
version : ''v2.3'' // point to the latest Facebook Graph API version
});
// Run code after the Facebook SDK is loaded.
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, ''script'', ''facebook-jssdk''));
function myFacebookLogin() {
Parse.FacebookUtils.logIn(''user_friends'', {
success: function(user) {
if (!user.existed()) {
alert("User signed up and logged in through Facebook!");
} else {
alert("Already logged on");
}
console.log(user);
alert("user "+user);
FB.api(''/me'', function(response)
{
$("#userIdInput").val(user.id);
$("#userNameInput").val(response.name);
$("#fb-login-form").submit();
});
},
error: function(user, error) {
alert("User cancelled the Facebook login or did not fully authorize.");
}
});
}
$( document ).ready(function() {
$("#logon-block").click(function(){
myFacebookLogin();
});
});
</script>