我正在尝试按照教程和代码学习更多关于使用 passport-jwt 和 mern 堆栈的身份验证的信息,来自这个博客教程:https://www.codingdeft.com/posts/react-authentication-mern-node-护照快递蒙戈/。当我使用用户名和密码登录时,它会给我一个令牌。并使用该令牌,当我尝试使用以下逻辑注销时。我得到错误:
TypeError: user.refreshToken.id(...).remove is not a function
.
我不明白如何解决这个问题。
router.get("/logout", verifyUser, async (req, res, next) => {
const { signedCookies = {} } = req;
const { refreshToken } = signedCookies;
User.findById(req.user._id).then((user) => {
const tokenIndex = user.refreshToken.findIndex(
(item) => item.refreshToken === refreshToken
);
if (tokenIndex !== -1) {
user.refreshToken.id(user.refreshToken[tokenIndex]._id).remove()
}
try {
user.save();
res.clearCookie("refreshToken", COOKIE_OPTIONS);
res.send({ success: true, user: user.refreshToken._id })
} catch (error) {
res.statusCode = 500
res.send(error)
}
});
});
• TypeError: Cannot read property 'sign' of undefined [JWT / Nestjs / e2e tests]
• 护照认证问题
• 每次刷新页面时,我的登录用户都会注销。 -JS、REACT、JWT、socket.io
• 如果用于认证的JWT令牌保存在HTTP-Only cookie中,你如何从cookie中读取它,以便我可以在请求头中包含它?
• 如何在使用 spring security 注销时一一调用两个 url
• MongooseError:Query.prototype.exec() 不再接受带有 passport.authenticate() 的回调
• 如何使用 react-router-dom 创建受保护的路由?
• 如何使用 react-router-dom 创建受保护的路由?
• 是否可以从 json 网络令牌创建 java 对象类? [关闭]
• JWT::DecodeError(OpenSSL 3.0 不支持 nil 或空 hmac_secret):
• jsonwebtoken 错误:TypeError: option expires is invalid