laravel sainttum AuthenticateSession 中间件首次登录问题

问题描述 投票:0回答:1

我正在使用 sainttum 来验证水疗应用程序。使用默认的防护和密码提供程序。 登录或用户注册没有问题。一切都运转良好。 问题是当用户登录到一个帐户并注销,然后尝试登录到另一个帐户时,AuthenticateSession 中间件会强制用户注销。但是,当用户刷新页面并尝试再次登录时,一切都会正常工作。如果用户尝试重置密码并再次登录,就会出现此问题。

当我删除这个中间件时,一切都正常。我调试并计算出这些: 当用户注销后尝试登录时,登录将成功并

$request->user()
返回用户信息。但是 AuthenticateSession 中间件比较用户密码和会话密码,由于某种原因它们不相等!事实上会话密码是错误的。然后中间件刷新会话并注销用户。 如果您刷新页面并重试,它们是相同的工作文件。 这是注销方法:

            Auth::guard('web')->logout();
            if ($request->hasSession()) {
                $request->session()->flush();
                $request->session()->regenerateToken();
            }
authentication session laravel-sanctum
1个回答
0
投票

发生这个问题是因为我在

auth-sanctum
中间件中使用我的注销路由。通过从
/logout
中间件移出
auth-sanctum
路线,问题得到解决。

© www.soinside.com 2019 - 2024. All rights reserved.