我正在用Next.Js和MongoDB构建一个笔记应用程序。我创建了一个登录系统,允许用户创建帐户并登录以创建笔记。
对于身份验证,我使用JWT。当用户登录时,将创建名为jwtToken
的cookie。Token包含name
和email
。
我在/api/createNote.js
中创建了一个名为createNote
的API。在API路由中,我想访问一个cookie jwtToken
,以便在下一步之前验证用户是否登录。
在/api/createNote.js
中,我访问cookie(jwt令牌)并对其进行解码以获得email
。
const token = req.cookies.jwtToken;
const data = jwt.decode(token);
const email = data.email;
在将email
记录到控制台或仅将其作为json(如res.json({data})
)发送时,我没有看到任何错误。这是可行的,但实际上当我在if
语句中使用它时会出现问题。enter image description here
代码如下:
if(!email){
res.json({msg: "Your are not logged in! Please login first.})
}else if(email){
// do something
}
我在console中看到这个error
:enter image description here
注意事项
只有在if语句中使用email
时才会出现问题。我不知道为什么请帮助我哪里是错误或如何解决它?
我想让代码工作。
1条答案
按热度按时间kyvafyod1#