Авторизация на сайте при помощи OpenID или регистрацию — в топку!

У Яндекса есть один оч замечательный проект по идентификации пользователей на сайте при помощи OpenID — Loginza.ru

Понятное дело, насколько нудно для пользователя каждый раз на на разных сайтах регистрировать свою учётную запись. Сервис Loginza призван унифицировать процесс идентификации(регистрации) пользователей за счёт наличия их аккаунта в популярных социальных сетях, а также сайтах поддерживающих OpenID.

Кстати, пока изучал этот сервис в нескольких местах, причём на разных страницах, заметил фразу — «секрытный ключ». Не могу понять, — это новый термин или действительно опечатка. Если второе, то молодцы кодеры яндекса, используют константы)))

Итак, как юзать. Для начала неплохо бы зарегится на этом сервисе посредством, опять же, OpenID))). У меня процедура регистрации заняла около минуты. Регистрация необходима для того, чтобы добавить свой сайт в систему и получить более безопасную передачу данных, а также возможность просмотра статистики использования идентификации.

На странице, где будет ссылка(кнопка для входа):

$url_auth = urlencode("http://vitaly.by/auth");
$providers = "vkontakte";   // можно через запятую "google, yandex, mailruapi, mailru, vkontakte, facebook..."

Войти через "ВКонтакте"

Обмен данными осуществляется в четыре этапа:
Исходный код файла авторизации:

$widget_id = 1234;  // ваш id loginza
$secret_key = "b22ae2ee978251658b0ddb9346fbb";  // ваш секретный ключ loginza
$api_sign = md5($_POST['token'].$secret_key);
$url = "http://loginza.ru/api/authinfo?token={$_POST['token']}&id={$widget_id}&sig={$api_sign}";
$response = file_get_contents($url);
$array = json_decode($response, 1);  // получаем массив данных о пользователе 
print_r($array);  // посмотрим этот массив

Думаю, что всё предельно ясно. Такую авторизацию я сделал на одном из своих проектов. Очень даже ничего.

Запись опубликована в рубрике PHP с метками , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий