Tag: passport.js

PassportJS(Local)与Sequelize和Express在序列化用户之后挂起

我正在尝试使用我在http://code.tutsplus.com/tutorials/authenticating-nodejs-applications-with-passport-cms-21619中find的教程进行login工作。 我修改了代码以使用Sequelize。 我能够validation用户名和密码,但序列化一个用户后,它redirect到的页面不会加载。 我想知道是否有什么我错过了。 我没有真正得到一个错误,但redirect到/testing/主页卡在悬而未决,并不断执行一个职位请求。 它似乎并没有运行req.isAuthenticated() Executing (default): SELECT "id", "email", "username", "password" FROM "users" AS "user" WHERE "user"."username" = 'user14' LIMIT 1; username and password matched serializing user: POST /test/login 302 377.738 ms – 64 Executing (default): SELECT "id", "email", "username", "password" FROM "users" AS "user" WHERE "user"."id" = 16; GET /test/home – – […]

Mongo DB已更新,但是呈现了旧信息

我是新的使用MEAN堆栈,并试图实现用户服务。 我希望用户能够编辑他们的显示名称等信息。 用下面的代码,我可以在Mongo数据库中看到正在进行的更改,但是当我loggingreq.user时,我看到它正在显示未更新的版本,因此更新没有被呈现。 请帮忙! var router = require('express').Router(); router.route('/users/:user_id/changeName') // Update user's display name .post(function(req, res) { User.findByIdAndUpdate(req.params.user_id, { $set: { name: req.body.newName }}, function(err, user) { console.log(req.user); console.log(req.body.newName); res.render('profile.ejs', { user: req.user }); }); });

如何在护照策略中使用res.send?

我正在尝试使用passport.js进行Node.js ajax身份validation,我想在/login页面中显示消息。 我应该在我的护照策略中使用res.send ,然后ajax调用成功结束将显示成功数据到其页面。 但我无法猜测如何使用res。 在战略。 请看下面的代码, login.ejs <div id="messages"></div> <!– and there is a form, when form submitted, the ajax call executed.–> <!– …ajax method : POST, url : /login, data: {}, success:… –> <!– If ajax call success, get 'result' data and display it here –> app.js // and here is ajax handler […]

MEAN堆栈 – 如何允许API访问权限只有login(电子邮件/密码和Facebooklogin)的用户

我已经在网上阅读了一整天,发现所有的解决scheme都是局部的而不是重点。 我有一个API写在节点和expression – (/ api / plans /)和(api / users /)。 目前,我已经能够实现一个简单的电子邮件和密码注册和loginfunction。 如果用户成功login,我在节点服务器上生成一个令牌并将其发回到Angular Front端。 但是我的API可以在没有任何身份validation的情况下访问,我想改变它。 我想限制只有我login的前端(Angular)用户的API访问。另外,为了让用户注册/login,除了给我一个简单的电子邮件和密码注册,我已经有了,我想给一个单点loginFacebook也是如此。 我正在考虑使用Passport-Facebook战略,这将给我的Facebook访问令牌,但我失去了如何将Facebook访问令牌与我现在生成的电子邮件/密码令牌集成,然后如何使用令牌来保护我的API端点只能login用户。 寻找build议,如何最好地去做。

Nodejs我需要使用Passport吗?

好的,所以我目前正在使用Node.js编写一个Web应用程序,而且我有点卡在如何处理用户login/身份validation。 许多教程似乎build议使用Passport来进行身份validation,但是从我读过的所有文档中,似乎需要一些设置,并且使我期待的简单login变得复杂。 如果使用Passport或不,我仍然计划在我的Mongo数据库中encryption我的用户密码。 所以问题是,我是否真的需要使用Passport出于安全的原因,或者我可以只编码一个authentication系统我自己?

passportjs用户对象不会为比较密码返回密码

我有一个问题,我没有得到一个想法,为什么用户存储对象不返回密码在model / user.js中的validatePassword函数。 我遵循passportjs官方文档中描述的所有步骤。 我使用passportjs的localstategy进行login。 当我比较电子邮件它总是比较,但是当我试图执行validation密码,并使用this.password或作为参数它总是空白,这就是为什么我的密码是不比较。 我得到了所有用户模式信息,但是我没有在用户对象中获取密码,所以我无法比较它。 谁能告诉我怎么能摆脱这个问题? 控制台日志 root@wk11:/var/www/html/mytripmean/trunk# nodejs server.js Mytrip is listening on port 1000 MongoDB connection successful —- User Information —- myemail@gmail.com Password@@123 { message: 'Incorrect password.' } not user: false [Error: Illegal arguments: string, undefined] /var/www/html/mytripmean/trunk/app/data/models/user.js:105 throw err; ^ Error: Illegal arguments: string, undefined at Error (<anonymous>) at Object.bcrypt.compare (/var/www/html/mytripmean/trunk/node_modules/bcryptjs/dist/bcrypt.js:250:42) […]

Passport-local-mongoose:注册后validation用户权限

我正在尝试使用passport-local-mongoose在/ register表单上提交POST后对用户进行身份validation。 我不明白为什么我总是得到“未经授权”奇怪的是没有数据在数据库上提交(它工作,如果我从app.post(“/注册”)删除“passport.authenticate('本地')) 有任何想法吗 ? app.js: // ====== Dependencies var express = require('express'); bodyParser = require('body-parser'); validator = require('express-validator'); cookieParser = require('cookie-parser'); expressSession = require('express-session'); passport = require('passport'); LocalStrategy = require('passport-local').Strategy; auth = require('./controllers/auth'); registration = require('./controllers/register'); User = require('./models/user'); // ====== Options var app = express() .use(bodyParser.urlencoded({ extended: false })) .use(bodyParser.json()) .use(validator()) .set('view engine','ejs') […]

我错过了什么? node.js条带连接集成

一直在敲我的脑袋,试图让这个条形连接与独立账户的整合完成。 入门登记您的平台。 (您只需要这样做一次。)为您的用户创build或连接帐户,例如卖家或服务提供商。 所以我已经注册了我的平台,获得了我的API密钥。 我在我的网站上添加了“连接到条纹”button。 哪个链接到用户的login页面或注册页面 编辑:我现在正在尝试设置护照条纹策略,但是我不明白我想要达到什么目的。 Stripe提供了一个链接到这个文档github的要点 ,但build议你不要使用它(?!),而是使用oauth文档。 所以,记住所有我的其他身份validation是使用护照设置,我已经使用https://github.com/passport/passport-stripe#usage 在/服务器/configuration/策略/我添加了一个文件stripe.js 'use strict'; /** * Module dependencies. */ var path = require('path'); var passport = require('passport'), StripeStrategy = require('passport-stripe').Strategy, User = require('mongoose').model('User'), errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller')); module.exports = function(config) { passport.use(new StripeStrategy({ clientID: '', clientSecret: '', callbackURL: "http://localhost:3000/api/auth/stripe/callback" }, function(accessToken, refreshToken, stripe_properties, done) { // User.findOrCreate({ […]

Strongloop Passport.js身份validation – “无法获取访问令牌”

我试图编写一个Express / Passport应用程序,用Github Enterprise服务器进行身份validation。 这需要手动编辑护照的github策略,以指向私有企业API端点。 没有biggie那里。 我正在使用Strongloop来构build应用程序,所以我正在使用strongloop-passport-component集成。 据我可以告诉应用程序configuration正确,但在redirect,我得到以下错误信息: Loopback 500 InternalOAuthError:在/ Users处,无法获取Strategy.OAuth2Strategy._createOAuthError(/ Users / Tom /桌面/音乐/节点/模块/ passport- /Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/lib/strategy.js:166:45 at /Users/Tom/Desktop/soundoff/node_modules/passport-github/lib/strategy.js: 75:25在ClientRequest的/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:177:18。 (/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:148:5)在ClientRequest的emitOne(events.js:90:13)。在TLSSocket.emit(events.js:182:7)上的emitOne(events.js:90:13)处的TLSSocket.socketErrorListener(_http_client.js:262:9)处发射(events.js:182:7) 如果我看看github应用程序设置,我可以validation用户是否已成功通过应用程序进行身份validation。 它似乎无法将用户redirect到redirectURI。 aparrently它无法find访问令牌? 用户最终得到的URL是类似http://0.0.0.0:3000/auth/github/callback?code=dceef2ffe07b5dbfa194 – 但是,我期望他们最终在http://0.0.0.0:3000/auth/account 。 什么可能导致回环找不到访问令牌? 是不是在url?code= ?

节点护照邀请策略

我正在创build一个多用户的应用程序,只有pipe理员可以通过邀请添加新用户。 我看护照,但没有看到实施一种“邀请策略”(类似于RoR的devise)的方式; 有任何想法吗 ?