如何使用 passport-local 策略在用户中允许 + 字符?
How to allow + characters in user with passport-local strategy?
我正在对电子邮件地址使用 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
。如果我在数据库中将加号替换为空白,则登录有效。
如何让 passport 允许加上用户名?
我在我的项目中实现了 passport-local,它确实允许一个加号 - 不需要额外的代码。您确定是 passport 拒绝了 + 而不是其他验证中间件吗?
我正在对电子邮件地址使用 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
。如果我在数据库中将加号替换为空白,则登录有效。
如何让 passport 允许加上用户名?
我在我的项目中实现了 passport-local,它确实允许一个加号 - 不需要额外的代码。您确定是 passport 拒绝了 + 而不是其他验证中间件吗?