Простейший способ авторизации через Vkontake API

Будет описан самый простой метод. К сожалению он не самый настраиваемый…
Итак! Для начала идём по этой ссылке и регистрируем свой сайт. Вам необходимо будет ввести название и описание сайта. Затем подтвердить кодом из СМСки. После чего вы попадёте на страничку управления приложением. Переходим в настройки:

Там вы увидите 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 ВКонтакте. Но об этом уже в другой статье!

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий