Запуск моего собственного сервера / сервера OpenID Identity (PHP)
Вопрос
Мне нужно предоставлять пользователей OpenID Service в моем домене. Все они имеют уникальные субдомены, такие как: abc.example.com, и я хочу, чтобы они использовали ABC.Example.com в качестве своей идентичности OpenID ...
Я прочитал это - https://www.myopenid.com/help#own%5fdomain - Но он выглядит так, чтобы он (а) один пользователь и (b) мне нужно иметь существующую учетную запись MyOpenID / подобное ...
phpmyid выглядит рад, но кажется только для работы для одиноких пользователей ... Как я могу настроить его, чтобы заставить его работать для всех с поддоменом? Или что еще я могу сделать?
Решение
Поддомен - это легкая часть. Для этого вам понадобится «подстановочный знак DNS», который по существу создает эту запись DNS: *.domain.com IN A 10.10.0.1
замена домена и IP с вашим соответственно. Далее вам нужно будет настроить любой веб-сервер для чтения в доменах Wild Card (это обычно работает в 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, но я предполагаю, что это большинство идеи позади этого.
Другие советы
Прерий это легкий сервер интернет-идентификатора на основе OpenID. Вместо регистрации на каждом веб-сайте с различным именем пользователя и комбинациями паролей, вы используете свой идентификационный сервер для входа в систему.