window.location 从 localStorage 中删除了令牌


login(data){
let appUrl = process.env.MIX_APP_PRO + process.env.MIX_APP_URL;
axios.post('/api/auth/login', data)
.then(res => {
this.responseAfterLogin(res)
})
.then(dat => {
let appUrl = '/hub';
window.location = appUrl;
})
.catch(function(error){
if(error.response){
Exception.handle(error.response.data)
}
})
}
responseAfterLogin(res){
const access_token = res.data.access_token;
const username = res.data.user;
if(Token.isValid(access_token)){
AppStorage.store(username, access_token);
}
}
}

以上是我用来将用户登录到我的系统并将访问令牌存储到 localStorage 的功能,但是问题是当用户在成功登录令牌后被重定向时,如何从本地存储中删除。

请帮忙。

import Token from "./Token";
class AppStorage{
storeToken(token){
window.localStorage.setItem('token', token);
}
storeUser(user){
window.localStorage.setItem('user', user);
}
store(user, token){
this.storeToken(token);
this.storeUser(user);
}
clear(){
window.localStorage.removeItem('user');
window.localStorage.removeItem('token');
}
getToken(){
return window.localStorage.getItem('token');
}
getUser(){
return window.localStorage.getItem('user');
}
}
export default AppStorage = new AppStorage()

这是我用来在本地存储中存储和检索值的应用程序存储类。

LocalStorage 由 protocol://host:port 分隔,因此如果您要重定向到具有不同域/子域的页面,您将无法访问您填充的本地存储

伙计们这个问题解决了,这是我的错误。

当我在服务器上上传站点时,我需要在安装 JWT 模块时为 JWT 密钥生成密钥,但我没有。

因此,用户未正确登录,这就是由于身份验证不成功而从本地存储中删除令牌的原因。

感谢所有的帮助。

最新更新