Tag: passport.js

如何添加“记住我”与我的护照应用程序

login时需要“记住我”checkbox。 我使用护照之前添加一个中间件 app.use(function (req, res, next) { if (req.method == 'POST' && req.url == '/login') { if (req.body.rememberme) { req.session.cookie.maxAge = 1000 * 60 * 3; } else { req.session.cookie.expires = false; } } next(); }); app.use(passport.initialize()); app.use(passport.session()); 当req.body.rememberme为真时,我无法login,并且在req.body.rememberme为false时记住用户。 我也试过连接,确保login,它仍然是错误的。 另一个问题是:我应该在什么时候删除我的数据库中的cookies,以及如何? 🙂 其他代码与护照指南完全相同 路线: app.get('/', passport.authenticate('local', {failureRedirect: '/login'}), function (req, res) { res.redirect('/user/home'); }); app.post('/login', […]

Passport本地策略完成callback不会传递错误json消息

我想通过一个JSON消息,当身份validation失败,使用完成callback在LocalStrategy,但我得到的是401和“未经授权”string的响应。 var express = require('express'); var bodyParser = require('body-parser'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var app = express(); app.use(bodyParser.json()); app.use(passport.initialize()); passport.serializeUser(function(user, done) { done(null, user.email); }); var strategy = new LocalStrategy({ usernameField: 'email' }, function (email, password, done) { if (email === 'test@gmail.com' && password === 'pass') { return done(null, { email: […]

Nodejs Passportvalidationcallback没有被调用

使用Nodejs Passport,我testing了使用以下代码发生错误时会发生什么情况: passport.use(new LocalStrategy( function(username, password, done) { // asynchronous verification, for effect… process.nextTick(function () { findByUsername(username, function(err, user) { console.log('in auth function'); return done('errortest'); if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Unknown user ' + username }); } if (user.password != password) { return done(null, false, { […]

Angular / Node / Express / Passport跨域问题 – 启用CORS Passport Facebook身份validation

尝试使用Passport在NodeJS / Express中使用Facebook对用户进行身份validation时,已经有两天,一百万次尝试启用CORS。 我在Chrome上遇到的错误是这样的: XMLHttpRequest cannot load https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http%…%3A8080%2Fauth%2Ffacebook%2Fcallback&scope=email&client_id=598171076960591. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. 我使用的路线非常简单: // ===================================== // FACEBOOK ROUTES ===================== // ===================================== // route for facebook authentication and login app.get('/auth/facebook', passport.authenticate('facebook', { scope : 'email' })); // handle the callback after facebook has authenticated […]

什么是req.isAuthenticated()passportJS

在PassportJS Documention中,我认为护照authenticationfunction没有很好的logging。 我想问,什么passport.isAuthenticated()ID做?

使用react-router并通过Passport.js进行身份validation – 可能吗?

所以我正在开发一个包含React,Express.js + Passport和Webpack的项目。 我理解通过react-router将所有内容推送到“主”React组件的概念,然后让它散列出给定路线显示的内容。 我想这在这里会很好。 首先,我是React新手。 我的顾虑是: 1)我可以/我怎样才能使用护照来validation我的路线? 如果我正确理解react-router,我将在我的express app.js文件中有一条path,指向名为<Application/>的React组件。 但是,护照需要router.get('/myroute', isAuthenticated, callback)来检查会话。 反应路由器是否仍然可以这样做? 2)此外,如果可能的话,我如何将Express中的path的值传递给我的视图,在React中? 我知道在一个典型的观点,我可以使用<%= user %>或{{user}}如果我从我的路线传递。 这可能吗?

Passport + Node.js /添加用户后自动login

我正在使用护照进行身份validation和会话处理。 一切工作到目前为止。 我实施了“login”表单来向应用添加新用户。 添加用户后,我想自动login他/她。 什么是最好的方式来实现这个 – 我应该redirect到“/login”与用户凭据或有另一种/更好的方式(调用serializeUser)来做到这一点? 到目前为止,我认为我并没有真正理解“完成”函数(在serializeUser和LocalStrategy中)的工作方式或它在做什么的方式。 这是我的代码: passport.serializeUser(function(user, done) { done(null, user._id); }); passport.deserializeUser(function(id, done) { authProvider.findUserById('users', id, function (err, user) { done(err, user); }); }); passport.use(new LocalStrategy( function(email, password, done) { authProvider.getUserByEmail('users', email, function(error, user){ if(error) { return done(error); } if (!user) { return done(null, false, { message: 'Unknown user ' + […]

NodeJS护照

我在nodejs上设置了护照,并让它与mongoose一起工作,允许用户login并创build新帐户。 app.js: var express = require('express') , app = module.exports = express.createServer() , passport = require('passport') , LocalStrategy = require('passport-local').Strategy , routes = require('./routes/index')(app) //index loads in multiple routes , MongoDBConnection = require('./database/DatabaseConnector').MongoDBConnection; // Configuration app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.session({ secret: 'justdoit' })); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); app.use(express.static(__dirname + […]

Nodejs护照显示用户名

在nodeJS中,我使用护照模块进行身份validation。 我想显示当前login用户的用户名。 我试了下面的代码: passport.displayName 和 Localstrategy.username 有关更多信息,请参阅: http : //passportjs.org/docs/profile 但是这是行不通的。 有什么build议么? 谢谢

在PassportJS中使用多个本地策略

我正在尝试与PassportJS一起使用多个LOCAL策略。 我没有尝试使用本地,Facebook和Gmail等我有两组用户存储在单独的对象,我想使用本地策略来validation两者。 就目前而言,我不能使用相同的本地策略,因为它们具有不同的对象属性,这使我查询了不同的对象。 有没有办法做到这一点? 或任何build议,将不胜感激。