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

时间:2017-01-03 23:11:57

标签: javascript node.js passport.js

我在我的nodejs应用程序中使用护照进行身份验证,如此

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

})

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

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

1 个答案:

答案 0 :(得分:1)

您可以添加在护照行动之前运行的中间件

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();
}