Как сделать авторизацию в Laravel без паролей? - PullRequest
2 голосов
/ 27 июня 2019

Я действительно борюсь с аутентификацией 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')?

Какое тогда лучшее решение в моем случае?

  1. Переписать весь Auth Manager и переопределить Router, чтобы удалить разорванные ссылки на ненужные контроллеры
  2. Настройте существующую систему аутентификации для удовлетворения моих потребностей

Я совершенно потерян ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...