如何在 laravel 项目中同时使用 web 的守卫和 api 的守卫?

Posted

技术标签:

【中文标题】如何在 laravel 项目中同时使用 web 的守卫和 api 的守卫?【英文标题】:How can I use web's guard and api's guard both in laravel project? 【发布时间】:2021-03-22 20:28:15 【问题描述】:

我在 laravel 中的身份验证有问题。 我在我的项目中添加了 jwt auth,因为我需要使用令牌进行身份验证,但是要使用它,我必须更改文件“auth.php”中的默认保护

'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ], 

这里有一个问题,因为如果我将默认的防护从“web”更改为“api”,登录路由就不再起作用了。

我该如何解决这个问题?

谢谢大家。

【问题讨论】:

【参考方案1】:

要同时使用两者,请将 api 驱动程序从 'token' 更改为 'jwt' 在 auth guards 中。保留默认值。

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'jwt',
        'provider' => 'users',
    ],
],

【讨论】:

以上是关于如何在 laravel 项目中同时使用 web 的守卫和 api 的守卫?的主要内容,如果未能解决你的问题,请参考以下文章

laravel能不能同时使用两个队列驱动

如何在 Laravel 中使用 HTTP 请求的删除方法通过外部 Api 库删除项目

在 Laravel 项目中安装 FilePond,如何?

如何使用 laravel 5.1+ 在 web 应用程序中实现许可功能

如何在 Laravel 或 PHP 中制作 Web 应用程序的桌面 .exe?

我可以在 Laravel 中同时使用 OAuth 和 Auth 吗?