Рекомендации по библиотеке поставщика OpenID для PHP [закрыты]
-
19-09-2019 - |
Вопрос
Наш PHP-сайт использует самодельную реализацию forms auth.Мы рассматриваем возможность превращения нашего сайта в поставщика OpenID, чтобы мы могли аутентифицировать (используя наши существующие учетные записи пользователей) пользователей на Обмен стеками Сайт.Если нам нужно добавить код или пользовательский интерфейс в нашу форму входа или добавить поля в нашу базу данных, это нормально - мы просто не хотим удалять то, что у нас есть, и заменять все это, чтобы получить поддержку OpenID provider.
Существует несколько библиотек для PHP ссылка на веб-сайте OpenID.У кого-нибудь есть опыт использования любой из этих библиотек для добавления возможностей OpenID provider на PHP-сайт, и если да, то какая из них ваша любимая и почему?Есть ли какие-то конкретные библиотеки, от которых вы бы держались подальше, и если да, то почему?
Решение
Что ж, большинство ни один из вариантов, перечисленных на этой странице, не имеет поддержки поставщика, поэтому я думаю, что ваши варианты сводятся к PHP с поддержкой OpenID-OpenID или Zend_OpenId.Я сам неравнодушен к библиотекам openidenabled, но опять же, я был в команде, которая их писала.php-OpenID, как правило, совместим с более широким спектром версий PHP, и его тестовый охват довольно обширен.
Я действительно мало что знаю о предложении Zend, но это может быть уместно, если вам посчастливилось не нуждаться в совместимости с PHP 4 и вам нравится то, что они делают с фреймворком.
Другие советы
Начните с просмотра официального веб-сайта разработчика OpenID @ http://openid.net/add-openid/become-a-provider/
Там это дает вам три варианта:
- Передать на аутсорсинг стороннему поставщику
- Используйте существующую библиотеку или плагин
- Ознакомьтесь со спецификациями и откройте ID самостоятельно
Вариант 1 может быть не тем, к которому вы стремились бы, поскольку вы хотите, чтобы ваш сайт был провайдером, как вы намекнули выше.
Вариант 3 подходит, если у вас есть время и возможности для его реализации.Попробуй пройти через http://openid.net/specs/openid-authentication-2_0.html и посмотрите, сможет ли ваша команда разработчиков переварить это.
Наконец, есть вариант 2, который я считаю лучшим выбором.Существует достаточное количество библиотек PHP, перечисленных в http://openid.net/developers/libraries/#php .Я предполагаю, что было бы легко использовать одну из этих библиотек для расширения существующего механизма аутентификации для предоставления службы аутентификации OpenID, но я не могу быть уверен, поскольку я еще не пробовал ни одну из них.
Удачи и счастливого пути!