我是
javascript,node和passportjs的新手.对不起,如果这不正确.我想在护照本地策略中使用3个参数:用户名,电子邮件,密码.可能吗?如果是这样的话?
根据passportjs:“默认情况下,LocalStrategy希望在名为username和password的参数中找到凭据.如果您的站点更喜欢以不同方式命名这些字段,则可以使用选项来更改默认值.”但我可以添加更多的参数吗?
我试过这个:
passport.use('local-signup',new LocalStrategy({ // by default,local strategy uses username and password,we will override with email usernameField : 'username',emailField : 'email',passwordField : 'password',passReqToCallback : true // allows us to pass back the entire request to the callback },function(req,username,email,password,done) { console.log("username:"+username + "email:"+email + "pwd:"+password); }));
解决方法
我怀疑你要做的是在他注册时保存用户的其他信息.
您的所有信息都存储在req.body中,因此您只需将其保存在回调中:
passport.use(new LocalStrategy({ usernameField: 'your_form_username_or_email_fieldname',passwordField: 'your_form_password_fieldname' },function(username,done) { // ... // set the user's credentials newUser.username = req.body.username; newUser.email = req.body.email; newUser.password = newUser.generateHash(password); // .... } ));
原文地址:https://www.jb51.cc/js/150166.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。