Soy nuevo en PHP y me ha resultado muy difícil entender el sistema de inicio de sesión de Facebook.Incorporación de inicio de sesión de Facebook, usando Facebook php-sdk (v.3.0.0), con sesiones y cookies
He descargado los tres archivos src/de github (https://github.com/facebook/php-sdk/). Intenté usar el archivo example.php para comenzar. Sin embargo, no estoy seguro de qué hacer con eso.
Para aquellos que no están familiarizados con el archivo, aquí es una copia de ejemplo.php, con algunos de los estilo Eliminado:
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '...',
'secret' => '...',
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
$naitik = $facebook->api('/naitik');
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<body>
<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
<div>
Login using OAuth 2.0 handled by the PHP SDK:
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
</div>
<?php endif ?>
<h3>PHP Session</h3>
<pre><?php print_r($_SESSION); ?></pre>
<?php if ($user): ?>
<h3>You</h3>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
<h3>Your User Object (/me)</h3>
<pre><?php print_r($user_profile); ?></pre>
<?php else: ?>
<strong><em>You are not Connected.</em></strong>
<?php endif ?>
<h3>Public profile of Naitik</h3>
<img src="https://graph.facebook.com/naitik/picture">
<?php echo $naitik['name']; ?>
</body>
</html>
Estas son las preguntas que tengo en lo que se refiere a la misma:
1) ¿Qué ocurre con las cookies? - Deseo que el usuario pueda iniciar sesión en mi sitio web después de volver a abrir su navegador.
2) ¿Cuál es el mínimo indispensable que necesito para salir de este archivo example.php para validar/registrar un usuario, comenzar una sesión, almacenar la sesión en una cookie, obtener la identificación de usuario fb del usuario, nombre fb, imagen fb, y lista de amigos fb?
3) En los src/archivos, hay un 'archivo fb_ca_chain_bundle.crt,' y no estoy completamente familiarizado con el tipo de archivo, y no estoy seguro de si es necesario. ¿Cual es su propósito?
4) La línea $naitik = $facebook->api('/naitik');
es "naitik" el nombre de usuario de esta persona, así que si escribo facebook.com/naitik, ¿se mostrará su perfil público? está reemplazando "/ naitik" por "/ me" ¿qué obtendrá el perfil público de la persona que inició sesión en Facebook?
5) ¿Cómo obtengo el token de acceso y cómo lo uso en mi código?
6) Cuando creo una sesión para el usuario y una cookie para que el usuario inicie sesión después de volver a abrir el navegador, ¿qué debería almacenar exactamente en mis sesiones y cookies?
Sé que esta es una gran cantidad de preguntas, pero he revisado muchos tutoriales en línea, y ninguno de ellos ha hecho un buen trabajo explicando esto, sobre todo porque solo vuelven a enlazar a los archivos de PHP-SDK de Github. Además, la mayoría de ellos explica una versión anterior de PHP-SDK. Se agradece cualquier ayuda, con cualquiera de las preguntas.
[Thinkdiff] (http://thinkdiff.net/) tiene algunos tutoriales más o menos actualizados sobre el tema. –