【问题标题】:Sanctum CSRF Cookie not sent when accessing from domain从域访问时未发送 Sanctum CSRF Coo​​kie
【发布时间】:2020-08-22 12:44:37
【问题描述】:

我正在尝试构建一个使用 Laravel API 的应用程序,并且我正在尝试使用 Sanctum 进行身份验证。我检查了一大堆视频和教程,我注意到的一件事是它们都使用 localhost 或 127.0.0.1 进行演示。 但是,我错过的一件事实际上是弄清楚如何使用域。 就我而言,我使用 Valet 来服务 laravel 应用程序。在配置了 sanctum 所需的一切之后,当请求发送到 https://domain.test/sanctum/csrf-cookie 时,我很难获得 CSRF cookie。

在 Postman 中,我没有收到 cookie

我开始发疯了,然后我尝试了简单的 php artisan serve 并向 http://127.0.0.1:8000/sanctum/csrf-cookie 发出请求,然后我神奇地得到了 cookie

任何解释为什么会发生这种情况都会很好。

需要注意的是,我在 env 文件中设置了 SESSION_DOMAIN 和 SANCTUM_STATEFUL_DOMAINS 以同时包含 localhost 和 domain.test。

【问题讨论】:

    标签: laravel csrf


    【解决方案1】:

    您需要在 .env 文件中添加会话域

    SESSION_DOMAIN=.domain.test
    

    [别忘了加上 . (点)在域之前]

    【讨论】:

      猜你喜欢
      • 2021-08-16
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2016-04-19
      • 2018-12-30
      • 2019-06-03
      相关资源
      最近更新 更多