没有密码如何在Laravel中进行身份验证?

时间:2019-06-27 07:18:41

标签: php laravel authentication

我真的在与Laravel auth挣扎。我读了很多遍手册,去了代码,但是我仍然不明白Auth模块的复杂程度。

据我了解,参与Auth的应用文件为:

  • 经理:AuthIlluminate\Auth\AuthManager
  • 服务提供商:AuthServiceProviderIlluinate\Foundation\Support\ProvidersAuthServiceProvider
  • 中间件:Authenticate
  • Gate
  • 型号:User
  • 控制器:LoginController

似乎这些控制器LoginControllerRegisterController,……被魔术调用,并在Illuminate\Routing\Router中进行了硬编码。但是,我不想使用或注册任何ResetPasswordController,也不想ForgotPasswordController只是因为我没有在应用程序中保留任何密码。

因此,就我而言,我没有在数据库中存储任何emailpassword。我的身份验证是通过OAuth2完成的,我唯一想到的就是收集存储在数据库中的访问令牌。

问题是:

由于某些提供程序需要访问app('auth'),我如何才能使用仍然被强制使用的内置Laravel Auth系统?

那我的最佳解决方案是什么?

  1. 重写整个Auth Manager,并覆盖Router,以删除到不需要的控制器的虚假链接
  2. 调整现有的Auth系统以满足我的需求

我很迷茫...

0 个答案:

没有答案