【发布时间】:2023-03-19 04:43:01
【问题描述】:
我有一个使用 jwt 身份验证的应用程序,所以我有一个 api /login,我在其中生成 jwt,例如:
res.cookie('Authorization', 'Bearer ' + token, {httOnly: true});
当我在前端登录时,在 react js 中,服务器会生成 jwt 令牌。
问题:
登录后如何在前端管理jwt? (现在令牌是在cookie中发送的,我无法使用javascript读取它),当我登录后转到另一条路线时,我必须从前端发回令牌,但它只在/login页面上在第二条路线。我现在可以使用 localStorage 处理令牌,但这并不安全。那么,在我的情况下,如果我在另一个页面上登录后导航,如何发回令牌?
【问题讨论】:
-
最好的办法是在登录后将 jwt 保存在 localstorage 上,如果有人在每个请求中获取并在 auth 标头中发送该数据以验证用户并在之后使令牌过期,则仅保存没有危害的公共数据一段时间
-
是什么让您认为本地存储不安全?
-
您的登录页面是否与您的应用程序位于不同的域中?否则,cookie 应该随每个请求一起发送,无需前端代码的任何额外工作。
标签: javascript node.js jwt