OpenID — развивающийся стандарт для идентификации и авторизации в интернете. Идентификация происходит не по логину и паролю, а по URL. Этот URL указывает на веб страницу, которая может подтвердить что вы это вы.
Множество сайтов предлагают OpenID ссылки своим пользователям, в их числе LiveJournal, AOL, Technorati и прочие. Но многим не нравится, что их личная информация находится у третьей стороны. В этом посте я расскажу как сделать свой собственный OpenID провайдер.
Для этого будем пользоваться open source PHP скриптом — phpMyID.
Что нам нужно?
Скачайте последнюю версию phpMyID и положите файлы MyID.config.php и MyID.php в каталог phpmyid на сервере. После этого в браузере перейдите по ссылке http://yourwebserver/phpmyid/MyID.config.php
На открывшейся странице нужно перейти по ссылке Login. Скрипт спросит логин и пароль, который нужно предварительно установить.
Сначала нужно получить md5 хеш следующей комбинации:
username:phpMyID:password
где username — логин, password — пароль
В командной строке в Linux хеш можно получить следующем образом:
echo -n "username:phpMyID:password" | md5sum
В ответ будет выведен 32-значный хеш, например 22a204f0bf622e4a35f3d71304378ca9.
Теперь нужно открыть файл MyID.config.php и указать настройки:
'auth_username' => 'username', 'auth_password' => '22a204f0bf622e4a35f3d71304378ca9
Теперь вы можете залогиниться, введя логин и пароль.
Чтобы пользоваться скриптом в качестве своего OpenID провайдера, Вам нужен URL, указывающий на него. Добавьте следующие строки на главную (или любую другую) страницу Вашего сайта:
<link rel="openid.server" href="http://yourwebserver/phpmyid/MyID.config.php"> <link rel="openid.delegate" href="http://yourwebserver/phpmyid/MyID.config.php">
Теперь, когда Вы захотите авторизоваться, просто укажите адрес этой страницы. У Вас спросят логин и пароль, потом авторизуют.