在前端,我正在检查我的JWT是否过期。
职能是:
tokenExpired(token: string) {
const expiry = JSON.parse(window.atob(token.split('.')[1])).exp;
return Math.floor(new Date().getTime() / 1000) >= expiry;
}
然后使用这个函数,比如:
if (!this.tokenExpired(this.jwtToken || '')) {
this.getAccountData().subscribe(
(data) => {
this.accout = data;
this.isLoggedIn();
},
(err) => {
this.isLoggedIn$.next(2);
}
);
} else {
this.isLoggedIn$.next(2);
}
当我构建我的应用程序时,它在console.log中给出了一个错误:未能在‘Window’上执行'atob‘:要解码的字符串没有正确编码。
有哪些替代atob或window.atob的替代品?
谢谢!
求解->解决方案:
tokenExpired(token: string) {
if (token !== '') {
const expiry = JSON.parse(atob(token.split('.')[1])).exp;
return Math.floor(new Date().getTime() / 1000) >= expiry;
} else {
return false;
}
}
这个解决方案是一个好的做法吗?它不会给我一个错误
发布于 2022-07-05 09:27:19
而不是
const expiry = JSON.parse(window.atob(token.split('.')[1])).exp;
使用
const expiry = JSON.parse(atob(token.split('.')[1])).exp;
https://stackoverflow.com/questions/72866826
复制相似问题