首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有SPA的Laravel Sanctum不能正确处理注销。我似乎没有维护注销状态。我遗漏了什么?

带有SPA的Laravel Sanctum不能正确处理注销。我似乎没有维护注销状态。我遗漏了什么?
EN

Stack Overflow用户
提问于 2021-03-23 20:05:07
回答 1查看 57关注 0票数 0

所以我的网站(React的Laravel)似乎不能按照我想要的方式工作。我使用Laravel Sanctum进行(SPA,所以cookie,而不是token)身份验证。如果我使用正常的注销,它看起来会注销,但在刷新之后,我仍然通过身份验证。我创建了自己的注销控制器来检查,但奇怪的是,它似乎注销…但在复习之后我就不是了。带有我尝试过的东西的控制器:

代码语言:javascript
运行
复制
        Auth::guard('web')->logout();

        if (!Auth::check()) {
            dump('Logged out!');
        }

        $sessionId = $request->session()->getId();

        if($request->session()->invalidate()){
            dump('Session invalidated!');
        }

        $request->session()->regenerate();
        $request->session()->regenerateToken();
        $request->session()->flush();
        $request->session()->remove($sessionId);
        session_unset();
        Session::flush();
        Session::forget($sessionId);

        $cookie = Cookie::forget($sessionId);

我知道所有这些都是夸大其词,但这只是为了展示我尝试过的东西(我在网上找到的类似问题的答案)。奇怪的是,转储显示我已注销,会话已失效……但是,当我调用Axios进行检查时(或者在刷新之后),我仍然处于登录状态。我检查了一个Axios调用,它输出了Auth::user();

我尝试使用forget删除会话cookie,但这对cookie也没有任何影响。看起来会话并没有失效(我认为),但是转储文件说它是无效的。我遗漏了什么?任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2021-03-26 02:52:46

解决了,所以我尝试了一些其他的东西。显然,重定向在其中起到了一定作用!没有触发Laravel重定向,因为我在前端注销方法上使用了React重定向。删除前端重定向触发了后端Laravel重定向...然后,在刷新之后,我确实被注销了!耶。另外,转储信息(使用php中的dump() )会阻止成功注销!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66762808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档