2008-08-26 4 views
12

Я хочу войти в Stack Overflow с помощью OpenID, но я думал, что настрою свой собственный поставщик OpenID, просто потому, что это сложнее :) Как вы это делаете в Ubuntu?Как настроить провайдер OpenID (сервер) в Ubuntu?

Редактировать: Замена «сервера» на корректный термин провайдер OpenID (поставщик удостоверений также будет правильным в соответствии с wikipedia).

+5

Этот вопрос сейчас серьезно устарел. Два самых популярных провайдера в то время (phpMyID и Community-ID) больше не разрабатываются. Chi.mp не работает, кто знает, как долго, а проверка подлинности на основе сертификата myOpenID недоступна уже более года. Есть ли способ ... «оживить» вопрос или что-то еще? – Ehtyar 2012-04-18 01:02:59

+0

Хороший вопрос. Ваш комментарий - хорошая отправная точка, чтобы люди знали, что они устарели, по крайней мере. Возможно, вы могли бы спросить на http://meta.stackoverflow.com? – 2012-04-18 09:47:02

ответ

5

Я лично использовал phpMyID только для StackOverflow. Это простой PHP-скрипт с двумя файлами, который помещается где-то в субдомен. Конечно, это не так просто, как установка .deb, но так как OpenID полностью использует HTTP, я не уверен, что желательно установить автономный сервер ...

7

Я действительно сделал это (набор мой собственный сервер, используя phpMyID). Это очень легко и работает неплохо. Одна вещь, которая раздражает меня до конца, - это использование переадресаций HTML вместо HTTP. Я изменил это вручную, основываясь на некоторой информации, полученной в phpMyID forum.

Тем не менее, я перешел на myOpenId тем временем. Роллинг собственного провайдера - это забава и игры, но это просто не безопасно! Существует два вопроса:

  • В более общем плане, вы должны действовать по вере. phpMyID отлично, но он разработан в свободное время. В нем может быть много незаметных дыр в безопасности - и в прошлом были некоторые. Хотя это, конечно же, относится ко всему программному обеспечению, связанному с безопасностью, я считаю, что проблема потенциально более серьезная с программным обеспечением, разработанным в свободное время, тем более, что код очень далек от совершенства по моему скромному мнению.
  • Во-вторых, OpenID очень восприимчив к экранированию экрана и ложным интерфейсам. Для злоумышленника слишком легко эмулировать интерфейс phpMyID для получения ваших учетных данных для другого сайта. myOpenId предлагает два очень важных решения проблемы.
    • Во-первых, это использование сохраненного файла cookie, встроенного в страницу входа в систему. Если кто-то экранирует страницу входа в myOpenId, эта картина будет отсутствовать, и подделка может быть легко идентифицирована.
    • Во-вторых, myOpenId поддерживает вход с использованием сильно подписанных сертификатов, которые могут быть установлены в веб-браузере.

Я до сих пор phpMyID установить в качестве альтернативного поставщика с использованием Yadis, но я бы не использовать его в качестве логина на сайтах, которые я не доверяю.

В любом случае, прочитайте Сэм Руби tutorial!

10

Возможно, вы также изучите настройку своего собственного сайта в качестве делегата для другого поставщика OpenID. Таким образом, вы можете использовать свой собственный URL-адрес, но не беспокойтесь о безопасности и обслуживании, как уже упоминалось. Тем не менее, это не очень сложно, поэтому он может не соответствовать вашим критериям :)

В качестве примера, можно добавить этот фрагмент HTML на страницу в нужный URL OpenID, если вы using ClaimID в качестве провайдера OpenID:

<link rel="openid.server" href="http://openid.claimid.com/server" /> 
<link rel="openid.delegate" href="http://openid.claimid.com/USERNAME" /> 

Поэтому, когда клиенты OpenID получают доступ к вашему URL-адресу, они «перенаправляют» себя на фактического поставщика.

0

Сбор для автономных поставщиков OpenID с открытым исходным кодом довольно тонкий.Masquerade - это тот, о котором я слышал.

1

Я полностью понимаю, откуда у вас этот вопрос. У меня уже был OpenID на www.myopenid.com, но он чувствует себя немного странно, полагаясь на третью сторону за такой важный логин (a.k.a мой постоянный «дом» в Интернете).

К счастью, легко перейти на использование собственного сервера в качестве сервера 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. Это означает, что мой OpenID URL будет очень круто: http://<mywebsite>/OpenID
  • Определите имя пользователя и пароль, а затем создать хэш из них с помощью: echo -n '<myUserNam>:phpMyID:<myPassword>' | openssl md5
  • Открыть index.php в текстовом редакторе и добавьте имя пользователя и хэш пароля в заполнителе. Сохрани это.
  • Test запросив http://<mywebsite>/OpenID/
  • Test ID работает с помощью: http://www.openidenabled.com/resources/openid-test/checkup/

Информация Rerefence: 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/

3

Возьмите перебирать на Run your own identity server странице. Идентификатор сообщества выглядит наиболее перспективным до сих пор.