Passport JS“发送后无法设置标头”

2023-11-27

当我使用passport JS成功登录时出现此错误。登录后尝试重定向到主页。

执行此操作的代码:

app.post('/login', 
  passport.authenticate('local', {failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
  });

完整错误:

Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (http.js:644:11)

我错过了什么吗?不知道为什么会发生这个错误。我仍然可以使用该应用程序,我只是不想出现错误。


您正在重定向用户,因此 serializeUser 函数被调用两次。并且在

 passport.use(new FacebookStrategy({
 ...

一定要添加这个else或者它被调用两次,从而发送标头两次并导致错误。尝试这个:

passport.use(new FacebookStrategy({
...
},
function(accessToken, refreshToken, profile, done) {
// asynchronous verification, for effect...
process.nextTick(function () {

  // To keep the example simple, the user's Facebook profile is returned to
  // represent the logged-in user.  In a typical application, you would want
  // to associate the Facebook account with a user record in your database,
  // and return that user instead.
    User.findByFacebookId({facebookId: profile.id}, function(err, user) {
        if (err) { return done(err); }
        if (!user) {
            //create user User.create...
            return done(null, createdUser);
        } else { //add this else
            return done(null, user);
        }
    });
  });
 }
));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Passport JS“发送后无法设置标头” 的相关文章

  • 如何在 Sequelize ORM 中限制连接行(多对多关联)?

    Sequelize 定义了两种模型 具有多对多关联的 Post 和 Tag Post belongsToMany db Tag through post tag foreignKey post id timestamps false Tag
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • firebase 和 firebase-admin npm 模块有什么区别?

    我想使用 Firebase 身份验证 数据库和存储 构建 Node js Web 应用程序 但我对应该使用哪个模块感到困惑 firebase or firebase 管理员 或两者 管理 SDK 运行您的代码管理权限 https fireb
  • html canvas动画卡顿

    谁能解释为什么提供的画布动画断断续续 我创建了一个测试存根来演示该问题 我在桌面上的 FF Chrome IE 以及 Android 上的 FF 和 Chrome 中看到了卡顿现象 口吃是由于垃圾收集造成的吗 似乎 raf 在每次调用时都会
  • 为什么我们使用 SpreadsheetApp.flush()?

    我的理解是 flush https developers google com apps script reference spreadsheet spreadsheet app flush有助于在功能发生时执行这些功能 而无需将它们捆绑在
  • 避免在 ES6 的函数内定位 this 的对象作用域

    例如 我正在使用 D3 js 运行一个项目 导入特定模块并调用它们的函数 Setup TypeScript ES6 导入特定的 D3 组件 角6 我有一个对象 在本例中是一个角度指令 并在 SVG 画布上绘制一些圆圈 并希望它们在拖动事件上
  • 窗口大小调整触发的 DOM 事件

    我有一个布局相当复杂的页面 最初打开页面时 某些元素的对齐存在问题 但是 可以通过更改浏览器窗口的大小来 永久 解决此问题 显然 我不希望用户必须调整浏览器窗口的大小才能使页面正确显示 所以我想知道是否有一种方法可以在页面首次加载时以编程方
  • 如何在 javascript 中基于类型字符串创建新对象?

    如何基于变量类型字符串 包含对象名称 在 javascript 中创建新对象 现在我有 随着更多工具的出现 列表会变得更长 function getTool name switch name case SelectTool return n
  • JavaScript Promise 不执行 .then()

    我在 JavaScript 中的 Promise 方面遇到了一些问题 我想做的是获得一个地址列表 然后对于每个地址 我需要调用地理编码 API 来获取 lat lng 然后我将继续将标记与热图一起绘制 这是我的代码 let promiseK
  • JavaScript 提升解释

    下面的片段有什么区别 var a 0 function b a 10 return function a b console log a gt 10 and var a 0 function b a 10 return function a
  • Aurelia - 仅 HTML 自定义元素的内联定义

    我的 Aurelia 视图模型中有一个递归对象 如下所示 Class BottomlessPit Name string MorePits BottomlessPit null 因此 我想在 Aurelia 视图中使用递归模板 它只会在一个
  • Javascript onload 不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • 下载中带有文件名的 NodeJS sendFile

    我尝试使用以下代码将文件发送给客户端 router get get myfile function req res next res sendFile other file name dat 它工作正常 但当用户从以下网址下载此文件时我需要
  • 使用 AJAX 和 JQuery 按设定的时间间隔刷新 Rails 部分

    I have a page in my rails application that looks like 现在 我有另一个用 python 编码的人工智能应用程序 它处理视频 显示在 Rails 应用程序页面的左侧 并使用捕获的车辆及其相
  • 具有固定顶部菜单的语义 UI 侧边栏

    Semantic UI 对其进行预警侧边栏页面 http semantic ui com modules sidebar html usage 当侧边栏出现时 固定位置内容可能会出现改变其位置的问题 然后它提供了该问题的两种可能的解决方案
  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod
  • ReactJs 警告:不推荐使用改变“style”。考虑事先克隆它

    我收到以下警告 inWarning div was passed a style object that has previously been mutated Mutating style is deprecated Consider c
  • D3 将现有 SVG 字符串(或元素)追加(插入)到 DIV

    我到处寻找这个问题的答案 并找到了一些我认为可能有用的资源 但最终没有让我找到答案 这里有一些 外部SVG http bl ocks org mbostock 1014829 嵌入SVG https stackoverflow com qu
  • 如何获得 JavaScript 阶乘程序的循环来显示所使用的工作?

    你好 我面临着用 JavaScript 编写一个程序的挑战 尽管我对它不太了解 但它要求用户输入一个数字 然后计算该数字的阶乘 我使用了已经提出的问题并设法使计算正常工作 但无法获得所需的输出 我必须在以下输出中获取它 而不使用任何花哨的库
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax

随机推荐

  • 可应用于每个 UITextField 的自定义类 - Swift

    我对编程非常陌生 正在制作一个包含许多 UITextField 的项目 我想让文本字段只在底部有一个边框 以获得更清晰的外观 我在这里找到了一些应该可以实现这一点的代码 let border CALayer let width CGFloa
  • 验证 PowerShell PSCredential

    假设我有一个PSCrendential我使用 PowerShell 创建的对象Get Credential 如何根据 Active Directory 验证输入 现在我找到了这种方法 但我觉得它有点难看 void System Reflec
  • *ngIf 和 [hidden] 有什么区别?

    假设我对照 和 表达式进行检查 那么这两个不是相同的吗 div val div div val div 它们之间实际上存在性能差异 ngIf如果表达式为 false 将注释掉数据 这样 数据甚至不会加载 从而导致 HTML 加载速度更快 h
  • Spark:如何在数据帧上执行 dropDuplicates,同时保留最高时间戳行[重复]

    这个问题在这里已经有答案了 我有一个用例 我需要删除数据帧的重复行 在这种情况下 重复意味着它们具有相同的 id 字段 同时保留具有最高 时间戳 unix 时间戳 字段的行 我找到了 drop duplicate 方法 我正在使用 pysp
  • 将数据框列名称从字符串格式更改为日期时间

    我有一个数据框 其中列的名称是字符串形式的日期 年月 如何将这些名称转换为日期时间格式 我尝试这样做 new cols pd to datetime df columns df df new cols 但我收到错误 KeyError Dat
  • 根据 MSVC++ 中的 unicode 设置自动在 std::string 和 std::wstring 之间更改?

    我正在编写一个 DLL 希望能够在 MSVC 2010 中的 unicode 和多字节设置之间切换 例如 我使用 T string and LPCTSTR and WIN32 FIND DATA而不是 W 和 A 版本等 现在我想要 std
  • 捕获异步操作的异常

    我在这里阅读有关异步的更多信息 http msdn microsoft com en us library hh873173 v vs 110 aspx 看看这个例子 Task
  • 非凸多边形内最大的圆

    如何找到可以容纳在凹多边形内的最大圆 只要能够实时处理具有约 50 个顶点的多边形 暴力算法就可以 解决这个问题的关键是首先进行观察 适合任意多边形的最大圆的中心是以下点 多边形内部 和 距多边形边缘上任意点最远 为什么 因为圆的边缘上的每
  • F# 中的第一个或默认值

    如何在 F 中编写 FirstOrDefault Linq 查询 我可以在 F 中完全使用 linq to sql 吗 请注意 F 中更惯用的方法可能是使用类似于Seq tryFind而不是使用 LINQ 运算符 尽管它不是替代品 因为它返
  • mongodb 转储多个集合或排除集合版本 2.6

    如何转储多个集合或排除 mongodump 上的集合 mongodb是2 6版本 我现在就是这样做的 mongodump collection map accounts clicks out dumps 您可以使用 排除集合从 MongoD
  • 如何在Python中使用点表示法表示字典?

    我对 python 很陌生 我希望我能做到 访问 a 值的表示法dict 可以说我有test像这样 gt gt gt test dict gt gt gt test name value gt gt gt print test name v
  • 如何使用 faces-redirect 进入 JSF 2.2 流程

    我有一个基本的流程示例 src main webapp index xhtml flow1 flow1 flow xml flow1 xhtml index xhtml 有一个简单的形式 使用参数进入流程
  • 如何修复“客户端身份验证方案‘匿名’禁止 HTTP 请求”

    我在实现与 WCF 服务通信的客户端时遇到一些问题 它是由另一家公司托管的 WCF 因此我无权访问其代码 我使用 Visual Studio 中的连接服务提供程序工具生成客户端代码 以便我可以发出请求 并且一切都在我的本地计算机上正常运行
  • 为什么 npm 将本地包安装在我的主目录中?

    Node js 新手 Windows 10 我npm install ed 一些软件包 没有 g 而在没有的目录中package json npm 将包放入C Users MyName node modules 现在我看到一些奇怪的行为 当
  • 在类中使用 es6 箭头函数[重复]

    这个问题在这里已经有答案了 当我改变一个函数时draw to draw gt 我收到类似 Uncaught SyntaxError Unexpected token 的错误 可能是什么原因 首先 你可能不应该这样做 为什么 嗯 因为箭头函数
  • 将源代码管理中的更改提交到多个分支的实用方法

    使用源代码控制时的常见场景是拥有开发分支和版本化发布分支 我们使用 CVS 以 HEAD 作为开发分支 并命名一个分支 例如 release 6 2 表示产品的当前版本 新功能的开发仅进入开发分支 但错误修复有时必须同时检查到开发分支和当前
  • 有没有办法重定向到另一个 Action 类而不使用 struts.xml

    我在 Struts 应用程序中创建了许多类 我没有检查任何课程是否登录状态 相反 我扩展了一个基本动作类 现在我想在我的基本操作中创建一个预处理程序来检查登录情况并在未登录时进行重定向 我想要这样的东西 public BaseAction
  • 何时调用layoutSubviews方法?

    我正在经历教程其中提到了以下方法 void layoutSubviews 位于CustomerCell m 在应用程序执行期间何时调用此方法 是自动调用的吗 我没有看到任何回调 你会找到你的答案here 编辑 直接从博客复制 init 不会
  • “请求的快照版本太旧。” Firestore 中的错误

    在使用 Firebase 的 Swift 客户端时 从 2 月 9 日开始 我开始看到错误消息 请求的快照版本太旧 在addSnapshotListener的回调中 这个错误是什么意思 我该如何修复它 Thanks None
  • Passport JS“发送后无法设置标头”

    当我使用passport JS成功登录时出现此错误 登录后尝试重定向到主页 执行此操作的代码 app post login passport authenticate local failureRedirect login function