我是 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);

    // ....

  }
));

没有必要更改本地策略,因为它只需要2个争论(电子邮件/用户名密码)

javascript – passportjs LocalStrategy是否允许比默认用户名和密码更多的参数?的更多相关文章

  1. ios – 在Restkit 0.2中为给定的类添加两个请求描述符

    我需要从User类中提供两种不同类型的POST.我试图制作两个请求描述符并将其添加到我的对象管理器,但是我收到错误“Cannotaddarequestdescriptorforthesameobjectclassasanexistingrequestdescriptor.”我的代码有没有人知道如何解决这个问题,而不需要为这些请求创建一个单独的类?任何帮助是赞赏.谢谢.解决方法您可以使用动态映射来切

  2. Swift学习笔记十二——nil的聚合运算 Nil Coalescing Operator

    运算符为两个问号??。a定义的时候声明为Optional。需求是这样的,一个App,需要用户输入用户名,如果输入的的确是用户名,则显示“Hello用户名”,没有输入显示“HelloGuest”。使用if-else显得比较冗长,我们可以使用三元运算符实现,代码如下:输出结果如下:符合我们的预期。。现在将会用到nil的聚合运算,即NilCoalescingOperator。.总结,该需求使用nil聚合运算显得非常简单,但是理解上有一定的困难,要在以后的学习中慢慢领悟。

  3. [快速学会Swift第三方库] SQLite.swift篇

    [快速学会Swift第三方库]sqlite.swift篇sqlite.swift是一个使用纯Swift语言封装sqlite3的操作框架。

  4. Swift guard 用法及特点

    guard的使用1.guard是Swift2.0新增的语法2.它与if语句非常类似,它设计的目的是提高程序的可读性3.guard语句必须带有else语句,它的语法如下:3.1.当条件表达式为true的时候跳过else语句中的内容,执行语句组内容3.2.条件表达式为false的时候执行else语句中的内容,跳转语句一般是return,break,continue和throwguard用法举例以下举例

  5. CSSwiftExtension - 贡献一个非常好用的Swift extension集合

    CSSwiftExtension是我个人开源的一个非常有用的Swiftextension集合。

  6. Swift类型不符合协议NilLiteralConvertible

    我以为写这样的东西:这不会抛出这个错误。听起来像斯威夫特让我只写第二种方式。如果你的函数可以返回nil,那么它应该被声明为…然后呼叫者知道它可以是零。(你的第二个例子是工作,但会崩溃,因为退出将隐含地尝试解开nil。

  7. swift3 – Alamofire 4.0,Swift 3 Post params没有通过

    当我升级到最新的一切时,以下停止发布参数,我不知道为什么……

  8. 无法使用swift 3和ios 10从facebook检索电子邮件

    您好我正试图从Facebook检索我的电子邮件,因为我正在使用swift播放facebookiossdk.IOS平台是10,swift3和Xcode8.我在线跟踪教程,但无法检索电子邮件.下面是我的代码:在我的appdelegate.swift文件中:我能够登录并注销但无法检索电子邮件.更新实际上,当我实际传递打印时,我可以在控制台上看到它作为可选语句.我在没有可选参数的情况下显示它时遇到了麻烦我用这种方式解决了这个问题:

  9. android – 如何在ViewPager中使用cursorLoader?

    解决方法我无法评论,所以我正在写一个答案..您有一个实现LoaderCallbacks的活动.加载数据时,您的活动会收到onLoadFinished回调.在此方法中,您有一个应该在ViewPager中显示的Cursor.要显示Cursor中的数据,请在适配器上调用swapCursor方法.因此,每次加载数据时都不要创建适配器.创建一次,然后只需调用swapCursor即可.此外,每次都找不到ViewPager–findViewById是一个繁重的操作,它应该在创建视图层次结构后执行.所以,你的onLoad

  10. 使用LoginManager登录Android Facebook SDK 4.0

    我正在尝试将旧应用程序的登录代码从SDK3.0迁移到SDK4.0.我已经使用LoginManager实现了Login,因为我有自定义登录按钮.问题是我没有得到FacebookAPI的回复.没有成功,没有错误,没有任何异常抛出.代码如下:使用调试器,我能够看到这一行:mLoginMgr.logInWithReadPermissions(mActivity,mPermissions);执行,但没有触发

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部