PHP Tabanlı Uygulamalarda Facebook İle Giriş Sistemi


Merhaba. Bu yazımda sizlere PHP tabanlı web uygulamalarında Facebook ile nasıl giriş yapacağımızı anlatacağım. Oldukça basit olan bu işlemi öğrendikten sonra daha dinamik uygulamalar geliştirebileceğiz. Yaptığımız uygulamanın çalışır dosyalarını yazının en sonunda bulabilirsiniz. Keyifli okumalar dilerim.

Fon müziği olarak : https://www.youtube.com/watch?v=btPJPFnesV4

Facebook ile Giriş için aşağıdaki adımlar uygulanır.

1-) PHP ile Facebook Login yapmak için , öncelikle bir proje açalım. Projemizin (klasörümüzün) adı FacebookLogin olsun. Oluşturduğumuz projeye aşağıdaki gibi 4 tane .php sayfası ekleyelim.

-index.php

-config.php

-login.php

-fb_callback.php

2-) https://github.com/facebook/php-graph-sdk web sayfasındaki API’yi indirelim. İndirmek için , sağ taraftaki Clone or Download isimli yeşil düğmeye tıklayıp , Download ZIP diyoruz

.

3-) İndirdiğimiz ZIP dosyasını açıyoruz. src klasörünün içindeki Facebook klasörünü alıp, oluşturduğumuz FacebookLogin projesinin içine atıyoruz.

4-)  Şimdi projemizi açıyoruz. login.php ‘ye basit bir giriş formu yapacağız. Bunun için Bootstrap 4’ten faydalanabiliriz. Aşağıdaki gibi bir form oluşturuyoruz. Güzel gözükmesi için bir tane logo oluşturdum. Sayfayı ve logoyu kaynak koddan alabilirsiniz. Logo’yu proje klasörünün içine atınız.

5-)  Formu yaptıktan sonra , config.php’ye gidiyoruz. Burada gerekli parametreleri gireceğiz. Gerekli parametreleri edinmek için bir takım işler yapmamız gerekiyor. Adım adım gidelim.

session_start();
require_once "Facebook/autoload.php"; //Facebook Entegrasyonu için.
$FB = new \Facebook\Facebook([

    'app_id' => '',
    'app_secret' => '',
    'default_graph_version' => ''
]);

Login işlemi için bu parametreleri edinmeliyiz. Bunun için de , öncelikle Facebook for Developer sitesine girip uygulama oluşturmamız gerekiyor. Daha sonra da aşağıdaki işlemleri yapmamız gerekiyor.

https://developers.facebook.com/.     -> Facebook for Developers resmi sitesi

5-1-) Siteye girdikten sonra , sağ üst köşede bulunan My Apps kısmından , Add New App’a tıklıyoruz.

 

5-2-) Açılan pencerede , uygulamamızın adını ve e-mail adresini yazıyoruz. Create App ID’ye tıklıyoruz.

5-3-) Uygulamamızı oluşturduk. Şimdi gerekli ayarlamaları yapacağız. Bunun için , sol taraftaki menüde bulunan Settings’in içindeki Basic’e tıklıyoruz.

5-4-)  Açılan ekranda , uygulamamıza ait çeşitli veriler var.  App ID’yi kopyalayıp , ‘app_id’ parametremize eşitliyoruz.

5-5-) App Secret’i eklemeliyiz. App Secret’e show deyip , facebook şifrenizi giriniz. App Secret açılacaktır. Bunu alıp ‘app_secret’ parametremize eşitliyoruz.

5-6-)  ‘default_graph_version’ parametremize , ’v2.10’ yazıyoruz.

5-7-) Developer sayfamıza tekrar dönüyoruz. AppDomains kısmına , kendi local sunucumuzdan çalıştığımız için , ‘localhost’ yazıyoruz. En aşağıdaki Add a Platform’a tıklayıp , website seçeneğini seçiyoruz. Açılan URL sekmesine de ,

http://localhost/FacebookLogin

yazıyoruz. Save’e basıyoruz

.

-8-) Gerekli parametreleri girdik ve ayarlamaları yaptık. Şimdi config.php dosyasına   , login yardımcısı ekleyeceğiz. Bunun için

$helper =  $FB -> getRedirectLoginHelper();

5-9-) login.php’ye geliyoruz. En üste php taglarımızı açıyoruz.  config.php’yi çağırıyoruz. Login işlemi için , geri dönüş verilerimizi çekeceğimiz URL’yi belirtiyoruz. fb-callback.php ‘den çekeceğiz.Websitemizin Facebook’tan istediği izinleri de burada belirtiyoruz.

5-10-) İzinler için $permissions değişkenini kullanacağız. İzinleri almak için

https://developers.facebook.com/tools/explorer/

adresine gidiyoruz.

Gerekli izinleri “Access Token” ile alacağız. “Get Token”e tıklıyoruz. Açılan pencereden , “Get User Access Token”e tıklıyoruz. Aşağıdaki gibi bir pencere açılacak.

Email’i seçip , “Get Access Token”e tıklıyoruz. Açılan facebook sayfasında Devam et’e tıklıyoruz. GET yapılacak parametrelerin yazdığı kısma aşağıdaki gibi ‘email’ parametresini ekliyoruz. Submit’e tıklıyoruz.

İzinleri almış olduk.

5-11-) config.php’ye geliyoruz.

$redirectURL= "http://localhost/FacebookLogin/fb-callback.php";

ekliyoruz.

5-12-)  config.php’de. $permissions’a emaili atayacağız.

$permissions=['email'];

5-13-) config.php’de Facebook bağlantısı için loginURL alacağız. Bunun için

$loginURL=$helper->getLoginUrl($redirectURL,$permissions);

yazıyoruz.

5-14-) URL’yi aldık. Bu URL’ye oluşturduğumuz Facebook ile Giriş Yap butonuna tıklayınca gitmemiz gerekiyor. Bunun için butona onclick eventi ekleyeceğiz.

<input type="button" onclick='window.location="<?php echo $loginURL;?>"' value="Facebook İle Giriş Yap" class="btn btn-primary">

Şimdi http://localhost/FacebookLogin/login.php sayfasında , Facebook ile Giriş Yap’a tıklıyoruz. fb-callback.php ‘ye gittiğini görüyoruz.

6-) fbcallback.php dosyasından , gelen verileri karşılayacağız.

Bunun için aşağıdaki kod bloğunu yazacağız.

<?php
require_once "config.php";
$accessToken = $helper ->getAccessToken();

if(!$accessToken)
{
    header("Location : login.php");
    exit();
}
$oAuth2Client =$FB->getOAuth2Client();

if(!$accessToken->isLongLived())
{
    $accessToken =  $oAuth2Client ->getLongLivedAccessToken($accessToken);
}

$response =$FB->get("/me?fields=id, first_name, last_name, email, picture.type(large)",$accessToken);
$userData=$response->getGraphNode()->asArray();


$_SESSION['userData']=$userData;
$_SESSION['access_token'] = (string) $accessToken;

Header('Location:index.php');
exit();
?>

Burada , $response kısmında , graph’dan elde ettiğimiz get değerlerini yazıyoruz. Facebook ile Gir butonuna tıkladığımızda sorunsuz bir şekilde index.php’ye eriştiğini görüyoruz.

7-) Artık başarı ile Facebook ile giriş yapmayı başardık. index.php’de verilerimizi ekrana yazdıralım. Kaynak kod indirilebilir dosyanın içindedir.

Ve sonuç

Facebook ile giriş yapmayı başardık. Tebrikler.

Projenin linki : İndirmek için tıkla

Sonraki yazılarımda görüşmek üzere…

PHP Tabanlı Uygulamalarda Facebook İle Giriş Sistemi

Giriş Yap

Hoşgeldin
Don't have an account?
Kayıt Ol

Şifreni Yenile

Back to
Giriş Yap

Kayıt Ol

Ekimize Katılmaya Hazırmısın

Back to
Giriş Yap
Choose A Format
Personality quiz
Series of questions that intends to reveal something about the personality
Trivia quiz
Series of questions with right and wrong answers that intends to check knowledge
Poll
Voting to make decisions or determine opinions
Story
Formatted Text with Embeds and Visuals