【问题标题】:whay Laravel jetstrem logout 419 problem?为什么 Laravel jetstream 注销 419 问题?
【发布时间】:2021-01-10 07:02:24
【问题描述】:

当从仪表板注销成功但单击返回按钮然后进入仪表板时,

  • 从仪表板注销
  • 然后点击浏览器后退按钮
  • 并在没有电子邮件和密码的情况下进入仪表板
  • 然后转点击注销显示错误页面过期419

【问题讨论】:

  • 因为你已经登出,并且返回按钮会从浏览器缓存中将页面扔给你
  • 可能是因为 @sta 的评论导致 CSRF 令牌不匹配。

标签: laravel jetstream


【解决方案1】:

当用户的会话过期(他们已经离开一段时间)然后尝试注销时,也会发生同样的情况。

当(现在)访客用户尝试注销时,您可以通过排除 csrf 令牌来防止这种情况发生。

我写在这里https://talltips.novate.co.uk/laravel/csrf-and-expired-logout-forms

这个问题的解决方法比较简单,只需要在VerifyCsrfToken中间件上加一点点;

use Closure;

//

    public function handle($request, Closure $next)
    {
        if(!Auth::check() && $request->route()->named('logout')) {
        
            $this->except[] = route('logout');
            
        }
        
        return parent::handle($request, $next);
    }

【讨论】:

    猜你喜欢
    • 2021-06-15
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2021-04-13
    • 2020-06-27
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多