Мой вопрос довольно прост. Есть ли система для CodeIgniter, которая позволяет как локальный, так и сторонний логин? (Например, FB / Twitter / Google и т. Д.)
Я пробовал A3M, но его сложно использовать и требует переделать, прежде чем он даже будет работать из коробки, как в случае с устаревшим программным обеспечением.
Мое текущее решение – flexi auth , однако он не предлагает сторонний логин вообще, и после отправки электронной почты разработчику не похоже, что он планирует интегрировать его в ближайшее время.
Так кто-нибудь знает о хорошей системе, которая является актуальной и обеспечивает как сторонний, так и локальный логин?
Если его нет, то какая другая фреймворк PHP имеет такой пакет?
Edit for Clarity: Я ищу систему, которая выполняет обе эти вещи. Хотя я ценю ответы и комментарии с системами, в которых я могу интегрироваться, конечный результат этого в лучшем случае будет шатким. Должен быть кто-то, кто сделал это раньше, все они интегрированы в один пакет, чтобы он работал вместе.
Я тоже искал что-то вроде этого всего месяц назад, но безуспешно. Единственная инфраструктура, в которой все это встроено в простой способ, который я видел, – это метеорит , но это не фреймворк.
Я должен был сделать это сам, обернув разные библиотеки PHP в библиотеках CI. Исходный код находится на github: CI Twitter и Who You Meet (онлайн-приложение), в котором есть проверка на Twitter, LinkedIn и Facebook, а также много локальной логики аутентификации с проверкой подлинности электронной почты и восстановлением пароля.
Я знаю, что это можно считать бесстыдной рекламой, но я надеюсь, что это полезно. Хотя это не совсем то, что вы ищете, оно кажется довольно стабильным, поэтому не стесняйтесь использовать его повторно.
Возможно, у вас будет время извлечь всю эту логику в автономной библиотеке (например, я сделал для Twitter) для других людей, чтобы использовать 🙂
Если вы хотите реализовать CI OAuth2, вы можете использовать эту библиотеку, которая является как клиентом, так и сервером:
В противном случае для OpenID используйте эту библиотеку: