En esta parte veremos como integrar el SDK de Facebook para Javascript y crear
un sistema de autenticación de usuarios en una aplicación web. #javascript #facebook #sdk
Desarrolladores de Facebook: https://developers.facebook.com/
Descargar archivos: https://sites.google.com/site/bibliotecaestudiosphp/archivos/facebook.rar?attredirects=0&d=1
un sistema de autenticación de usuarios en una aplicación web. #javascript #facebook #sdk
Desarrolladores de Facebook: https://developers.facebook.com/
Descargar archivos: https://sites.google.com/site/bibliotecaestudiosphp/archivos/facebook.rar?attredirects=0&d=1
Códigos de ejemplo del capítulo:
index.html ...
<!DOCTYPE HTML> <html> <head> <title>Página de inicio</title> <script src="facebook.js"></script> <meta charset="UTF-8"> <script> window.onload = function(){ /* Comprueba el estado del usuario, incluye esta función en todas la páginas donde el usuario deba estar conectado */ getStateFromUser(); } </script> </head> <body> <div id="status"></div> <button type="button" onclick="FBBtnLogout()">Cerrar sesión</button> </body> </html>
login.html ...
<!DOCTYPE HTML> <html> <head> <title>Login con Facebook</title> <script src="facebook.js"></script> <meta charset="UTF-8"> <script> window.onload = function(){ /* Función que comprueba el estado del usuario, si el usuario ya está conectado será redireccionado a la página de inicio index.html */ FBLogin(); } </script> </head> <body> <div id="status"></div> <button type="button" onclick="FBBtnLogin()">Iniciar sesión</button> </body> </html>
facebook.js ...
// Cargamos la API (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/es_ES/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); // Configuramos la API window.fbAsyncInit = function() { FB.init({ appId : '', //Incluye aquí tu clave pública cookie : true, status : true, xfbml : true, version : 'v2.1' }); } //Redirecciones para después de iniciar sesión o salir de la aplicación var url_after_login = "http://localhost/tutorial-javascript/facebook/index.html"; var url_after_logout = "http://localhost/tutorial-javascript/facebook/login.html"; /* Función para el botón de iniciar sesión con Facebook */ function FBBtnLogin(){ FB.login(function(response) { /* Si el usuario ha iniciado sesión correctamente cargamos la página login.html nuevamente para para que el usuario sea redireccionado a la página index.html */ if (response.authResponse) { window.location.reload(); } }, { /* Solicitamos poder acceder a estos permisos del perfil del usuario */ /* Más información en: https://developers.facebook.com/docs/facebook-login/permissions/v2.2?locale=es_ES */ scope: 'public_profile,email' }); } /* Función para el botón de cierre de sesión en facebook, lógicamente el usuario sale de nuestra aplicación */ function FBBtnLogout(){ FB.logout(function(response) { /* Una vez cerrada la sesión cargamos nuevamente la página para redireccionar al usuario a la página login.html */ window.location.reload(); }); } /* Función para la página login.html, esta función comprueba el estado del usuario, si el usuario está conectado es redirigido a la página index.html, de lo contrario se le solicitará que inicie sesión con su cuenta de Facebook */ function FBLogin() { var status = document.getElementById("status"); FB.getLoginStatus(function(response) { //Conectado if (response.status === 'connected') { window.location.href = url_after_login; } //No autorizado para acceder a la aplicación else if (response.status === 'not_authorized'){ status.innerHTML = "Por favor, tienes que autenticarte con Facebook"; } //No tiene sesión abierta en Facebook else { status.innerHTML = "No has iniciado sesión en Facebook"; } }); } /*Función para el resto de páginas a las cuales sólo los usuarios auténticados tendrán permisos para entrar, si el usuario no está autenticado, es enviado a la página de login (login.html) */ function getStateFromUser(){ //En este elemento html mostraremos el estado del usuario var status = document.getElementById("status"); FB.getLoginStatus(function(response) { //Si el usuario está conectado correctamente a nuestra aplicación if (response.status === 'connected') { //Token para los formularios, para evitar ataques del tipo CSRF var token = response.authResponse.accessToken; /* De esta forma podemos acceder a la información del usuario Más información en: https://developers.facebook.com/docs/facebook-login/permissions/v2.2?locale=es_ES */ FB.api('/me', function(response) { // nombre del usuario name = response.name; // email del usuario email = response.email; // id del usuario id = response.id; // Incluimos un mensaje y la imagen del usuario status.innerHTML = name + " has iniciado sesión correctamente <img src='//graph.facebook.com/"+id+"/picture'>"; }); } // De lo contrario lo enviamos a login.html else if(response.status === 'not_authorized') { window.location.href = url_after_logout; } // De lo contrario lo enviamos a login.html else { window.location.href = url_after_logout; } }); }
Vídeo tutorial de Javascript en Youtube
No hay comentarios:
Publicar un comentario