Хроники лаборатории
Логин из Facebook. Как это работает.

Вспомнил, что совсем забыл рассказать, как я сделал авторизацию из Фейсбука. Итак, как это делается?

Во-первых, надо создать свое приложение (получить «секретный ключ» и идентификатор приложения). Я с трудом нашел ссылку, по которой это делается, так что делюсь: http://facebook.com/developers.

Во-вторых, куда-то на сайте воткнуть ссылку вида https://www.facebook.com/dialog/oauth?client_id=ID-приложения&scope=email&redirect_uri=адрес-куда-вернется-результат-запроса.

По сути, при нажатии на эту ссылку Facebook смотрит, залогинен ли пользователь, спрашивает пользователя разрешения предоставить вашему приложению требующуюся информацию (выставляются права доступа для приложения) и возвращает кодированный ответ. Код мы снова гоним к Фейсбуку, получая token (типа временный аусвайс на работу), а затем получаем данные пользователя. Все довольно просто:

$app_id='ID-приложения';
$app_secret='секр-ключ-приложения';

$code=$_REQUEST["code"];
$token_url="https://graph.facebook.com/oauth/access_token?client_id=".$app_id."&redirect_uri=".urlencode($my_url)."&client_secret=".$app_secret."&code=".$code;
// Получаем token
$access_token=file_get_contents($token_url);

// А теперь, с token'ом наперевес, считываем информацию
$graph_url="https://graph.facebook.com/me?".$access_token;
$e=file_get_contents($graph_url);


А теперь можно сделать $e=json_decode($e); и использовать данные, как заблагорассудится. Я, например, беру свойства $e->link, $e->name и $e->email.

Если кому-то поможет (или, наоборот, что-то не получится) - пишите.


RSS HTML рубрики: приемчикиjuick twitter facebook вконтакте

Случайные записи впридачу:
Разорванный рассвет (обои)
Не надо... (стихи)
Уникальные люди (точка зрения)

Tatarnikoff (25 мар 2011г, 17:08) [ссылка на комментарий]

Интересно, а на WP можно это как-то реализовать?
V.exeR (25 мар 2011г, 18:08) [ссылка на комментарий]

u7790 Tatarnikoff: ты так говоришь, будто WP - какой-то отдельный язык :D Тут же все в отдельном скрипте выполняется. Потом я просто создаю учетку в базе на основе полученных данных. Кто тебе мешает сделать так же?
konstantin24 (26 мар 2011г, 08:32) [ссылка на комментарий]

Спасибо за местер-класс,попробую реализовать вышесказанное.
Откуда вы?   

Войти через loginza
Оставлять комментарии могут только
имеющие свой ЖЖ-, ЛИру-аккаунт или
еще какой openID (как так?).
Подписаться


Рубрики:

жизненное
аудио-я
видеомонтаж
фотоохота
ремонт
стихи
рассказы
синематограф
библиотека
фонотека
точка зрения
FAQ
приемчики
придумалось
ожидания-прогнозы
допридумано
рингтоны
это я так шучу
обои
микрозарисовки
опасный Интернет
я в печати
поездки-тусовки
смехоспам
мой код
футболки
игродром
подводная жизнь
сайтоводство
программы
персоны
LI.ru
аватарки
курсоры


Разное:

Полка с фильмами
Книжная полка
Полка с играми
Избранное


Календарь записей

2020 (7)
июнь (1)
май (1)
апрель (2)
март (2)
февраль (1)
2019 (3)
2018 (1)
2017 (10)
2016 (12)
2015 (3)
2014 (12)
2013 (10)
2012 (17)
2011 (84)
2010 (172)
2009 (228)
2008 (263)
2007 (154)
2006 (4)
2005 (1)
2004 (1)
2002 (1)
2001 (9)
2000 (9)
1999 (1)
© сайт разработан и поддерживается мной.