如何允许用户使用护照本地策略的+字符?

时间:2017-02-27 17:58:09

标签: node.js passport-local passport.js

我使用passport-local策略使用电子邮件地址。这导致带有通用加号部分的gmail地址出现问题,例如。 example+test@gmail.com

使用

import passport from 'passport';
import passportLocal from 'passport-local';
import bcrypt from 'bcrypt';


var LocalStrategy = passportLocal.Strategy;

passport.use(new LocalStrategy({
  // by default, local strategy uses username and password, we will override with email
  usernameField: 'email',
  passwordField: 'password',
  passReqToCallback: true
}, function (req, email, pass, cb) {
  // Store hash in your password DB.
  console.log("Passwort:LocalStrategy:Email", email);
  ...
})

控制台日志为example test@gmail.com。如果我用数据库中的空格替换加号,则登录有效。

如何在用户名中加上护照加号?

1 个答案:

答案 0 :(得分:1)

我在我的项目中实施了本地护照,它确实允许加号 - 不需要额外的代码。你确定它的护照拒绝了+而不是其他一些验证中间件吗?