Tag: passport.js

如何使用node.js和express来设置单实例多租户结构

我正试图将我们的应用程序转移到多租户架构,每个客户都有不同的数据库。 我们使用node.js,express和passport进行身份validation。 我试图调查passports.js,但它似乎已经出版2年前,并不断有问题与节点。 有其他select吗? 或者,你如何用passport.jsbuild立多租户?

Spring安全替代Node.js

在Node.js中有没有弹簧安全的替代品? 我知道快递和护照,但护照只提供身份validation。 它没有为用户和angular色设置“忘记密码”,“重置密码”或者粗暴操作。 换句话说,护照缺乏春季安全提供的许多常用function。 有没有提供这些function的Node.js库。

Facebook使用护照从Androidlogin到节点js服务器

我想从我的Android应用程序login到我的节点js后端女巫与护照jsconfiguration app.route('/auth/facebook').get(passport.authenticate('facebook', { scope: ['email'] })); app.route('/auth/facebook/callback').get(users.oauthCallback('facebook')); 它是在前端工作但我想知道如何login我的Android应用程序使用护照js 我应该使用Facebook的SDK或不!

使用passport-facebook策略和passport-local无法将用户序列化到会话中

我在sails.js使用passport-local和passport-facebook策略进行身份validation。 使用电子邮件validation工作正常。 但是,当用户使用Facebook进行身份validation时,出现此错误消息[Error: Failed to serialize user into session] 。 然后我testing了serializeUser方法,事实certificate, user参数在facebook的情况下是空的。 虽然我也试着看看verifyHandler是否被调用,而不是被调用。 这是我的Facebook身份validation操作代码: facebook: function (req, res) { passport.authenticate('facebook', {failureRedirect: '/login', scope: ['email']}, function (err, user) { if ((err) || (!user)) { req.session.flash = { errMsg: 'Email or password mismatch.' } return res.redirect('/login'); } req.logIn(user, function (err) { if (err) { console.log(err); res.view('500'); return; […]

Passport.js / Express.js在每个networking请求中创build新的会话

我有一个工作loginfunction,正确authentication和保存。 但是,快递永远不会记住旧的会话,它总是为每个networking请求创build一个新的会话。 显然,Passport对于表示中间件初始化的命令是非常敏感的。 (例如: https : //www.airpair.com/express/posts/expressjs-and-passportjs-sessions-deep-dive )。 我检查了我的configuration对一些例子,并重新安排它,如果它会帮助,但它并没有移动我的错误。 要么这不是问题,或者我还没有findconfiguration圣杯。 这是我目前的configuration: 快速configuration app.engine('html', require('ejs').renderFile); app.set('view engine', 'html'); app.use(express.static(path.join(config.root, '/views'))); app.set('views', config.root + '/views'); var sessionOpts = { saveUninitialized: true, resave: false, store: new RedisStore({ host: 'localhost', port: 6379 }), secret: 'keyboard', cookie: { httpOnly: true, maxAge: 1000 } } app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser('keyboard')); […]

使用sails作为REST API来启动护照js集成

我正在尝试在本地mysql数据库中使用护照js进行身份validation。 我正在使用邮递员扩展来testing应用程序。 我发送两个字段,即用户名和密码进行身份validation。 当任何一个字段为空时,响应以json格式显示为 { "message": "Missing credentials", "user": false } 但是,当我通过两个字段的值我得到500内部服务器错误。 错误:发送500(“服务器错误”)响应:TypeError:无法读取在d:\ Test \ api \ controllers \ AuthController.js:25:23的未定义属性'消息'在Strategy.strategy.error(d:\ Test (D:\ Test \ node_modules \ passport-local \ lib \ strategy.js:94:17)在尝试时(d:\ Test \ node_modules \ passport \ local \ lib \ strategy.js: (d:\ Test \ node_modules \ passport \ lib \ middleware \ authenticate.js:342:7)在Object.module.exports.login(():\ node_modules […]

Passport-http错误的请求

我想用passport-http(DigestStrategy)进行简单的身份validation。 它看起来像: var DigestStrategy = require('passport-http').DigestStrategy; passport.use('login', new DigestStrategy({ qop: 'auth' }, function(login, password, done) { User.findOne({ login: login }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false); } user.matchPassword(password, function(err, isMatch) { if (!isMatch) { return done(null, false); } return done(null, user); }) }); } )); 并在POST […]

PassportJSauthentication和mongodb数据库收集最佳实践?

我正在一个项目中工作,实际上是第一次使用nodejs,express和mongodb。 对于我使用passport.js的身份validation,它看起来非常灵活,易于集成。 我真的很喜欢序列化和反序列化的想法,但我关心的是用户对象,它永远是开的,可以用于每个请求。 我的项目涉及订阅,用户configuration文件,也许是一个小的打勾的系统。 所以我的用户架构,它包含用户凭据,用户信息,如地址,电话,电子邮件,还有关于订阅的信息。 这些信息中的一部分是embedded在相同模式下的文档。 这似乎很奇怪,所有这些信息总是准备好,即使我不需要,甚至bcrypt密码始终在请求调用。 我的问题是,你认为最好的做法是将用户凭证从用户对象中分离出来,并与关系玩,所以当我用正常的控制器模型的方式需要时,可以调用用户信息? 提前致谢

访问我从护照JS获得的FB用户ID

我有一个问题,试图使用我从我创build的护照JS政策获得的FB用户ID。 在我的应用程序中,我让用户login到FB,并在我的数据库中创build了一个用户,如果没有匹配的话。 我有一个非常基本的节点JS应用程序,在这里我可以pipe理所有视图(现在使用hogan引擎)。 所以当我做我的app.js文件时: app.get('/myaccount', ensureAuthenticated, function(req, res){ console.log('– User ID:' + req.user.id ); res.render('myaccount', { user: req.user }); }); 我得到正确的userId。 例如我的是XXXXXXX8342620263。 但在客户端(我的hjs文件)我试图使用相同的userId,我得到非常相似,但不同的ID。 <script type="text/javascript"> $(document).ready(function() { // Populate the spends table console.log('==Populate the spends for my account ' + {{user.id}}); populateMyData({{user.id}}); }); </script> 对于我的帐户我得到XXXXXXX8342620264而不是XXXXXXX8342620263 。 这让我疯狂。 有什么build议么? 我什至试图做 var userId = {{user.id}}; userId–; 由于某种原因,我仍然得到相同的错误userId。

Express JS res.redirect是未定义的

我按照这个教程如何使用MEAN堆栈中的passport-facebook,当我尝试使用res.redirect('/signup')我得到了这个错误我总是得到这个错误: ReferenceError: res is not defined 好像我没有通过res作为我的函数参数。 我尝试在第二个/最后一个参数中添加它。 但没有任何工作。 我错过了什么? 这是我的代码: exports.saveOAuthUserProfile = function(req, profile, done){ User.findOne({ provider: profile.provider, providerId: profile.providerId, }, function(err, user) { if (err) { return done(err); } else { if (!user) { // console.log(profile.email.value); var possibleUsername = profile.username || ((profile.email) ? profile.email.value.split('@')[0] : ''); User.findUniqueUsername(possibleUsername, null, function(availableUsername){ profile.username = availableUsername; user […]