Запуск моего собственного сервера / сервера OpenID Identity (PHP)

StackOverflow https://stackoverflow.com/questions/3157316

  •  01-10-2019
  •  | 
  •  

Вопрос

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top