从服务器端访问存储在 localStorage 中的令牌

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

我正在尝试实现在服务器端运行的注销功能。该功能目前仅在登录时删除

localStorage
中存储的令牌,如下所示:

const logout = () => {
  localStorage.removeItem('accessToken');
  localStorage.removeItem('idToken');
};

但是,这种方法会遇到错误,因为

localStorage
在服务器端无法访问。

问题: 如何有效地从服务器端删除存储在

accessToken
中的
idToken
localStorage

在 Nuxt 3 的上下文中并从服务器端的 localStorage 中删除令牌,我没有直接尝试修改

localStorage
,因为那里无法访问它。

我的期望: 我希望注销功能能够在成功注销后成功从服务器上的

accessToken
中删除令牌(
idToken
localStorage
),就像在客户端一样。这将有效地使用户的会话无效。

javascript vue.js nuxt.js nuxt3.js
1个回答
0
投票

你应该

useCookie
做这些事情。根据定义,您将无权访问 localStorage,因为它是客户端本地的,不会发送到服务器。

示例:

const accessToken = useCookie("accessToken");

accessToken.value = undefined; // this deletes cookie;

accessToken.value = "ezY.." // this sets the value of cookie;

此代码将在服务器端和客户端运行。

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