Запуск моего собственного сервера / службы идентификации 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. Вместо того, чтобы регистрироваться на каждом веб-сайте с разными комбинациями имени пользователя и пароля, вы используете свой идентификационный сервер для входа в систему.