Могу ли я использовать phpBB в качестве «поддельного» провайдера идентификации? - PullRequest
1 голос
/ 21 августа 2009

У меня много пользователей, которые имеют аккаунты на форуме phpBB.

Я бы хотел, чтобы они могли повторно использовать свое имя пользователя и пароль на новом веб-сайте.

Так что план таков: если я найду имя пользователя / пароль в моем приложении и его не будет, я хотел бы вызвать страницу на phpBB, которая скажет мне:

  1. Если имя пользователя / пароль действительны
  2. Адрес электронной почты пользователя.

Мне также хотелось бы, чтобы страница на стороне phpBB защищала от атак методом перебора.

В идеале я бы хотел, чтобы мое решение работало «из коробки» без необходимости развертывания дополнительных файлов на форуме phpbb, чтобы мое решение могло использовать любые пароли phpbb.

Для дополнительного бонуса я разрешаю моим пользователям проходить аутентификацию по электронной почте или паролю, в идеале это также должно быть разрешено.

Есть ли способ добиться этого без изменения phpBB?

Если нет, то какие-нибудь примеры реализации?

Ответы [ 2 ]

4 голосов
/ 21 августа 2009

У вас есть прямой доступ к базе данных phpBB? Если это так, ваш автономный скрипт аутентификации может просто проверять пароли к этой базе данных так же, как вы проверяете их по собственной внутренней базе данных.

Таким образом, код phpBB совершенно не имеет значения, если только он радикально не изменит свою схему аутентификации в будущем выпуске (что кажется маловероятным) и повторно использует ваш собственный код с другой установкой phpBB (что звучит как вы хотите) вам нужно только настроить соответствующую информацию соединения с базой данных.

1 голос
/ 21 августа 2009

Если у вас есть доступ к БД, на которой работает конкретный phpBB, вы можете вообще обойти файлы phpBB и получить доступ к пользовательским таблицам phpBB (страшно с точки зрения безопасности, но если это надежная вещь, и все в порядке , то выполнимо).

Кроме этого, вы можете попробовать создать плагин или как-нибудь расширить аутентификацию, чтобы сделать свой собственный API-интерфейс для доступа с вашего сайта.

...