温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - window.location removed the token from localStorage
javascript local-storage redirect vue.js window.location

javascript - window.location从localStorage删除了令牌

发布于 2020-04-10 10:52:40
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中存储和检索值的App存储类。

查看更多

提问者
Imran Ahmed
被浏览
114
Imran Ahmed 2020-02-17 18:21

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

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

因此,用户未正确登录,这就是为什么身份验证失败导致令牌从localStorage删除的原因。

感谢所有帮助人员。