【发布时间】:2021-03-17 11:40:03
【问题描述】:
我需要检查是否有令牌,以及令牌是否在 getInitialProps 中过期,然后如果令牌过期,请从浏览器中清除 Cookie 并注销用户。
这是我目前正在做的事情......
const isTokenExpired = (token) => {
const currentTime = new Date().getTime() / 1000;
const decodedToken: MetadataObj = jwt_decode(token);
if (decodedToken.exp < currentTime) {
return true;
} else {
return false;
}
};
import nextCookie from "next-cookies";
import Cookies from "js-cookie";
MyApp.getInitialProps = async ({ctx}: any) => {
const { WebsiteToken } = nextCookie(ctx);
if (WebsiteToken ) {
if (isTokenExpired(WebsiteToken )) {
console.log("Token Expired");
Cookies.remove("WebsiteToken ");
}
}
}
控制台日志有效,但 Cookie 没有从浏览器中删除,我知道这是因为它没有命中客户端,但我该如何从服务器中做到这一点?
【问题讨论】:
标签: reactjs cookies next.js server-side