Last active
July 18, 2022 19:23
-
-
Save ezequiel9/0321483608094845ecb2 to your computer and use it in GitHub Desktop.
Login con Facebook en tu web Js. Simpe y facil.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Previamente crear y configurar tu app desde facebook developers. | |
//insertá este código en tu página y agregá tu APP ID y listo!.. Lee los comentarios para mas detalles. | |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Document</title> | |
</head> | |
<body> | |
<script> | |
// This is called with the results from from FB.getLoginStatus(). | |
function statusChangeCallback(response) { | |
console.log('statusChangeCallback'); | |
console.log(response); | |
// The response object is returned with a status field that lets the | |
// app know the current login status of the person. | |
// Full docs on the response object can be found in the documentation | |
// for FB.getLoginStatus(). | |
if (response.status === 'connected') { | |
// Logged into your app and Facebook. | |
testAPI(); //llamás a la función testAPI que levanta el Correo, ID y NAME del usuario para luego guardarla en la DB | |
} else if (response.status === 'not_authorized') { | |
// The person is logged into Facebook, but not your app. | |
document.getElementById('status').innerHTML = 'Please log ' + | |
'into this app.'; | |
} else { | |
// The person is not logged into Facebook, so we're not sure if | |
// they are logged into this app or not. | |
document.getElementById('status').innerHTML = 'Please log ' + | |
'into Facebook.'; | |
} | |
} | |
// This function is called when someone finishes with the Login | |
// Button. See the onlogin handler attached to it in the sample | |
// code below. | |
function checkLoginState() { | |
FB.getLoginStatus(function(response) { | |
statusChangeCallback(response); | |
}); | |
} | |
window.fbAsyncInit = function() { | |
FB.init({ | |
appId : '{TU-APP-ID}', | |
cookie : true, // enable cookies to allow the server to access | |
// the session | |
xfbml : true, // parse social plugins on this page | |
version : 'v2.5' // use graph api version 2.5 | |
}); | |
// Now that we've initialized the JavaScript SDK, we call | |
// FB.getLoginStatus(). This function gets the state of the | |
// person visiting this page and can return one of three states to | |
// the callback you provide. They can be: | |
// | |
// 1. Logged into your app ('connected') | |
// 2. Logged into Facebook, but not your app ('not_authorized') | |
// 3. Not logged into Facebook and can't tell if they are logged into | |
// your app or not. | |
// | |
// These three cases are handled in the callback function. | |
FB.getLoginStatus(function(response) { | |
statusChangeCallback(response); | |
}); | |
}; | |
// Load the SDK asynchronously | |
(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')); | |
// Here we run a very simple test of the Graph API after login is | |
// successful. See statusChangeCallback() for when this call is made. | |
function testAPI() { | |
// si se ejecuta esta funcion es porque todo salió correctamente Ya podes guaradar los datos del usuario y cargar la session | |
// podrías usar el metodo post para enviar por ajax los datos a un archivo .php que se encargue del resto. | |
console.log('Welcome! Fetching your information.... '); | |
FB.api('/me', {fields: 'name, email'}, function(response) { | |
if (response && !response.error) { | |
/* handle the result */ | |
console.log(JSON.stringify(response));//muestra en la consola del browser los datos recibidos! | |
//acá iría el .post(); | |
document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.name + '!'; | |
} | |
}); | |
} | |
</script> | |
<!-- | |
Below we include the Login Button social plugin. This button uses | |
the JavaScript SDK to present a graphical Login button that triggers | |
the FB.login() function when clicked. | |
--> | |
<fb:login-button scope="public_profile,email" onlogin="checkLoginState();"> | |
</fb:login-button> | |
<div id="status"> | |
</div> | |
Muak25
commented
Jul 18, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment