如何使用护照和快递显示自定义错误消息

2024-03-04

我在注册用户时检查电子邮件是否已经存在。如果用户已经存在,我会传递错误消息“电子邮件已存在”。但在前端它显示“未经授权”错误401。我想传递我从后端传递到前端的错误消息,但它传递了默认消息。下面是我检查用户是否已存在并发送错误消息的方法,

exports.register = new LocalStrategy({
    usernameField: 'email',
    passReqToCallback: true
}, function(req, email, password, done,res) {
    var newUser = new User({
        email: email,
        password: password,
        name: req.body.fname
    });
    var searchUser = {
        email: email
    };
    User.findOne(searchUser, function(err, user) {
        if (err) return done(err);
        console.log("err "+err);

        if (user) {
            return done(null, false, {
                message: "email already exists"
            });
        }
        newUser.save(function(err) {
        console.log("newUser "+newUser);
            done(null, newUser);
        })
    });
});

我用护照进行身份验证,

authRouter.post('/signup', passport.authenticate('local-register'),function(req, res) {
    createSendToken(req.user, res);
});

错误信息不是我传给前端的。它显示未经授权的错误,这是默认错误。当我在前端控制台中打印错误消息时,它显示,

Object {data: "Unauthorized", status: 401, config: Object, statusText: "Unauthorized"}

你没有说你想要在前端输出什么,但我猜你想要有data成为message你在你的LocalStrategy.

这是一种方法:

authRouter.post('/signup', function(req, res, next) {
  passport.authenticate('local-register', function(err, user, info) {
    if (err) { return next(err); }
    if (!user) { 
        res.status(401);
        res.end(info.message);
        return;
    }
    createSendToken(req.user, res);
  })(req, res, next);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用护照和快递显示自定义错误消息 的相关文章

随机推荐

  • 在 Symfony2 中向删除表单添加“确认选项”的最佳方法是什么?

    如果您使用控制台为 Symfony2 中的实体创建 CRUD 代码 您最终将得到一个非常基本的删除功能 此功能简洁高效 但不提供 您确定吗 确认 如果要删除的实体存在 则立即删除 有人对添加用户确认的最简单方法有建议吗 到目前为止我一直在使
  • 您如何搜索/访问用户数据?

    我想提醒正在注册的用户 他们选择的电子邮件地址已在我们的用户库中 在他们注册之前 同时 如何将他们 所需的 电子邮件与我的用户列表中的用户进行比较 用户到底存储在哪里以及如何访问该数据节点 您应该有一个用户节点 其中包含您的用户以及有关他们
  • 在 silverlight 中使用 MVVM 模式设置可见性

    我在银光下取了一个网格 最初 textbox2 是不可见的 当我单击 textbox1 时 我们必须看到 textbox2 我尝试如下
  • 如何使用 PrimeFaces 验证码?

    我经历了用户指南 http www primefaces org documentation html和showcase http www primefaces org showcase ui captcha jsf但找不到在支持 bean
  • RxSwift:立即交付第一个项目,对后续项目进行反跳

    我有一个文本字段需要验证 我想在用户键入时禁用按钮 用户停止输入后 1 秒去抖 将执行验证并根据结果有条件地启用按钮 请注意当用户仅键入一个字符时的极端情况 验证仍然应该发生 a ab abc ab a ab false validate
  • 在camerax中捕获没有音频的视频

    我想使用camerax api在应用内相机中捕获没有音频的视频 我使用的是beta10的camerax api 我尝试过设置音频缓冲区大小和音频源等 截至此答案尚不支持 但当使用camerax库完全发布视频录制时 这将是可能的 最好的方法是
  • 如何对星期几进行直方图并具有字符串标签

    我有一个日期数据框 日期对象 见底部 我试图将它们转换为星期几 然后绘制直方图 但理想情况下标签是 星期一 星期日 不是数字 我有两个不同的问题 这很容易将日期对象转换为星期几 https stat ethz ch pipermail r
  • Rails 服务器错误:Ruby 版本是 1.8.7,但您的 Gemfile 指定为 1.9.3

    我输入了现有的 ruby 应用程序 然后输入 导轨 想在这里启动rails服务器 但它说 您的 Ruby 版本是 1 8 7 但您的 Gemfile 指定为 1 9 3 事实上 我有一个1 8 7 但我把它删除了 如果我这样做 红宝石 v
  • 我想在matlab中计算两行的平均值

    我在 matlab 中有一个 1028 x 18 矩阵 我想在 Matlab 中计算第一行和第二行按列值 第三行和第四行等的平均值 并得到一个具有平均值的新矩阵 我想你想计算每对行的列平均值 将数组重塑为 2 x 18 1028 2 计算平
  • RenderScript 支持库在 x86 设备上崩溃

    我正在运行致命异常android support v8 renderscript 在 Razor i x86 设备 上 如果我使用 问题就会消失android renderscript ARM设备也没有问题 这是例外情况 03 03 18
  • Spyder IDE 中的重复日志条目和锁定日志文件

    我想要的 我的 python 脚本运行 将日志消息输出到控制台和文件 一旦 python 脚本完成运行 我希望能够删除 编辑日志文件 我在 Windows7 上使用 Spyder IDE 示例代码 import logging loggin
  • Paypal 沙盒帐户电子邮件确认

    我在开发者网站上创建了一个沙箱帐户 当帐户所在国家 地区不在列表中时 一切都很好 然后 我通过 创建测试帐户 网站中的链接创建了另一个帐户 该帐户所在的国家 地区不在之前的列表中 它的电子邮件未经确认 我找不到激活它的方法 没有它我就无法接
  • 从 Dropzone 中删除任何现有文件会显示 dictDefaultMessage

    我创建了一个显示服务器上现有文件的放置区 我添加了有效的删除链接 我的问题是 当我使用删除链接删除文件时 默认的 将文件拖到此处上传 消息会出现在拖放区中 即使仍然有缩略图 我已经关注了这个tutorial http www startut
  • 自定义验证属性:比较同一模型中的两个属性

    有没有一种方法可以在 ASP NET Core 中创建自定义属性来验证一个日期属性是否小于模型中的其他日期属性ValidationAttribute 可以说我有这个 public class MyViewModel Required Com
  • quartz.NET 的任何开源管理 UI

    是否有任何开源管理界面可以在 QUARTZ NET 调度程序中添加 编辑 删除作业和触发器 看看这个blog http bugsquash blogspot com 2010 06 embeddable quartznet web cons
  • Magento:SQLSTATE [23000]:违反完整性约束:1062 键“UNQ_SALES_FLAT_ORDER_IN”的重复条目“100000001”

    我已经安装了 Magento 1 9 0 1 并且已经上线 1 个月了 客户的第一个订单没有出现任何问题 但现在 当应该处理订单时 会出现以下错误消息 处理您的订单时出错 请联系我们或稍后重试 日志文件说 异常 PDOException 消
  • Kafka s3 连接“值不是结构类型”错误

    我使用以下参数加载 s3 连接器 confluent load s3 sink name s3 sink config connector class io confluent connect s3 S3SinkConnector task
  • jenkins 服务无法在 Windows 2008 上启动

    我正在尝试将 Jenkins 作为服务安装在 Windows Server 2008 Datacenter SP2 上 我似乎无法让它作为服务运行 寻找任何想法来帮助实现它 当我尝试使用本机 Windows 软件包安装 Jenkins 时
  • Android,是否可以从拨号器运行该应用程序?

    我需要 如果可能的话 为我的项目添加一种功能 以便在用户输入诸如 之类的代码时运行1234 在拨号器中 我不确定这是否可能 目前 当我从应用程序文件夹中午餐我的应用程序时 它会启动 但只是为了好玩 我想知道我可以使用代码来午餐吗 您可以通过
  • 如何使用护照和快递显示自定义错误消息

    我在注册用户时检查电子邮件是否已经存在 如果用户已经存在 我会传递错误消息 电子邮件已存在 但在前端它显示 未经授权 错误401 我想传递我从后端传递到前端的错误消息 但它传递了默认消息 下面是我检查用户是否已存在并发送错误消息的方法 ex