Хроники лаборатории
Вкратце о текущем состоянии дневника:

В связи с загруженностью очень интересной работой, почти перестал вести блог. Но, как легко убедиться, пролистав блог слегка назад, так было не всегда.
записи за 15 декабря 2010 // все записи
Логин из вконтакта. Как это работает.

Недавно для простоты комментирования я сделал авторизацию из vkontakte.ru. Для этого потребовалось не так много ресурсов и времени, сейчас для заинтересованных покажу, как это делается.

Во-первых, надо создать свое приложение. Можно не загружать SWF-файл, достаточно получить так называемый «секретный ключ» и идентификатор. Это делается вконтакте, на вкладке с приложениями.

Во-вторых, куда-то на сайте воткнуть кнопку «войти вконтакте» (я ее вынес на отдельную страницу, нечего скриптами страницы блога нагружать).

Под приложение после логина установится куки вида vk_app_ID-приложения. Осталось только ее «поймать» и разобрать:

$vk_auth=trim($_COOKIE["vk_app_ID-приложения"]);
$secret_id='секр-ключ-приложения';
$vk=explode("&",$vk_auth);
$md5_vk=md5($vk[0].$vk[1].$vk[2].$vk[3].$secret);
list($a,$vk_login)=explode("=",$vk[1]);
$vk=explode("=",$vk[4]);

if ($md5_vk==$vk[1]) { // если подпись сходится...
$api_id = "ID_приложения";
$method = "getProfiles";
$uids=$vk_login;
$v="3.0";
// сигнатура для проверки
$sig=md5("api_id=".$api_id."method=".$method."uids=".$uids."v=".$v.$secret_id);
$e="http://api.vkontakte.ru/api.php?api_id=".$api_id."&method=".$method."&uids=".$uids."&v=".$v."&sig=".$sig;

// посылаем запрос, чтобы получить данные о пользователе
$p=file_get_contents($e);
}


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


комментарии: 2 RSS HTML рубрики: приемчикиjuick twitter facebook вконтакте
Подписаться


Рубрики:

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


Разное:

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


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

2024 (1)
2021 (1)
2020 (7)
2019 (3)
2018 (1)
2017 (10)
2016 (12)
2015 (3)
2014 (12)
2013 (10)
2012 (17)
2011 (84)
2010 (172)
декабрь (12)
  6 13 20 27
  7 14 21 28
1 8 15 22 29
2 9 16 23 30
3 10 17 24 31
4 11 18 25
5 12 19 26
ноябрь (5)
октябрь (9)
сентябрь (20)
август (16)
июль (16)
июнь (17)
май (17)
апрель (13)
март (20)
февраль (17)
январь (10)
2009 (228)
2008 (263)
2007 (154)
2006 (4)
2005 (1)
2004 (1)
2002 (1)
2001 (9)
2000 (9)
1999 (1)
© сайт разработан и поддерживается мной.