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…
Connect with us