Tag: passport.js

passportjs错误callback抛出exception

我正在使用MYSQL(具有sequelize)LocalStrategy这是除了当MYSQL抛出exception(只是为了testing,我closuresMYSQL服务器)正在工作。 return done(error)callback抛出exception崩溃的服务器。 这是我的一段代码: passport.use(new LocalStrategy({usernameField: 'email', passwordField: 'password'}, function (email, password, done) { db.User.find({where: {email: email}}).done(function (error, user) { if(error) return done(error); if (!user) return done(null, false, {message: 'unknown user'}); //validate password if (user.password != password) { return done(null, false, {message: 'invalid password'}); } //all ok return done(null, user); }); } )); 而例外: TypeError: […]

用passport.js twitterlogin重新login用户

在护照我有Twitterauthentication。 一切都很好login明智。 我有这个代码 app.get('/auth/twitter', function (req, res) { if (req.user) { return res.redirect('/'); } return passport.authenticate('twitter')(req, res); }); 所以,如果用户已经使用twitterlogin到我的网站,它只是redirect回来(可能最终会给出一个消息)。 一旦他们注销该网站,他们再次点击logintwitter,再次将他们带到Twitter授权应用程序页面。 它不应该。 当我看着其他网站,它从来没有要求我再次授权的应用程序。 如果我查看我的twitter个人资料的授权应用程序部分,我看到我正在开发的应用程序。 为什么我的应用程序在我已经提供的时候一直要求授权? 我怎样才能改变这个(我存储令牌和token_secret DB)? 谢谢您的帮助。

passportjs LocalStrategy允许比默认的用户名和密码更多的参数吗?

我是新来的JavaScript,节点和passportjs。 对不起如果这是不正确的。 我想在我的护照本地策略中使用3个参数: 用户名,电子邮件,密码 。 可能吗? 如果这样怎么样? 根据passportjs的说法:“默认情况下,LocalStrategy希望能够在名为username和password的参数中find凭据,如果你的站点更喜欢以不同的方式命名这些字段,可以使用选项来改变默认值。 但是我可以添加更多参数吗? 我试过这个: passport.use('local-signup', new LocalStrategy({ // by default, local strategy uses username and password, we will override with email usernameField : 'username', emailField : 'email', passwordField : 'password', passReqToCallback : true // allows us to pass back the entire request to the callback }, function(req, username, email, […]

从Passport策略路由中传递用户信息

我正在尝试使用express来validation用户使用passportjs。 Passport.js看起来像这样。 var USER_INFO = {}; var FB_CALLBACK = 'http://localhost:3000/auth/facebook/callback'; module.exports = function(passport) { passport.use(new FacebookStrategy({ clientID: FB_CLIENT_ID, clientSecret: FB_CLIENT_SECRET, callbackURL: FB_CALLBACK }, function(accessToken, refreshToken, profile, done) { process.nextTick(function() { USER_INFO.id = profile.id; }); })); } var express = require('express'); // call express var app = express(); // define our app using express var router […]

什么是Passport中的闪存信息?

我正在阅读护照文件,我想知道什么是闪光消息。 Googeling它没有给我任何相关的答案。

如何使用Passport JSvalidation用户服务器端?

我想通过生成随机的用户名和密码自动生成用户帐户,然后用户自动login(用户不知道他的用户名/密码,他的浏览器只是存储会话cookie)。 护照function作为中间件,所以我怎么才能authentication我刚刚生成的用户? 或者,最好是redirect到我的app.post('/login')路线,并发送这些variables? (但不知何故将这些发送到浏览器,只是被发回服务器似乎不是很安全或有效)。 app.get('/signup', function(req, res) { if(req.isAuthenticated()) { res.redirect('/'); } else { var today = new Date(); var weekDate = new Date(); weekDate.setDate(today.getDate() + 7); var key1 = Math.random().toString(); var key2 = Math.random().toString(); var hash1 = crypto.createHmac('sha1', key1).update(today.valueOf().toString()).digest('hex'); var hash2 = crypto.createHmac('sha1', key2).update(weekDate.valueOf().toString()).digest('hex'); var newUser = new models.User({ username: hash1, password: hash2, signupDate: […]

jQuery AJAX调用Passportjs在Express(nodejs)框架上login

我试图使用AJAX在Express应用程序上使用Passport库调用loginvalidation。 我使用这样的本地策略: router.post('/login', function(req, res, next) { passport.authenticate('loginUsers', function(err, user, info) { if (err) { return next(err); } // if user is not found due to wrong username or password if (!user) { //return res.render('login', {}); res.json({detail: info}); }//(!user) //passport.js has a logIn user method req.logIn(user, function(err) { if (err) { return next(err); } return […]

如何处理asynchronous。 findOrCreate护照和mongoose的方法

身份validation模块“Passport”需要FindOrCreate方法才能进行login。 我正在使用mongoose为了保存我的用户以下模式: var UserSchema = new Schema({ firstname: String, lastname: String, email: String, accounts: [] }); accounts数组包含代表Facebook帐户的对象,如{provider: "facebook", uid: "someFacebookId"} 。 我的身份validation策略如下所示: // Authentication Strategy passport.use(new FacebookStrategy({ clientID: CONFIG.fb.appId, clientSecret: CONFIG.fb.appSecret, callbackURL: CONFIG.fb.callbackURL }, function(accessToken, refreshToken, profile, done) { // asynchronous verification, for effect… process.nextTick(function () { User.find({ 'accounts.uid': profile.id, 'accounts.provider': 'facebook' }, function(err, olduser) […]

passport.js – facebook策略注销问题

我正在尝试使用此login示例设置Facebook身份validation。 示例工程,但是当我注销并尝试再次login护照自动让我在没有给我一个选项来更改Facebook用户。 任何想法如何改变这种行为?

unit testing用passport.js和express.jslogin

我试图testing我的本地login。 我已经用passport.js实现了,遵循它的指导并遵循这个MEAN框架。 我很确定实现是正确的,但是总是失败的testing有问题。 如果authentication失败,应该redirect到“/ signin” 如果authentication是正确的,应该去“/” 但是当我testing时,authentication总是失败。 这是routes.js : module.exports = function(app, passport, auth) { var users = require('../app/controllers/users'); app.get('/signin', users.signin); app.post('/users/session', passport.authenticate('local', { failureRedirect: '/signin', failureFlash: 'Invalid email or password.' }), users.session); var index = require('../app/controllers/index'); app.get('/', index.render); passport.js : var mongoose = require('mongoose'), LocalStrategy = require('passport-local').Strategy, User = mongoose.model('User'), config = require('./config'); module.exports […]