Запуск моего собственного сервера / службы идентификации OpenID (php) - PullRequest
2 голосов
/ 01 июля 2010

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

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

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

Ответы [ 3 ]

3 голосов
/ 01 июля 2010

Субдомен является легкой частью. Для этого вам понадобится «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, но я полагаю, что это основная идея, стоящая за ним.

2 голосов
/ 01 июля 2010
0 голосов
/ 23 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...