【发布时间】:2020-10-14 19:35:49
【问题描述】:
我正在构建跨平台应用程序,因此我拥有网站和移动应用程序。我还有网站和应用程序的身份验证部分。
我使用 Laravel 作为后端。对于身份验证,我发现了一个叫做“Auth Guards”的东西,在 Laravel 中有两个默认的 Auth 保护,一个用于 Web,另一个用于 API。
但我有点困惑,因为我发现你不能同时使用两个 Auth Guards。
那么,有没有什么方法可以为网站和移动设备构建基于一个数据库表的身份验证系统。
注意我需要除 Firebase Auth 之外的任何解决方案
Auth.php
/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
【问题讨论】:
-
这些守卫都使用相同的用户信息(相同的模型和数据库表)......他们只是以不同的方式验证请求(一个使用会话,一个使用请求令牌)但都使用完全相同的用户(如果您没有在每个配置中更改用户提供程序)
-
我知道,但是在 Auth.php 中你只能选择一个,如果你选择一个,另一个将不起作用
-
在
Auth.php中? ...您使用的是哪个版本的 Laravel? -
我正在使用 Laravel 7
-
那么您指的是什么
Auth.php文件?当您分配auth中间件时,您实际上可以传递任意数量的守卫,顺便说一句,它会循环遍历它们(中间件参数),但不确定这是否是您需要的
标签: php mysql laravel api laravel-7