window.location 从 localStorage 中删除了令牌

window.location removed the token from 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()

这是应用程序存储 class 我用来在 localStorage 中存储和检索值。

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

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

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

所以用户没有正确登录,这就是为什么令牌由于身份验证不成功而从 localStorage 中删除的原因。

感谢大家的帮助。