Я действительно борюсь с аутентификацией Laravel. Я прочитал руководство много раз, пошел к коду, но я до сих пор не понимаю, как уровень сложности модуля Auth.
Насколько я понял, файлы приложений, которые принимают участие в аутентификации:
- Менеджер:
Auth
(Illuminate\Auth\AuthManager
)
- Поставщик услуг:
AuthServiceProvider
(Illuinate\Foundation\Support\ProvidersAuthServiceProvider
)
- Промежуточное программное обеспечение:
Authenticate
Gate
- Модель:
User
- Контроллер:
LoginController
Кажется, что эти контроллеры LoginController
, RegisterController
, ... вызваны магией, жестко запрограммированной глубоко в Illuminate\Routing\Router
. Но я не хочу ни использовать, ни регистрировать ResetPasswordController
, ни ForgotPasswordController
просто потому, что у меня в приложении нет паролей.
Так что в моем случае я не храню никаких email
или password
в моей базе данных. Моя аутентификация выполняется с помощью OAuth2, единственное, что я думаю, это сбор токена доступа, который я храню в своей базе данных.
Вопрос:
Как я могу использовать встроенную систему аутентификации Laravel, которую я вынужден использовать в любом случае, потому что некоторым провайдерам требуется доступ к app('auth')
?
Какое тогда лучшее решение в моем случае?
- Переписать весь Auth Manager и переопределить
Router
, чтобы удалить разорванные ссылки на ненужные контроллеры
- Настройте существующую систему аутентификации для удовлетворения моих потребностей
Я совершенно потерян ...