我有两个注册字段:
<input type="text" class="form-control" name="username" placeholder="Username">
<input type="text" class="form-control" name="password" placeholder="Password">
我想将名称属性更改为 usernameReg
和 passwordReg
,我可以使用它们来使用 Passport 进行注册。
Account.register(new Account({ username : req.body.username }), req.body.password, function(err, account)
我尝试将 req.body.username
更改为 req.body.usernameReg
并将 req.body.password
更改为 req。 body.passwordReg
但它不起作用,它给了我一个错误的请求错误(当然是在分别更改 HTML 中的名称属性之后)
Fiddle is here. - 不是完整的代码,只是为了通过突出显示更容易查看。
最佳答案
当使用 passport 的 local-strategy
时,您可以将输入字段的名称作为属性传递
passport.use(new LocalStrategy({
usernameField: 'usernameReg',
passwordField: 'passwordReg'
},
function(username, password, done) {
Account.register(new Account({ username : username }), password, function(err, account) { .. });
}
));
那么你的路线应该是这样的:
router.post('/', passport.authenticate('local'), function(req, res) {
...
});
关于javascript - 如何更改 NodeJS、Express、Passport 中输入字段的名称属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34864520/