Хроники лаборатории |
Логин из Facebook. Как это работает. | (← 25 мар 2011г, 14:35 →) |
Вспомнил, что совсем забыл рассказать, как я сделал авторизацию из Фейсбука. Итак, как это делается? Во-первых, надо создать свое приложение (получить «секретный ключ» и идентификатор приложения). Я с трудом нашел ссылку, по которой это делается, так что делюсь: 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 рубрики: приемчики | |
|
Случайные записи впридачу: Разорванный рассвет (обои) Не надо... (стихи) Уникальные люди (точка зрения)
|
Tatarnikoff (25 мар 2011г, 17:08) []
Интересно, а на WP можно это как-то реализовать? |
V.exeR (25 мар 2011г, 18:08) []
Tatarnikoff: ты так говоришь, будто WP - какой-то отдельный язык Тут же все в отдельном скрипте выполняется. Потом я просто создаю учетку в базе на основе полученных данных. Кто тебе мешает сделать так же? |
konstantin24 (26 мар 2011г, 08:32) []
Спасибо за местер-класс,попробую реализовать вышесказанное. |
|
Оставлять комментарии могут только имеющие свой ЖЖ-, ЛИру-аккаунт или еще какой openID (как так?). |
|