【问题标题】:Laravel authentication with remember me error带有记住我错误的 Laravel 身份验证
【发布时间】:2021-01-28 13:58:18
【问题描述】:

我使用 auth()->attempt() 和记住我的参数。

if (auth()->attempt($credentials, $rememberMe)) {

当记住我为假时,我可以正常登录,
但是当记住我是真的时,我得到了一个错误。

RuntimeException
Cookie jar has not been set. 

我尝试设置 .env 来自SESSION_DRIVER=fileSESSION_DRIVER=cookie

但还是不行。

我正在使用 Laravel 7.24 和 PHP 7.4.11

【问题讨论】:

  • 您在更改 .env 后是否清除了配置和缓存?
  • 谢谢,尝试了 config:clear、cache:clear 但仍然出现同样的错误。
  • @AnuratChapanond 问题还在吗?现在正在为同样的错误而苦苦挣扎。

标签: laravel authentication cookies remember-me


【解决方案1】:

在我的例子中,我使用了一个自定义的 Auth Guard,它扩展了内置的 SessionGuard。我不得不自己设置饼干罐

$this->setCookieJar(app('cookie'));

YMMV.

【讨论】:

  • 是的,需要手动设置 jar - 即使扩展类。示例there
  • 你在哪里设置 cookie jar ?
【解决方案2】:

我通过将'driver' => 'session' 放在guards 数组下的config/auth.php 为自己解决了这个问题。但是我在管理面板身份验证中使用了不同的保护,所以可能只是你也有这个错误配置。

【讨论】:

    【解决方案3】:

    当我使用自定义防护时,我遇到了同样的错误。在我的后卫上调用 setCookieJar、setDispatcher 和 setRequest 解决了这个问题。 看this example

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 2014-06-09
      • 2014-12-19
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多