问题标签 [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.
express - 护照未能在尝试再次注册时序列化注册用户
我正在测试local-signup
一个已经存在的帐户的序列化,但我抛出了一个错误(这似乎不正确)。该错误不会引发原始注册(仅当我尝试重新注册时)。
当我第二次尝试帐户时Error: Failed to serialize user into session
编辑:
编辑#2:
这里大致是我的 app.js
我做了更多的挖掘,问题可能是当电子邮件注册一次并再次尝试创建帐户时,用户被传入为假passport.serializeUser()
node.js - 护照的 req.isAuthenticated 总是返回 false,即使我硬编码 done(null, true)
我正在尝试让我的 Passport 本地策略发挥作用。
我已经设置了这个中间件:
但后来在这里
它总是失败并重定向到主页。
我不明白为什么会这样?为什么不会认证?
在我的控制台中,我可以看到Password Correct
正在打印。为什么它不起作用?
node.js - 无需字段的 Passport.js 策略
我很惊讶它很难找到,或者我可能有什么问题。
我需要一个passport.js
strategy
不需要字段的 - 在简单的用户GET
请求上运行身份验证'/'
并操作用户会话数据,例如,创建一个新的“访客”用户。
也许我可以通过护照做到这一点local-strategy
?还是我需要创建一个自定义的?
我看到这个配置护照接受没有正文的请求? 问题,但我只是无法弄清楚答案包装中的建议将如何改变任何东西。
编辑:这就是我想要实现的目标
然后在routes.js
angularjs - 导航栏地址加载角度模板但不是根外壳
我将 Node.JS 与 Express、Angular.JS 和 ACL 的节点模块连接角色一起使用。我想允许 user.status 为“Platinum”的用户访问“Platinum”而不是“Gold”,反之亦然。
我的 ACL 部分正在工作,如果我在导航栏中输入 /Platinum,我无法访问 /Gold,但是当我尝试访问 /Platinum 时,我只能获得模板而不是 root shell,所以出现的是:
如果我单击指向 /Platinum 的 Angular 链接,则一切正常。如果我在导航栏中输入任何中性地址,一切正常。
这应该很容易解决,但我还没有弄清楚。
这是设置授权的代码,我很确定这里一切正常。
这设置了授权,现在问题出在路由下面。
express - 快速会话被覆盖
我有带 Passport 身份验证的 Express 并已向其添加会话,如下所示。
不确定问题是什么,在 Passport 登录中我将会话名称设置为req.session.name
. 如果用户 A 登录它可以正常工作,但是当用户 B 登录时,它不会创建新的会话对象,而是用用户 B 覆盖用户 A 会话对象,包括护照详细信息。同样在浏览器中,cookie 被重置为用户 B,这应该是显而易见的。
node.js - 在Node.js中重置密码后如何使用passport.js登录?
我正在使用 passport.js 进行身份验证。
我有一个想解决的问题:
每当用户想要reset
他的时,我都会向他password
发送一封电子邮件。password reset link
token id
reset
他可以password
在点击那个链接后,但在重置密码后,
我希望用户被重定向到dashboard page
而不是log in page
.
我尝试使用 passport.js 找到解决方案,但没有得到任何运气。
有人可以给我任何想法来解决这个问题吗?
谢谢你
node.js - bcrypt-nodejs.compare 总是返回 false
我正在使用 node.js、bcrypt、sequelize 和 passport 设置登录,并且我已经在线关注了文档,但由于某种原因,即使我知道密码匹配,.compare 函数也总是返回 false。
在我的模型中,我添加了一个 beforCreate 挂钩来加密密码:
加密密码函数:
我创建用户的控制器:
这很好用,用户使用散列密码存储在我的数据库中。
现在我尝试使用护照登录用户
此过程调用 user.verifyPassword ,它是我的用户模型的 instanceMethod。
但是,无论密码是否匹配,回调始终为假。有谁知道我做错了什么?我试图切换到 bcrypt,但我无法安装它,因为 node-gyp 重建总是失败,抱怨它找不到我安装的 python 的 env 变量。另外,我不想在试图让服务器开发人员设置一个具有所有依赖项和正常 bcrypt 的东西的服务器时感到非常痛苦。
node.js - 成功,但仍在使用 failureRedirect - 护照
这是路线。
这是护照配置文件。该表单正在按预期工作并使用我的 mongo 模式保存,但它使用的是 failureRedirect 而不是 successRedirect,有人注意到有问题吗?
javascript - 使用 node.js 处理表单数据
这是我的简单 form.html :
这是我的 express node.js 代码 app.js:
当我在 action 属性中编写 app.js 路径“our-project/app.js”并提交表单时,没有任何响应。form.html 路径“我们的项目/form/form.html”
node.js - 使用带护照本地的护照Facebook策略时无法将用户序列化到会话中
我正在使用passport-local
和passport-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)
有什么想法吗?