如何使passportjs本地用户名不区分大小写?

Dan*_*nyx 5 node.js passport.js

现在我在我的网站上使用passportjs(本地)进行身份验证,但用户名字段区分大小写,有没有办法改变它?我考虑过在注册时将用户名全部小写,但这似乎不是一个非常有效的选择,并且仍然不允许我使登录不区分大小写。

router.post("/login", middleware.isNotLoggedIn, passport.authenticate("local", {
successRedirect: "",
failureRedirect: "/login"
}), function(req, res){
    res.redirect("back");
});
Run Code Online (Sandbox Code Playgroud)

And*_*rdi 5

我自己也有同样的问题。看来护照应该有一个官方的答案。制作中间件的最简单方法。该中间件需要位于两个地方。首先在register函数中使用户名以小写形式保存。然后在登录函数中如下所示为示例。祝你好运!

  function usernameToLowerCase(req, res, next){
            req.body.username = req.body.username.toLowerCase();
            next();
        }
  router.post("/login", usernameToLowerCase, passport.authenticate("local", {
        successRedirect: "/",
        failureRedirect: "/login"
    }), function (req, res) {
    });
Run Code Online (Sandbox Code Playgroud)