问题标签 [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.
angularjs - Mongoose“创建”方法 - 没有回调吗?(使用护照和角度)
我正在使用猫鼬在注册时创建一个用户对象。这工作正常,任何错误都会按预期返回。
但是,我想在用户注册后立即登录(所以如果没有错误,注册会登录)。
我有以下的寄存器。
注册控制器:
服务.js:
用户.js:
护照的 authenticate.js:
错误被很好地报告回来,没有麻烦,但我原以为它会报告其他东西(比如创建的对象?),我可以使用它,这样我的 register_controller 就可以成功function(object) {... login(object);...}
。
这是 .create 方法的限制还是我遗漏了一些明显的东西?
谢谢你。
node.js - 从图表路由到 bar1 页面时出现 404 错误
错误是 NOT FOUND 404 Error: Not Found at Layer.app.use.res.render.message[as handle] (c:\node\nodetest1\app.js:48|15) at trim-prefix (c:\ node\nodetest1\node_modules\express\lib\router\index.js:240:15) 在 C:\node\nodetest1\node_modules\express\lib\router\inder.js:208.9 在 Function.proto.process_params(C: \node\nodetest1\node_modules\express\lib\router\index.js:269:12) 在下一个 (C:\node\nodetest1\node_modules\express\lib\router\index.js:199:19)
当从图表路由到 bar1 我得到 404
node.js - 我可以在不使用模板的情况下使用 node.js 显示来自服务器的消息吗?
目前使用 Node 构建单页应用程序,使用护照和 mongodb 进行用户身份验证。我希望能够在注册和登录时向用户发送诸如“该用户名已被占用”或“请填写所有字段”之类的消息。然而,我见过的所有例子都使用模板引擎和像 flash 这样的包来渲染基于从服务器发送的 javascript 的 html。有没有解决的办法?我的应用程序已经很长了,切换到模板服务将是一个真正的痛苦。我不需要渲染 html,一个简单的警告框就足够了。
node.js - MongooseJS 保存后无法检索数据
我有一个简单的 ExpressJS 应用程序,我正在尝试使用护照、护照本地和护照本地猫鼬向它添加用户身份验证,但是在我将用户的数据保存到数据库后,猫鼬无法检索它,尽管我可以看到通过 mongo cli 获取数据。
在主要的快递模块中,我有:
我的用户模型模块有:
在我的路线模块中,我使用以下代码创建了一个用户:
但是,当我尝试使用 passport.authenticate 方法对用户进行身份验证时,猫鼬无法在数据库中找到该用户,正如我在猫鼬日志中看到的那样:
但是在 mongo cli 我可以看到数据:
node.js - 如何设置护照?
我通过mongoose-simpledb使用 Mongoose 。它只是 Mongoose 上的一个小层,它允许我在名为dbmodels
. 我有一个auth.js
文件来处理基于一些教程的身份验证。内容:
我也设置了这条路线:
我不知道我在做什么,我真的很生气。
我在这里做错了什么?我有一个数据库,里面有一个虚拟用户。当我使用凭据登录时,我得到了这个:http: //i.imgur.com/vThiZ4i.png
编辑
我的模型设置user.js
在dbmodels
我的应用程序的根文件夹中。以下是内容:
我尝试在查找之间user
和User
查找时更改大小写。
该auth.js
文件与 一起位于根文件夹中app.js
,其中包含我的数据库初始化在最顶部:
在console.log
我尝试登录之前打印到控制台。
node.js - 我如何使用带有 local.email 的模型的 passport-local-mongoose
嗨,我想使用 passport-local-mongoose 插件,但它似乎只有在你有这种形式的模型时才有效,所以没有社会认证:
但是我也使用社交认证,所以我的模型是这样使用的:
有没有我可以使用的选项或策略来告诉 passport-local-mongoose 在本地身份验证中进行身份验证?非常感谢
node.js - req.session.passport 和 req.user 为空,从不调用 serializeUser 和 deserializeUser
我将 Express (v4.11.2) 与 Passport 一起使用,以支持多个提供商(本地、facebook、twitter 和 google)访问我正在构建的 web 应用程序。作为后端,我使用的是 mysql。现在我有两个本地策略:local-signup 和 local-signin。我遇到的问题是 req.session.passport 和 req.user 总是空的,事实上,serializeUser 和 deserializeUser 永远不会被调用。
这是快递和护照的设置:
这是带有身份验证策略的护照文件:
最后,这是我在快速路线中使用策略的方式:
一切正常,即使在策略中我也可以在会话中设置用户 id 的值,如下所示:
并继续手动使用它,但我真的不明白为什么没有调用 serializeUser 和 deserializeUser。
javascript - 浏览器后退按钮不会破坏 PassportJS + ExpressJS 中的会话。如何完全终止/终止会话?
我的注销机制的代码是
我正在使用使用密钥的 Express-session 包,没有在任何地方设置 Cookie。
虽然我在注销后单击浏览器后退按钮,但它仍然允许用户返回到正在验证的页面。如何完全终止此会话?
isLoggedIn 只是通过 PassportJS 的 isAuthenticated 方法进行身份验证。这里的出路是什么?
请帮忙。提前致谢。
编辑:这是会话 ID
node.js - 将 inputModel 而不是 request 传递给护照策略
我正在使用这样的护照本地策略:
配置:
我的路由器定义如下所示:
由于某些原因,我不完全了解护照“机制”。该文档对我来说看起来不是很详细。一个问题是请求对象(其中包含包含电子邮件和密码的正文)传递给我的策略的位置。该策略如何获取电子邮件和密码(什么是“源对象”)?
提出这个问题的原因是我想使用以下 inputModel 而不是将请求传递给策略:
此输入模型正在转换请求并验证数据。我想使用这个输入模型,因为它更适合我的架构(我在所有其他情况下都使用这样的 inputModels ......只是没有使用护照(因为我缺乏理解),这对我来说似乎不一致。
javascript - Node.js 使用 Express 和 Mongoose 设置 Passport 的问题
我是 Node.js 的新手。尝试设置用户帐户创建并使用 Passport 登录。我不能让它工作。尽管我使用现有用户登录并通过,但我收到未经授权的消息。到目前为止我的代码:
我需要一些专家的帮助...
问候,