Я хочу стать своим собственным провайдером OpenID.
Мне он нужен в первую очередь для входа на сайты с помощью OpenID 2.0 . Для старых сайтов поддержка OpenID 1.1 была бы отличной. Я мало что знаю о новом OpenID Connect , поэтому оставлю это открытым.
Я бы предпочел, чтобы поддерживался только один пользователь ( есть вопрос к многопользовательскому OpenID провайдеру ), в надежде, что он более легковесный (что облегчит аудит ПО, если возникнет необходимость), что даст меньше поверхность атаки и что он работает без базы данных.
phpMyID «больше не разрабатывается и не поддерживается».
Prairie вроде умер (судя по названию файла текущей версии 0.2 Alpha, она 2008 года).
Сервер OleKEH prairie-openid2 (запущенный как форк Prairie) кажется мертвым (последнее изменение кода с 2011 года).
poit вроде мертв (последний релиз 2009 года).
SimpleID звучит хорошо (хотя он поддерживает несколько пользователей, но, по крайней мере, не использует базу данных) и не кажется мертвым (последний выпуск от 2014-11; последняя активность сайта от 2015-04).
(Я попробую этот, если не получу другие рекомендации; конечно, не стесняйтесь придумывать ответ, если вы можете порекомендовать SimpleID для моей цели.)
Для моего собственного сайта я использовал то, что в основном сводится к пересылке OpenID. Мой сайт создан с использованием ikiwiki , поэтому я использую мета- директиву, чтобы добавить делегирование OpenID в другой домен. В результате в заголовке создается следующий HTML-код :
<link href="https://login.launchpad.net/+openid" rel="openid.server" />
<link href="https://login.launchpad.net/+openid" rel="openid2.provider" />
<link href="https://login.launchpad.net/+id/xxxxxxx" rel="openid.delegate" />
<link href="https://login.launchpad.net/+id/xxxxxxx" rel="openid2.local_id" />
<meta http-equiv="X-XRDS-Location" content="https://login.launchpad.net/+id/xxxxxxx/+xrds" />
Итак , вы можете видеть здесь, что я делегирую на панель запуска Canonical , но я также мог бы использовать любого другого провайдера OpenID, в котором у меня есть учетная запись, включая Stack Exchange:
<!-- OpenID-2.0 delegated to stackexchange -->
<link rel="openid2.provider" href="https://openid.stackexchange.com/openid/provider" />
<link rel="openid2.local_id" href="https://openid.stackexchange.com/user/xxx-xxx-xxx-xxx-xxx" />
У людей из Indieweb есть отличный учебник о том, как сделать эту переадресацию. Есть также Wordpress , Drupal и, возможно, другие плагины, которые сделают это за вас. Но, честно говоря, учитывая простоту HTML-кода, я бы сказал, что может быть проще просто иметь статическую HTML-страницу, указывающую на другого поставщика, чем использовать плагин.
Я также рассматривал возможность запуска собственного поставщика OpenID, облегченного, без базы данных и всего такого. В итоге я обманул так: кажется намного проще. После того, как Google и даже проекты свободного программного обеспечения (например, Drupal 8 ) в основном отказались от OpenID, я не был уверен в будущем OpenID, поэтому не хотел тратить на него слишком много усилий.
Я знаю, что делегирование OpenID не совсем похоже на запуск вашего собственного провайдера, но, учитывая, что вы не хотели запускать базу данных, и это один пользователь, я чувствую, что просто запуск виртуального хоста со статической страницей в основном равносильно тому же самому. . Вам все еще нужно запустить веб-сервер, поэтому я могу утверждать, что вы используете поставщика OpenID. Это просто деталь реализации, что запрос перенаправляется другому.
Фредерик Норд
ненор
ненор
Том
ненор
Том