PHP – Facebook ile Giriş Yapma

Facebook Login API’sini kullanarak PHP ile Facebook ile giriş yapma işlemi yapabilirsiniz. Aşağıdaki adımları izleyerek Facebook ile giriş yapmanızı sağlayabilirsiniz:

  1. Facebook Developer hesabı oluşturun: Facebook Login API’sini kullanmak için Facebook Developer hesabı oluşturmanız gerekir.
  2. Uygulama oluşturun: Facebook Developer hesabınızda bir uygulama oluşturun. Uygulama ayarlarınızda “Facebook Login” seçeneğini etkinleştirin.
  3. SDK kurun: Facebook Login için PHP SDK kurmanız gerekir. SDK’yı buradan indirebilirsiniz: https://github.com/facebook/facebook-php-sdk
  4. Giriş işlemini yapın: Kullanıcının Facebook ile giriş yapmasını istediğiniz sayfaya aşağıdaki kodu ekleyin:
<?php
require_once __DIR__ . '/vendor/autoload.php';

$fb = new Facebook\Facebook([
  'app_id' => 'YOUR_APP_ID',
  'app_secret' => 'YOUR_APP_SECRET',
  'default_graph_version' => 'v3.3',
]);

$helper = $fb->getRedirectLoginHelper();

$permissions = ['email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('https://example.com/fb-callback.php', $permissions);

echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';
?>

5. Giriş başarılıysa kullanıcı verilerini alın: Facebook ile giriş yapıldıktan sonra kullanıcı verilerini almak için aşağıdaki kodu ekleyin:

<?php
require_once __DIR__ . '/vendor/autoload.php';

$fb = new Facebook\Facebook([
  'app_id' => 'YOUR_APP_ID',
  'app_secret' => 'YOUR_APP_SECRET',
  'default_graph_version' => 'v3.3',
]);

$helper = $fb->getRedirectLoginHelper();

try {
  $accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

if (! isset($accessToken)) {if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}

// Logged in
echo '<h3>Access Token</h3>';
var_dump($accessToken->getValue());

// The OAuth 2.0 client handler helps us manage access tokens
$oAuth2Client = $fb->getOAuth2Client();

// Get the access token metadata from /debug_token
$tokenMetadata = $oAuth2Client->debugToken($accessToken);
echo '<h3>Metadata</h3>';
var_dump($tokenMetadata);

// Validation (these will throw FacebookSDKException's when they fail)
$tokenMetadata->validateAppId('YOUR_APP_ID'); // Replace {app-id} with your app id
// If you know the user ID this access token belongs to, you can validate it here
//$tokenMetadata->validateUserId('123');
$tokenMetadata->validateExpiration();

if (! $accessToken->isLongLived()) {
// Exchanges a short-lived access token for a long-lived one
try {
$accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n";
exit;
}

echo '<h3>Long-lived</h3>';
var_dump($accessToken->getValue());
}

$_SESSION['fb_access_token'] = (string) $accessToken;

// User is logged in with a long-lived access token.
// You can redirect them to a members-only page.
//header('Location: https://example.com/members.php');
?>
 

Bu, Facebook Login API’sini PHP ile nasıl kullanabileceğinizi gösteren bir örnektir. Ayrıntılı bilgi için Facebook Developer Dokümanları’nı inceleyebilirsiniz.

Previous Article

Flutter ile Yapılacakbilekler

Next Article

Yanıt Geçerli Bir JSON Yanıtı Değildir Hatası Çözümü (WordPress)

Write a Comment

Leave a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir