Система аутентификации CodeIgniter, которая позволяет 3-й стороне auth?


Мой вопрос довольно прост. Существует ли система для CodeIgniter, которая позволяет как локальный, так и сторонний вход? (Например, FB / Twitter / Google и т. д.)

Я пробовал A3M , но это трудно использовать и требует переделки, прежде чем он даже будет работать из коробки, как в случае с устаревшим программным обеспечением.

Моим текущим решением является flexi auth , однако он не предлагает сторонний вход вообще, и после электронного письма разработчику не похоже, что он планирует интеграция его в ближайшее время.

Итак, кто-нибудь знает о хорошей системе, которая является современной и обеспечивает как сторонний, так и локальный вход?

Если его нет, то какой другой фреймворк PHP имеет такой пакет?

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

2 8

2 ответа:

Я тоже искал нечто подобное всего месяц назад, но безуспешно. Единственный фреймворк, в котором все это интегрировано простым способом, который я видел, - этоmeteor , но это не фреймворк PHP.

Я должен был сделать это сам, обернув различные библиотеки PHP в библиотеки CI. Исходный код находится на github: CI Twitter и Who You Meet (живое веб-приложение), которое имеет аутентификацию Twitter, LinkedIn и Facebook, а также много локальной аутентификации логика с проверкой электронной почты и восстановлением пароля.

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

Может быть, у вас будет время, чтобы извлечь всю эту логику в отдельной библиотеке (как я сделал для twitter) для других людей, чтобы использовать :)

Если вам нужна реализация CI OAuth2, вы можете использовать эту библиотеку, которая является одновременно клиентской и серверной:

В противном случае для OpenID используйте эту библиотеку: