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
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.
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
Pridať komentár k článku