当我在 Nodejs+Express 中使用护照进行用户身份验证时发生了奇怪的事情
Strange things happen when I use passport for user authentication in Nodejs+Express
一开始我是用这段代码来定义LocalStrategy
passport.use(
'local-login',
new LocalStrategy({
usernameField:'username',
passwordField: 'password',
passReqtoCallback: true
},
function(req,username,password,done){
....
然后,护照无法使用 well.It read password as username 并且无法从 HTML 表单中读取用户名。
我很困惑,然后我下载了别人的源代码并将其应用到我的代码中。
事实上,我只是把上面的部分改成这样:
passport.use(
'local-login',
new LocalStrategy({
usernameField: 'username',
passwordField: 'password',
passReqToCallback: true
},
function(req,username,password,done){
....
而且效果很好!!!!
实际上,我认为这两个代码只是在indentation.So我原来的错误是什么?谁能告诉我,谢谢!
(为了更清楚,我上传了我的 IDE 的屏幕截图)
这是错误代码。
这是运行良好的代码。
在你的原始代码中你有
passport.use(
'local-login',
new LocalStrategy({
...
passReqtoCallback: true // misspelled!
}),
...
)
而不是
passport.use(
'local-login',
new LocalStrategy({
...
passReqToCallback: true
}),
...
)
一开始我是用这段代码来定义LocalStrategy
passport.use(
'local-login',
new LocalStrategy({
usernameField:'username',
passwordField: 'password',
passReqtoCallback: true
},
function(req,username,password,done){
....
然后,护照无法使用 well.It read password as username 并且无法从 HTML 表单中读取用户名。
我很困惑,然后我下载了别人的源代码并将其应用到我的代码中。 事实上,我只是把上面的部分改成这样:
passport.use(
'local-login',
new LocalStrategy({
usernameField: 'username',
passwordField: 'password',
passReqToCallback: true
},
function(req,username,password,done){
....
而且效果很好!!!!
实际上,我认为这两个代码只是在indentation.So我原来的错误是什么?谁能告诉我,谢谢!
(为了更清楚,我上传了我的 IDE 的屏幕截图)
这是错误代码。
这是运行良好的代码。
在你的原始代码中你有
passport.use(
'local-login',
new LocalStrategy({
...
passReqtoCallback: true // misspelled!
}),
...
)
而不是
passport.use(
'local-login',
new LocalStrategy({
...
passReqToCallback: true
}),
...
)