首页 > 解决方案 > 使用我自己的 Laravel API 时如何在 Vue JS 中保留身份验证数据

问题描述

我是前端开发的新手,我正在尝试了解前端身份验证方面的良好做法。

在我的情况下,我有一个由我自己的 Vue JS 单页应用程序使用的 Laravel API。有一个针对/login web 路由的登录页面。该应用程序的其余部分正在使用 api 路由来获取 api 资源。

当然,我遵循了 Laravel 官方文档中的步骤:https ://laravel.com/docs/5.8/passport#sumption-your-api-with-javascript

因此,正如预期的那样,CreateFreshApiToken 中间件创建laravel-token cookie 并且身份验证正在工作。

但我担心的是客户端。我阅读了很多关于如何在前端应用程序中处理身份验证的文章/示例。他们都在本地存储中存储了一个 JWT 令牌,然后使用 Vuex 将这个 JWT 令牌映射到“loggedIn”状态。在我的场景中,JWT 令牌在laravel-token cookie 中传递。这个 cookie 是 httpOnly,所以我无法读取它,我什至无法检查它的存在。

所以我的问题是:在这种情况下,使用 laravel-token cookie 和 CreateFreshApiToken 中间件,检查用户是否登录并在页面重新加载后保持状态的最佳做法是什么?

标签: javascriptphplaravelapivue.js

解决方案


推荐阅读