Prihlásenie cez Facebook

Facebook je v súčasnej dobe populárna sociálna sieť. Pomocou konta na Facebooku môžeme užívateľom sprístupniť rôzne sekcie webu. Užívateľ sa nemusí nikde registrovať, pamätať si ďalšie prihlasovacie údaje, prípadne sa obávať o ich zneužitie. Jednoducho sa na web zaregistruje pomocou konta tretej strany – Facebooku a využíva výhody registrovaného a prihláseného užívateľa, napr. pri nákupe v E-shope, v diskusných fórach a podobne...

Prihlásenie sa na ľubovoľnú stránku prostredníctvom konta na Facebooku nie je náročné. Je potrebné stiahnuť knižnicu Facebook SDK, ktorá umožňuje programátorom a vývojárom pristupovať k funkciám Facebooku a jeho API na strane vášho servera.

Knižnicu je možné stiahnuť na oficiálnej stránke Facebook SDK.

https://developers.facebook.com/docs/php/gettingstarted/
resp. z https://github.com/facebook/facebook-php-sdk

Následne je potrebné vytvorenie vlastnej Facebook aplikácie v časti pre vývojárov: https://developers.facebook.com/apps

Prihlásenie cez Facebook

Zvolíme možnosť Create New App. V novom okne zvolíme názov našej aplikácie a jej kategóriu z ponúknutých možností. Po potvrdení vytvoríme novú aplikáciu, ktorá beží v tzv. skúšobnom móde (Sandbox Mode). Tento mód je možné kedykoľvek prepnúť na tzv. ostrý mód (Sandbox Mode – Disabled). Veľmi dôležité nastavenie nájdeme v časti Website with Facebook Login, kde máme pole Site URL. Do tohto pola musíme zadať doménu v tvare http://nieco.sk.

Prihlásenie cez Facebook

Prihlásenie cez Facebook

Pre ďalšie pracovanie s aplikáciou pomocou knižnice Facebook SDK nás budú zaujímať dva údaje: App ID a App Secret. Sú to kľúče pre identifikáciu aplikácie v knižnici SDK. Ďalšie nastavenia aplikácie sú rozšírené možnosti, ktoré pre potreby prihlásenia na stránku prostredníctvom konta na Facebooku nebudú potrebné a teda nebudem sa im ďalej venovať.

Na vašich stránkach s prihlasovacím linkom musíme pripojiť súbory SDK knižnice a zadefinovať vo vašom skripte nastavenie aplikácie.

<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
    'appId'  => '000000',
    'secret' => '000000',
));

$user = $facebook->getUser(); // GET USER ID
 
if ($user) {
    try {
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}
 
$loginUrl = $facebook->getLoginUrl(); // Prihlasovacia URL
?>

Kde 00000 sú vyššie spomínané kľúče App ID a App Secret.

V SKD knižnici v súbore src/base_facebook.php je potrebné zadefinovať premennú $currentUrl. Mala by byť zhodná s URL adresou, ktorú ste zadávali pri vytváraní aplikácie – Site URL, teda adresou vašich stránok.

Prihlasovací link potom voláme nasledovne: <a href="$loginUrl">Prihlásenie cez Facebook</a>

Po úspešnom prihlásení je možné sprístupniť určitý obsah jednoduchou podmienkouv prostredí PHP.

<?php
if($user)
{
//Zobraz tajný obsah len pre prihlásených
}
else
{
//Zobraz normálny obsah pre neprihlásených
}
?>

Odhlásenie je možné vykonať pomocou vlastného skriptu. Zadefinujeme odkaz na odhlásenie v tvare napr. < a href="?logout=yes">Odhlásenie</a> a následné odhlásenie vykonáme skriptom:

<?php
if ($_GET['logout'] == "yes") 
{
setcookie('fbs_'.$facebook->getAppId(), '', time()-100, '/', 'http://adresa-vasej-stranky.sk/');
session_destroy();
header("Location: ".$_SERVER['PHP_SELF']."");
}
?>

Po prihlásení môžeme získať od prihláseného užívateľa rôzne údaje (meno, profilový obrázok, dátum narodenia, e-mail, pohlavie...). Ich zoznam nájdete tu: https://developers.facebook.com/docs/graph-api/reference/user/

 

Pozrite si tiež fungujúci príklad prihlásenia cez Facebook konto

https://developers.facebook.com/

Pridať komentár k článku