Будет описан самый простой метод. К сожалению он не самый настраиваемый…
Итак! Для начала идём по этой ссылке и регистрируем свой сайт. Вам необходимо будет ввести название и описание сайта. Затем подтвердить кодом из СМСки. После чего вы попадёте на страничку управления приложением. Переходим в настройки:
Там вы увидите ID вашего приложения и секретный код! Именно эти два параметра вызвали у меня недоумение при реализации авторизации на моём сайте.
Теперь приступим к кодингу.
Необходимо создать страницу (назовём её «vklog.php») для проверки данных пользователя и ввести туда примерно такие строки на php:
$f_name = $_GET[«first_name»];
$l_name = $_GET[«last_name»];
$hash = $_GET[«hash»];
$user_id = $_GET[«uid»];
/* зададим ID приложения и секретный код */
$app_id = 2117537;
$key = «secret_key»;
/* нахождения хэша для проверки */
$md = md5($app_id.$user_id.$key);
/* проверяем удачна ли регистрация */
if ($md == $hash) {
$_SESSION[‘name’] = $f_name.» «.$l_name;
$_SESSION[‘pass’] = md5(«vk_login»);
echo «<meta http-equiv=’refresh’; content=’0; url=».$url.»‘> «;
} else echo «Не надо мухлевать!»;
Поговорим о ней. Первые четыре строки — получение параметров от виджета для авторизации (о нём позже). Мы получаем Имя, Фамилию, id и хэш (он нам понадобиться для проверки авторизации).
Далее мы задаём ID приложения и секретный код (их мы как раз и списываем с той странички контича).
Теперь необходимо создать переменную которую мы будем сравнивать с хэшем. Из документации ВКонтакте знаем, что это делается нахождением хэш суммы от переменных ID приложения, ID пользователя и секретного кода.
Сделав это, сравниваем полученные данные и если всё совпало авторизируем пользователя (на моём сайте просто создаётся сессия) с указанным именем, а пароль создаём условно (конечно при проверке следует учитывать, что этот пароль верен).
Теперь установим виджет для авторизации на сайт. Переходим на эту страничку .
Там заполняем поле «Адрес для авторизации» — туда вписываем имя нашего php скрипта (тоесть «vklog.php») :
Потом копируем «Код для вставки» и вставляем его в необходимую область страници. Вот и всё! Теперь можно авторизоваться на сайте используя ВКонтакте.
Недостатком этого метода является то, что виджет авторизации не имеет никаких настроек, которые можно было бы сменить! А сам по себе он не настолько мал, чтобы не предъявлять притензий. Этот «дефект» устраняется через API ВКонтакте. Но об этом уже в другой статье!