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 密钥生成密钥,但我没有。
因此,用户未正确登录,这就是由于身份验证不成功而从本地存储中删除令牌的原因。
感谢所有的帮助。