我有一个内置节点的 API,从技术上讲,它应该获取 cookie,但没有得到它。
cookie: __Secure-next-auth.session-token || next-auth.session-token
在我的 Next JS 中,我正在使用 nextAuth,在我的令牌有效负载中,我具有以下属性:
{
"name": "Justin",
"email": "justinzu93@gmail.com",
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7Il9pZCI6IjYwMWUwMWViZjNjZjkyMjcwMDI3ZmIzMCJ9LCJleHAiOjE2MTI4Nzc3ODEsImlhdCI6MTYxMjYxODU4MX0.BY7kVTHF5mhzTr6uUhyBmxXYYsm3LlMYnlULSzWZdc0",
"_id": "601e01ebf3cf92270027fb30",
"iat": 1612620162,
"exp": 1612630962
}
所以,我的想法是从 node.JS 获取 cookie,但这是不可能的。请提供任何帮助
这是我的 cookie 的外观:
我想提一下这是我从节点获取 cookie 的方式:
const jwtExtractor = (req) => {
let token = null;
if (req.headers.authorization) {
token = req.headers.authorization.replace("Bearer ", "").trim();
} else if (req.body.token) {
token = req.body.token.trim();
} else if (req.query.token) {
token = req.query.token.trim();
} else if (req && req.cookies["next-auth.session-token"]) {
const userCookie = jwt.decode(req.cookies["next-auth.session-token"]);
token = userCookie.accessToken;
}
// if (token) {
// // Decrypts token
// token = auth.decrypt(token)
// }
return token;
};
另外我不知道为什么我不能在 useEffect 钩子(下一个 JS)中访问 Session()。
谢谢。