护照-本地猫鼬验证错误原因

时间:2020-07-25 22:07:11

标签: node.js express mongoose passport.js passport-local-mongoose

使用passport-local-mongoose,我在用户记录中添加了一个标记active,以表明该用户的电子邮件地址已经过验证。

根据文档,我在findByUsername查询中添加了检查:

UserSchema.plugin(passportLocalMongoose, {
  // Set usernameUnique to false to avoid a mongodb index on the username column!
  usernameUnique: false,

  findByUsername: function(model, queryParameters) {
    // Add additional query parameter - AND condition - active: true
    queryParameters.active = true;
    return model.findOne(queryParameters);
  }
});

之所以有效,是因为它拒绝了非活跃用户的登录信息。

但是,它没有告诉我为什么拒绝登录。当拒绝是由于未设置标志而导致的,我真正需要的是一个不同的错误,因为在这种情况下,我想显示一条消息以重新发送验证电子邮件。

鉴于我正在修改查询,因此我看不出PLM如何知道这种方法的区别。

那么,在哪里进行active标志检查的正确位置,以便我可以生成其他消息?

我可以在authenticate调用之外进行此操作,但是我感觉我可能会误读文档。

有什么建议吗?

0 个答案:

没有答案