Как настроить OpenID-провайдера (сервер) в Ubuntu?
Вопрос
Я хочу войти в Stack Overflow с помощью OpenID, но я подумал, что настрою своего собственного провайдера OpenID, просто потому, что это сложнее :) Как вы делаете это в Ubuntu?
Редактировать:Замена слова "сервер" правильным термином OpenID provider (поставщик идентификационных данных также был бы правильным в соответствии с википедия).
Решение
Я лично использовал phpMyID только для StackOverflow.Это простой PHP-скрипт из двух файлов для размещения где-нибудь на поддомене.Конечно, это не так просто, как установить .deb, но поскольку OpenID полностью полагается на HTTP, я не уверен, что целесообразно устанавливать автономный сервер...
Другие советы
Вы также можете рассмотреть возможность настройки своего собственного сайта в качестве делегата для другого поставщика OpenID.Таким образом, вы можете использовать свой собственный URL-адрес, но не беспокоиться о безопасности и обслуживании, как уже упоминалось.Однако это не очень сложно, поэтому может не соответствовать вашим критериям :)
В качестве примера, вы могли бы добавить этот фрагмент HTML-кода на страницу по желаемому URL OpenID, если вы использование ClaimID как поставщик OpenID:
<link rel="openid.server" href="http://openid.claimid.com/server" />
<link rel="openid.delegate" href="http://openid.claimid.com/USERNAME" />
Поэтому, когда клиенты OpenID получают доступ к вашему URL-адресу, они "перенаправляют" себя к фактическому поставщику.
Я действительно сделал это (настроил свой собственный сервер, используя phpMyID).Это очень просто и работает довольно хорошо.Одна вещь, которая меня бесконечно раздражает, - это использование HTML-редиректов вместо HTTP.Я изменил это вручную, основываясь на некоторой информации, полученной в Форум phpMyID.
Тем не менее, я переключился на миОпенИд а пока что.Создание собственного провайдера - это весело, но это просто небезопасно!Есть две проблемы:
- В более общем плане, вы должны действовать, основываясь на вере.phpMyID - это здорово, но он разрабатывается в чье-то свободное время.В нем может быть много необнаруженных дыр в системе безопасности – и некоторые из них были в прошлом.Хотя это, конечно, относится ко всему программному обеспечению, связанному с безопасностью, я считаю, что проблема потенциально более серьезна с программным обеспечением, разработанным в свободное время, тем более что код, по моему скромному мнению, далек от совершенства.
- Во-вторых, OpenID очень восприимчив к очистке экрана и макетным интерфейсам.Злоумышленнику слишком просто эмулировать интерфейс phpMyID, чтобы получить ваши учетные данные для другого сайта.MyOpenID предлагает два очень важных решения этой проблемы.
- Первый - это использование сохраненного в файлах cookie изображения, которое встроено в страницу входа в систему.Если кто-либо откроет страницу входа в MyOpenID, это изображение будет отсутствовать, и подделку можно будет легко идентифицировать.
- Во-вторых, MyOpenID поддерживает вход с использованием строго подписанных сертификатов, которые могут быть установлены в веб-браузере.
У меня все еще есть phpMyID, настроенный в качестве альтернативного поставщика, использующего Ядис но я бы не стал использовать его в качестве логина на сайтах, которым я не доверяю.
В любом случае, прочтите книгу Сэма Руби. Учебник!
Взгляните на Запустите свой собственный сервер идентификации Страница.Community-ID пока выглядит наиболее многообещающим.
Я полностью понимаю, к чему вы клоните с этим вопросом.У меня уже был OpenID в www.myopenid.com но немного странно полагаться на стороннего пользователя для такого важного входа в систему (он же мой постоянный "дом" в Интернете).
К счастью, легко перейти к использованию вашего собственного сервера в качестве OpenID-сервера - фактически, это можно сделать всего с двумя файлами с phpMyID.
- Загрузить "phpMyID-0.9.zip" с http://siege.org/projects/phpMyID/
- Переместите его на свой сервер и распакуйте, чтобы просмотреть файл README, который все объясняет.
- Zip-файл содержит два файла: MyID.config.php , MyID.php.Я создал каталог под названием
<mydocumentroot>/OpenID
и переименован MyID.config.php Для index.php.Это означает, что мой URL OpenID будет очень крутым:http://<mywebsite>/OpenID
- Выберите имя пользователя и пароль, а затем создайте их хэш, используя:
echo -n '<myUserNam>:phpMyID:<myPassword>' | openssl md5
- Открыть index.php откройте текстовый редактор и добавьте хэш имени пользователя и пароля в поле-заполнитель.Сохрани это.
- Протестируйте, перейдя по ссылке
http://<mywebsite>/OpenID/
- Тестовый идентификатор работает с использованием: http://www.openidenabled.com/resources/openid-test/checkup/
Информация о повторной защите: http://www.wynia.org/wordpress/2007/01/15/setting-up-an-openid-with-php/ , http://siege.org/projects/phpMyID/ , http://blog.stackoverflow.com/2009/01/using-your-own-url-as-your-openid/