【问题标题】:Laravel API route requires SessionLaravel API 路由需要 Session
【发布时间】:2020-09-13 18:50:03
【问题描述】:

我仅将 Laravel 用于 API 请求。所以我从 Kernel.php 中删除了 Session 类。

我的路线在 web.php 中。 现在我需要创建网页。所以我将当前路由移动到 api.php,这会发生错误。

类 session.store 不存在

为什么 api 路由尝试使用 Session?因为api调用不需要Session。 如何关闭 api 路由的会话?因为 api 调用每秒接受超过 100 个请求。

【问题讨论】:

  • 它已经被评论了。

标签: php laravel


【解决方案1】:

Laravel 的默认守卫设置为web。例如,当您仅使用 API 端点时,您需要将 config/auth.php 中的 defaults.guards 更改为 api。您可以在 app/Http/Kernel.php 中看到 $middlewareGroups for api 不包括会话中间件,因此它们没有被使用。

如果您使用默认的 api 驱动程序token,那么您需要在您的用户表中添加一个api_token 列,并在请求中包含此参数,例如http://localhost/api/user?api_token={token}

看看https://laravel.com/docs/6.x/api-authentication#introduction。似乎在 Laravel 7 中有所改变,但我不知道您使用的是哪个版本。

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 2017-06-29
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2019-09-13
    相关资源
    最近更新 更多