Как настроить провайдера (сервер) OpenID в Ubuntu?

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

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

Этот вопрос сейчас сильно устарел. Два самых популярных провайдера в то время (phpMyID и Community-ID) больше не разрабатываются. Chi.mp не работает уже давно, а аутентификация на основе сертификата myOpenID была недоступна более года. Есть ли способ ... "оживить" вопрос или что-то в этом роде?

Ehtyar 18.04.2012 05:02

Хороший вопрос. Ваш комментарий - хорошая отправная точка, чтобы люди знали, что он, по крайней мере, устарел. Может быть, вы могли бы спросить на meta.stackoverflow.com?

Johannes Hoff 18.04.2012 13:47
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
13
2
11 264
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

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

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

Однако пока что я перешел на myOpenId. Прокатить собственного провайдера - это весело и весело, но это просто небезопасно! Есть две проблемы:

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

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

В любом случае читайте руководство Сэма Руби!

Вы также можете подумать о настройке своего собственного сайта в качестве представителя другого провайдера 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-адресу, они «перенаправляют» себя на настоящего провайдера.

Просто хотел добавить примечание, что ClaimID больше не обслуживается.

tonygambone 19.08.2014 05:33

Я полностью понимаю, откуда вы взяли этот вопрос. У меня уже был 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/, https://blog.stackoverflow.com/2009/01/using-your-own-url-as-your-openid/

Взгляните на страницу Запустите свой собственный сервер идентификации. Community-ID пока выглядит наиболее многообещающим.

Другие вопросы по теме