Запуск моего собственного сервера / службы идентификации OpenID (php)

Мне нужно предоставить openid сервис пользователям моего домена. Все они имеют уникальные субдомены, такие как: abc.example.com, и я хочу, чтобы они использовали abc.example.com в качестве идентификатора openid...

Я прочитал это - https://www.myopenid.com/help - но похоже, что это для (а) ОДНОГО пользователя и (б) мне нужно иметь существующий аккаунт myopenid / аналогичный...

phpmyid выглядит рад, но, кажется, работает только для отдельных пользователей... как я могу настроить его, чтобы он работал для всех с поддоменом? Или что еще я могу сделать?

3 ответа

Решение

Субдомен является легкой частью. Для этого вам понадобится "Wildcard DNS", который по сути создает эту запись DNS: *.domain.com IN A 10.10.0.1 заменив домен и IP на ваш соответственно. Далее вам нужно настроить любой веб-сервер для чтения в доменных именах подстановки (обычно это работает в apache, например так: ServerAlias *.domain.com но будет зависеть от веб-сервера к веб-серверу.

К последней части. phpMyID - это только для личности одного человека. И, к сожалению, этот пост слишком мал, чтобы понять, как именно это сделать. Это некоторые фрагменты и идеи более высокого уровня, которые, вероятно, потребуется реализовать.

Сначала вам нужно взять всю жестко запрограммированную информацию в файле и переместить ее в базу данных (имя пользователя, пароль и т. Д.), Чтобы вам было легче отслеживать пользователей. Вы также будете вынуждены отслеживать имена пользователей, используя только [A-Za-z0-9_] как &,%,$,#,@,!, ,etc все сломает DNS и пользователь больше не сможет получить доступ к провайдеру.

Вам также необходимо знать, какое имя текущего хоста используется:

<?php
$hostname = $_SERVER['SERVER_NAME'];
$username = basename($hostname, ".domain.com"); // Replace .domain.com with your domain
?>

Так что теперь, когда у вас есть пользователь, вы можете структурировать вызов базы данных, чтобы выбрать информацию об этих пользователях, а затем обновить некогда жестко запрограммированные значения "phpMyID одного пользователя" динамическими данными пользователя из базы данных, и сценарий должен продолжаться в веселом режиме., Прошло некоторое время с тех пор, как я посмотрел на phpMyID, но я предполагаю, что это основная идея.

Prairie - это легкий идентификационный сервер на базе OpenID. Вместо того, чтобы регистрироваться на каждом веб-сайте с разными комбинациями имени пользователя и пароля, вы используете свой идентификационный сервер для входа в систему.

Другие вопросы по тегам