如何在提交前将 passport.authenticate 用户名转换为小写?

How to convert passport.authenticate username to lower case before submitting?

我在我的 nodejs 应用程序中使用护照进行身份验证,就像这样

router.post("/login", passport.authenticate("local", {
    successRedirect: "/",
    failureRedirect: "/login"
}), function (req, res) {

})

我遇到了一个问题,因为我不知道如何将一个人的用户名转换为小写,因为当他们注册时,我在存储到我的数据库之前使用 .toLowerCase() 将他们的用户名转换为全部小写。

当他们输入用户名登录时,我如何做同样的事情?

您可以添加在 passport 操作之前运行的中间件

router.post("/login", usernameToLowerCase, passport.authenticate("local", {
    successRedirect: "/",
    failureRedirect: "/login"
}), function (req, res) {

});
function usernameToLowerCase(req, res, next){
    req.body.username = req.body.username.toLowerCase();
    next();
}