Skip to content

Instantly share code, notes, and snippets.

@valdiney
Created June 3, 2016 20:37
Show Gist options
  • Save valdiney/4461a1d1b22dd6498b6ffadd10550b84 to your computer and use it in GitHub Desktop.
Save valdiney/4461a1d1b22dd6498b6ffadd10550b84 to your computer and use it in GitHub Desktop.
<?php
session_start(); // Sessao do php deve estar ativa
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);
require_once __DIR__ . '/facebook/autoload.php';
// configurar APP_ID e SECRET
define('APP_ID', '586659104822158');
define('APP_SECRET', '21464332800b1d145ee2c55b511943e6');
// instancia
$fb = new Facebook\Facebook([
'app_id' => APP_ID,
'app_secret' => APP_SECRET,
'default_graph_version' => 'v2.5'
]);
if(isset($_SESSION['fb_access_token'])) {
$accessToken = $_SESSION['fb_access_token'];
// verifica validade e expiracao do token
$oAuth2Client = $fb->getOAuth2Client();
$tokenMetadata = $oAuth2Client->debugToken($accessToken);
// valida token
try {
$tokenMetadata->validateAppId(APP_ID);
$tokenMetadata->validateExpiration();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
unset($accessToken);
unset($_SESSION['fb_access_token']);
}
} else {
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
}
if(isset($accessToken)) {
// Logged in!
$_SESSION['fb_access_token'] = (string) $accessToken;
try {
$response = $fb->get('/me?fields=id,name,email,gender,birthday,last_name,locale,hometown', $accessToken);
$resposta = $response->getDecodedBody();
?>
<form id="my_form" name="sendin" method="post" action="http://teste.wifiaqui.com.br/teste/?login=login_face">
<input type="hidden" name="face_nome" id="face_nome" value="<?php echo $resposta['name']; ?>">
<input type="hidden" name="face_email" id="face_email" value="<?php echo $resposta['email'];?>">
<input type="hidden" name="face_sexo" id="face_sexo" value="<?php echo $resposta['gender'];?>">
<input type="hidden" name="face_ano_nascimento" id="face_ano_nascimento" value="<?php echo $resposta['birthday'];?>">
<input type="hidden" name="face_sobre_nome" id="face_sobre_nome" value="<?php echo $resposta['last_name']; ?>">
</form>
<script>
document.sendin.submit();
</script>
<?php
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
} else {
$helper = $fb->getRedirectLoginHelper();
$redirect_url = 'http://teste.wifiaqui.com.br/mediador_facebook/login_facebook.php?belavista';
$loginUrl = $helper->getLoginUrl($redirect_url);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment