问题标签 [passport-local]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
466 浏览

express - 护照未能在尝试再次注册时序列化注册用户

我正在测试local-signup一个已经存在的帐户的序列化,但我抛出了一个错误(这似乎不正确)。该错误不会引发原始注册(仅当我尝试重新注册时)。

当我第二次尝试帐户时Error: Failed to serialize user into session

编辑:

编辑#2:

这里大致是我的 app.js

我做了更多的挖掘,问题可能是当电子邮件注册一次并再次尝试创建帐户时,用户被传入为假passport.serializeUser()

0 投票
20 回答
49807 浏览

node.js - 护照的 req.isAuthenticated 总是返回 false,即使我硬编码 done(null, true)

我正在尝试让我的 Passport 本地策略发挥作用。

我已经设置了这个中间件:

但后来在这里

它总是失败并重定向到主页。

我不明白为什么会这样?为什么不会认证?

在我的控制台中,我可以看到Password Correct正在打印。为什么它不起作用?

0 投票
1 回答
2052 浏览

node.js - 无需字段的 Passport.js 策略

我很惊讶它很难找到,或者我可能有什么问题。

我需要一个passport.js strategy不需要字段的 - 在简单的用户GET请求上运行身份验证'/'并操作用户会话数据,例如,创建一个新的“访客”用户。

也许我可以通过护照做到这一点local-strategy?还是我需要创建一个自定义的?

我看到这个配置护照接受没有正文的请求? 问题,但我只是无法弄清楚答案包装中的建议将如何改变任何东西。

编辑:这就是我想要实现的目标

然后在routes.js

0 投票
1 回答
92 浏览

angularjs - 导航栏地址加载角度模板但不是根外壳

我将 Node.JS 与 Express、Angular.JS 和 ACL 的节点模块连接角色一起使用。我想允许 user.status 为“Platinum”的用户访问“Platinum”而不是“Gold”,反之亦然。

我的 ACL 部分正在工作,如果我在导航栏中输入 /Platinum,我无法访问 /Gold,但是当我尝试访问 /Platinum 时,我只能获得模板而不是 root shell,所以出现的是:

如果我单击指向 /Platinum 的 Angular 链接,则一切正常。如果我在导航栏中输入任何中性地址,一切正常。

这应该很容易解决,但我还没有弄清楚。

这是设置授权的代码,我很确定这里一切正常。

这设置了授权,现在问题出在路由下面。

0 投票
0 回答
610 浏览

express - 快速会话被覆盖

我有带 Passport 身份验证的 Express 并已向其添加会话,如下所示。

不确定问题是什么,在 Passport 登录中我将会话名称设置为req.session.name. 如果用户 A 登录它可以正常工作,但是当用户 B 登录时,它不会创建新的会话对象,而是用用户 B 覆盖用户 A 会话对象,包括护照详细信息。同样在浏览器中,cookie 被重置为用户 B,这应该是显而易见的。

0 投票
1 回答
203 浏览

node.js - 在Node.js中重置密码后如何使用passport.js登录?

我正在使用 passport.js 进行身份验证。

我有一个想解决的问题:

每当用户想要reset他的时,我都会向他password发送一封电子邮件。password reset linktoken id

reset他可以password在点击那个链接后,但在重置密码后,

我希望用户被重定向到dashboard page而不是log in page.

我尝试使用 passport.js 找到解决方案,但没有得到任何运气。

有人可以给我任何想法来解决这个问题吗?

谢谢你

0 投票
2 回答
2843 浏览

node.js - bcrypt-nodejs.compare 总是返回 false

我正在使用 node.js、bcrypt、sequelize 和 passport 设置登录,并且我已经在线关注了文档,但由于某种原因,即使我知道密码匹配,.compare 函数也总是返回 false。

在我的模型中,我添加了一个 beforCreate 挂钩来加密密码:

加密密码函数:

我创建用户的控制器:

这很好用,用户使用散列密码存储在我的数据库中。

现在我尝试使用护照登录用户

此过程调用 user.verifyPassword ,它是我的用户模型的 instanceMethod。

但是,无论密码是否匹配,回调始终为假。有谁知道我做错了什么?我试图切换到 bcrypt,但我无法安装它,因为 node-gyp 重建总是失败,抱怨它找不到我安装的 python 的 env 变量。另外,我不想在试图让服务器开发人员设置一个具有所有依赖项和正常 bcrypt 的东西的服务器时感到非常痛苦。

0 投票
1 回答
232 浏览

node.js - 成功,但仍在使用 failureRedirect - 护照

这是路线。

这是护照配置文件。该表单正在按预期工作并使用我的 mongo 模式保存,但它使用的是 failureRedirect 而不是 successRedirect,有人注意到有问题吗?

0 投票
1 回答
64 浏览

javascript - 使用 node.js 处理表单数据

这是我的简单 form.html :

这是我的 express node.js 代码 app.js:

当我在 action 属性中编写 app.js 路径“our-project/app.js”并提交表单时,没有任何响应。form.html 路径“我们的项目/form/form.html”

0 投票
1 回答
1669 浏览

node.js - 使用带护照本地的护照Facebook策略时无法将用户序列化到会话中

我正在使用passport-localpassport-facebook策略进行身份验证sails.js。使用电子邮件进行身份验证工作正常。但是当用户使用 facebook 进行身份验证时,我收到此错误消息[Error: Failed to serialize user into session]

然后我测试serializeUser了方法,结果发现user在 facebook 的情况下参数是空的。虽然我也尝试查看是否verifyHandler被调用并且没有被调用。

这是我的 facebook 身份验证操作代码:

这是passport.js服务代码(api/services/passport.js)

最后(config/passport.js)

有什么想法吗?