我正在使用 React 创建一个通用聊天应用程序,但在尝试对用户进行身份验证时遇到了困难。 axios post 请求引发了 500 错误,我无法在任何地方跟踪该错误。当我为用户进行正确的身份验证时,它说密码是正确的(又名,在数据库中找到用户和密码),但后来我相信用户的序列化/反序列化在某个地方搞砸了,但我再次想不通。
我尝试过调试和日志记录,它正确地获取用户,正确地对密码进行哈希处理。这是 github 存储库的链接, https://github.com/Macpickle/Chatroom-REACT
感谢任何帮助,我觉得这是一件小事,但又再次难倒了我。谢谢。
我当然不能说,但在你的代码中
//initialize passport
initpassport(
passport,
async username => await User.findOne({ username: username }),
async id => await User.findOne({ _id: id })
);
app.use(passport.initialize());
app.use(passport.session());
这就是你正在使用的,我希望你在 initpassport 上面写下那些 app.use() 部分,如下所示:
app.use(passport.initialize());
app.use(passport.session());
//initialize passport
initpassport(
passport,
async username => await User.findOne({ username: username }),
async id => await User.findOne({ _id: id })
);
尝试一下,让我知道它是否有效! 之后我们会尝试其他一些事情。