Passport js通过url验证

2024-03-16

我在我的应用程序中使用 Express JS 和 Passport JS。

我想为新用户提供通过特定 URL 自动登录一次的机会。我可以使用 URL 中的信息从数据库中获取用户,因此我有一个 User 对象(带有 id、电子邮件、散列密码等),但我不知道如何使用护照来验证用户和登录。

我尝试使用从数据库获得的用户对象执行以下函数:

req.login(user, function(err) {
  if (err) { return next(err); }
  return res.redirect('/users/' + req.user.username);
});

source: http://passportjs.org/guide/login/ http://passportjs.org/guide/login/

但这没有用。猜测这只是因为用户对象包含哈希密码...... 有人曾经尝试过这个并可以告诉我它是如何工作的吗?


Maybe https://github.com/yarax/passport-url https://github.com/yarax/passport-url策略将对你有用

基本逻辑是从 url 获取参数

UrlStrategy.prototype.authenticate = function(req, options) {
    var self = this;

    function verified(err, user, info) {
        if (err) { return self.redirect(self.failRedirect); } // redirect in fail
        self.success(user, info); // done callback
    }

    this._verify(req.query[this.varName], verified);
};

完整的例子在这里https://github.com/yarax/passport-url/blob/master/index.js https://github.com/yarax/passport-url/blob/master/index.js

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Passport js通过url验证 的相关文章

随机推荐

  • 去比较字符串

    给定两个字符串a and b 有时我想确定这三个语句中的哪一个 a lt b a b or a gt b是真的 在 C 或 C 等语言中 我将得到一个 int 值v在调用相应的函数或方法后 然后我可以通过检查是否可以确定上述哪一个陈述是正确
  • 在Flutter中使DataTable双向滚动

    如何使数据表双向滚动 我使数据表水平滚动 但我的列表很大并且无法向下滚动 override Widget build BuildContext context return Scaffold appBar AppBar title Text
  • 让QGraphicsView做平滑centerOn

    我并不是 Qt 的新手 但有一些事情我不知道 我正在使用 Python 进行编程 但请随意以任何语言发布您的答案 所以 我有几个QGraphicsItem s 位于QGraphics场景 以正常观看场景QGraphicsView 一切正常
  • 你能克隆一个匿名对象吗? (Java/面向对象编程)

    我正在创建一个非常常见 非常简单的形状的库 球体以及环面等都将成为成员 环面有两个半径场 而球体有一个 我们可以通过更改函数的实现以包含两个半径来提供修改后的行为 当然还可以添加额外的半径字段 环面很常见 因此将这种行为包含在永久库中是有益
  • 首先添加一个UIView,甚至是导航栏

    我想在任何其他视图 甚至导航栏 上方显示一种 弹出 视图 如下所示 全屏黑色背景 alpha 为 0 5 可以看到其他内容UIViewController下 a UIView中间的窗口包含一些信息 如果您想了解一切 则可以使用日历 为此 我
  • 如何检查 Java 上的 SSLSocket 连接是否正常?

    我有一个 SSLSocket 池 我需要在借用对象之前检查套接字连接是否正常 isConnected isInputShutdown 和 isOutputShutdown 没有用 因为它们不检查双方是否已连接 如果我尝试从套接字写入或读取
  • 删除表中的行会导致 LOCKS

    我正在运行以下命令从大型表 1 5 亿行 中批量删除行 DECLARE RowCount int WHILE 1 1 BEGIN DELETE TOP 10000 t1 FROM table t1 INNER JOIN table2 t2
  • 为什么 React useState 钩子不能在 for 循环中工作?

    我很好奇为什么在 for 循环中设置状态不能按预期工作 这是我使用钩子的代码 const count setCount useState 0 const onButtonPress gt for let i 0 i lt 100 i set
  • 此脚本(使用 Outlook 发送电子邮件)如何工作?

    谁能帮助我了解 MAPI 的工作原理 我有一个简单的 vbscript 它使用 MAPI 发送电子邮件 它工作得很好 但是 我不知道它是如何做到的 后台发生了什么 Const ForReading 1 Set args WScript Ar
  • Jquery - 根据 的内容应用类

    我有一个水平导航菜单 我可以编辑其源代码 我唯一的选择是在通过 JQUERY 加载时动态添加类 假设我有 3 个选项卡 Home Profile Blog 每个都有一个链接 如下所示 a href home html Home a JQUE
  • 按距给定的升序距离对点数组进行排序

    我需要你的帮助 我有一个已知坐标的点 例如 x 5 y 4 和每个代表点的对象数组 x 2 y 6 x 14 y 10 x 7 y 10 x 11 y 6 x 6 y 2 现在我需要按距给定点的距离按升序对数组进行排序 例如 x 6 y 2
  • 识别表中所选行何时已被选择

    我有一个p datatable在 primefaces 中 我有不同的侦听器 以不同的方式在数据表中选择行事件 我需要确定表中所选行何时已被选择 我该怎么做 我需要这个因为我不想那个p blockUI当我选择表中已选择的行时运行 有我的页面
  • textcat -> 不允许架构额外字段

    我一直在尝试练习从本教程中学到的知识 https realpython com sentiment analysis python https realpython com sentiment analysis python 使用 PyCh
  • 如何仅使 Dropzone.js Previews Div 可点击而不是整个表单

    我必须使用 dropzone js 表单 它将几个输入和一个文件上传信息发送到另一个页面 我的 dropzone 代码如下所示 gt Dropzone options mydropzone maxFiles 1 maxFilesize 10
  • 如何在Python中根据特定日期提取前两年的数据?

    我有一个 csv 文件 其中包含过去 3 年的时间序列月度数据 根据今天的日期 我只想读取前两年的数据来预测未来 Data file example has data from 01 01 15 to 31 10 19 Date Value
  • iOS 10 后台 CoreBluetooth 广告

    首先 我有一台 iPad Air 2 和一台 iPhone 7 为了进一步阅读 我们估计该应用程序在 iPad 上处于活动状态并打开 在 iPhone 上处于后台模式 该应用程序完全相同 即使具有相同的蓝牙服务 UUID 和相同的 Data
  • UIDocument 未保存?

    无论我尝试什么 这都行不通 我正在尝试使用UIDocument在本地保存我的 文本 文件 当我创建文件 即未加载 时 它保存得很好 However 如果我通过打开文件然后保存来加载文件 则它根本不会保存 EDIT 我尝试在应用程序进入后台时
  • SQL 条件并集

    问题 我有一个返回文件列表的 SQL 函数 现在我应该使用联合将一个附加列表加入到该列表中 但前提是用户是管理员 那可能吗 就像是 CREATE FUNCTION tfu CMS Process bIsAdmin bit Add the p
  • 使用箭头键滚动 div

    这类似于SO 如何用箭头键移动div https stackoverflow com questions 4950575 how to move a div with arrow keys 所以也许一个明确且知情的 不 就足以作为答案 我可
  • Passport js通过url验证

    我在我的应用程序中使用 Express JS 和 Passport JS 我想为新用户提供通过特定 URL 自动登录一次的机会 我可以使用 URL 中的信息从数据库中获取用户 因此我有一个 User 对象 带有 id 电子邮件 散列密码等