问题标签 [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 投票
6 回答
10507 浏览

node.js - node.js中护照身份验证后如何发送json作为响应

我正在尝试这个git 示例

当我将它与我的项目集成时效果很好,但我想要实现的是发送json作为对客户端/请求的响应,而不是successRedirect:'/profile'和failureRedirect:'/signup'。

是否可以发送 json,或者是否有其他方法可以得到相同的结果?

任何帮助将不胜感激,TU

0 投票
0 回答
142 浏览

ajax - 使用木偶应用程序进行护照身份验证

所以护照认证与快递应用程序配合得很好。我有一个木偶应用程序,如何使用护照与木偶进行身份验证?

我不是以任何方式使用编码器,简单来说,我在 localhost-8080 上运行节点身份验证,它基本上使用护照身份验证。它完成了教程中的所有操作,因此效果很好!

现在我有 Marionette 应用程序(我在 apache 上本地运行),它有 index.html/login.html。目前对于最简单的连接,我捕获了表单提交并尝试对服务器上运行的登录页面(本地主机:8080)进行 AJAX 调用(POST),不确定这是否是正确的方式,因为我的身份验证服务器需要全部启动时间。但无论如何,第一个问题是即使我已经指定了 POST,它仍然在使用 GET 方法。首先是如何确保它只在服务器上命中 POST,其次是如何将所需数据传递给它以进行身份​​验证(表单数据)。

我稍后会问下一个问题(你猜它会问:) - 如何在木偶中使用会话),首先我需要通过第一个障碍进行身份验证。

如果我走在正确的道路上,请让我知道正确的方式我该怎么办?

0 投票
3 回答
10054 浏览

node.js - 在会话中更新登录用户详细信息

我正在将 PassportJS 与 ExpressJS 一起使用。

我需要更新登录的用户详细信息。虽然我确实在数据库中更新了它,但我如何在会话中更新它,以便 request.user 包含更新的用户详细信息?

也就是说,更新数据库后,我如何更新用户的会话信息?

我尝试直接将更新的详细信息分配给,request.user但没有奏效。然后我尝试request.session.passport.user了 - 这有效,但在 request.user 中更新之前有大约 5 到 10 秒的延迟。

我需要调用一个函数来更新会话中存储的用户信息吗?或者是否有其他一些我可以更新的对象,其中的更改没有延迟

0 投票
0 回答
801 浏览

node.js - Nodejs护照:成功认证后的任何重定向都会导致404 Not found

一旦我将 ensureAuthenticated 添加到 app.use('/', ensureAuthenticated, routes);任何对http://mydomain.com/的调用都会导致 404;并且用户已成功通过身份验证。请注意,当用户未通过身份验证时,它可以正常工作,并且用户被重定向到登录页面。

当用户身份验证成功并尝试访问主页时可能会出现什么问题?

令人惊讶的是,任何对 /api/* 的调用在所有情况下都没有任何问题。我正在使用带有本地策略的 express 4.x、node、passport auth 模块。

下面是我的代码:app.js:

index.js

auth.js

0 投票
1 回答
738 浏览

node.js - Node.js Express 4 模块化路由问题

我一直在努力模块化我的 node.js express 应用程序,我希望每个部分都在它自己的目录中,但似乎无法正确路由。

每个都在例如 app/lib/main main 是加载正常的索引而不是 /login 或 /notes

控制台向我抛出这个但没有视图目录

错误:无法在视图目录“/home/dave/node/app/views”中查找视图“login.ejs”

在 Function.app.render

获取/登录 500 54ms - 1.01kb

目前 app.js 看起来像这样:

这是默认行为吗?我似乎可以在 node.js 或 express 网站上找到任何信息

0 投票
1 回答
2691 浏览

node.js - Nodejs Passport 验证回调没有被调用且没有错误

我见过与我类似的问题,但我找不到正确的答案。

我正在尝试使用 nodejs+express+passport (本地策略)实现一个非常简单的登录表单。问题是,我的身份验证回调似乎总是失败。我已经删除了与测试数据库的每个连接(每个教程都有一个示例 MongoDB)。

这是我的登录表格

这是我的 server.js(我用 npm start 运行它)

我总是收到 Failed to authenticate 消息。就像我说的那样,我已经用 mongoose 剥离了与模式/模型相关的所有代码,以从示例 MongoDB 中读取数据。passport.authenticate 回调只返回带有 2 个字段的对象的 done 函数,称为 username 和 password ,就像 passport-local 所期望的一样

你能帮助我吗?

0 投票
2 回答
367 浏览

facebook-graph-api - 使用 Facebook 登录和本地登录的 expressjs 护照

我使用 ExpressJS 的 Passport 中间件,但我找不到同时使用 passport-local 策略和 passport-facebook 策略的方法。我想设置它,以便用户在我的网站上创建一个帐户,然后,如果他们愿意,他们可以登录 facebook,这样你就可以看到你的朋友也在使用该网站。但是,当返回 facebook api 数据时,我不知道登录用户是什么。

当有人创建帐户时,他们的数据(用户名、电子邮件等)存储在数据库中。当他们随后登录 facebook 时,我只想更新数据库和会话,以现在包含 Facebook API 返回的一些信息(facebookID、AccessToken 等)。如何做到这一点?

这是我可以用来访问返回的 facebook 数据的代码。仅当数据库条目之前已经与 facebook 同步时,User.findOne 行才有效。有什么方法可以传递 req.session 数据来识别当前登录的用户是什么并更新他们的个人资料?

0 投票
1 回答
1943 浏览

node.js - 护照本地类型错误

我正在尝试在我的 Sails 项目中使用本地护照进行身份验证。在我的控制器中:

在配置文件中:

响应是“无法登录”。控制台输出为:[TypeError: Cannot read property 'id' of undefined]

我是新来的护照,我不完全确定它在哪里失败,因为它似乎实际上是在找到用户,并在配置文件中成功地比较了密码(一些控制台日志似乎表明了这一点)。但是 req.login 回调有一个错误,这意味着即使身份验证成功,登录也会失败。我不知道为什么会收到此错误。

0 投票
1 回答
262 浏览

node.js - passportjs 自定义回调 200

我正在为我的客户端使用 angularjs 和玉模板。以及服务器端的节点和快递。我最近添加了护照身份验证,并且在尝试使用有效凭据登录时本地策略工作正常。这是我遇到问题的错误案例。我已经实现了自定义回调来让我的错误消息冒泡回客户端。现在我收到错误消息,但状态在某处设置为 200,而不是我期望的 401。

这是提交登录请求的角度控制器:

所以,假设我的密码不匹配……我的验证例程中的错误将我的错误消息设置为“密码无效,请重试”。但我在控制台上看到的是:

我不会在其他任何地方重置状态。它是如何设置为200的?我究竟做错了什么?对不起,我是节点和角度的相对新手,所以任何帮助都将不胜感激。我知道我不理解一些关键点,我只是不知道是什么。谢谢!

0 投票
1 回答
116 浏览

node.js - 如何正确设置服务器登录码?

我正在尝试以这种方式使用本地护照设置登录页面,但它不起作用:

节点服务器端:

角度客户端:

这是 mongodb 的用户行:

{“_id”:ObjectId(“53df7b3b769827786b32dafe”),“identifiant”:“123”,“motDePasse”:“123”,“__v”:0}

我认为它来自LocalStrategy。我没有得到 console.log 的结果。

请问有什么绝妙的主意吗?

请问怎么了?