Articles of passport.js

在process._tickCallback(node.js:419:13)处,NodeJs,500未能获得访问令牌(错误:连接ECONNREFUSED)

我正在使用护照GoogleStrategy来validation用户,但我得到以下错误。 你能帮我么 ? 码 passport.use(new GoogleOAuth2Strategy({ clientID : configAuth.googleAuth.clientID, clientSecret: configAuth.googleAuth.clientSecret, callbackURL: configAuth.googleAuth.callbackURL, scope: ['profile', 'email', 'openid'], passReqToCallback : true }, function(token, refreshToken, profile, done) { // User.findOne won't fire until we have all our data back from Google process.nextTick(function() { console.log(profile.id); User.findOne({ 'google.id' : profile.id }, function(err, user) { if (err) return done(err); if […]

PassportJS获取Facebook用户位置

我试图设定我的策略,以两种方式获得用户的家,而这两者都不起作用。 有没有人有PassportJS代码来获取用户的地址(只是城市和州)? 策略尝试“位置”和“地址”: profileFields: ['id', 'name','picture.type(large)', 'emails', 'displayName', 'location', 'address', 'about', 'gender'], 试图获得使用地址,如在这里看到的portablecontacts.net : user.facebook.location = profile.address.locality + ', ' profile.address.region;

使用Node.js,Passport进行服务器到服务器的身份validation

我有两个服务在不同的子域上运行:1)Node.js,Express,PassportJS,2)基于PHP。 这两个服务都暴露在同一个门户网站中,为了避免要求用户input凭证两次,我们从PHP服务器调用Node.jsloginAPI。 节点返回会话cookie( connect.sid ),我们转发这个客户端的域设置为<<rootdomain>>.com 。 现在,当客户端调用Node.js时,我们可以看到cookie被发送到Node,但仍然无法validation。 我已经validation了以下几点: 从PHP服务器到Node的loginAPI调用返回connect.sid cookie的成功,并将会话条目添加到Redis服务器(我们使用Redis来存储会话) Cookie在浏览器中正确设置 浏览器调用Node.js时connect.sid cookie发送到服务器 如果我们直接从客户端调用loginAPI,一切都按预期工作。 基本上独立的Node应用程序没有任何问题。 我很好奇节点是否使用用户代理,IP或什么来validationconnect.sid cookie? 或者它与Passport / Express会话参数值有关吗? 什么可能是错的? 仅供参考,目前网站没有在SSL上运行。 这是我的会议参数: store = new RedisStore({ port: 6379, host: 'localhost', client : redis }); var sess = { store: store, secret: 'some secret', rolling: true, cookie: { maxAge : 36000000, secure: false }, saveUninitialized: […]

BigCommerce oauth2 passport.js策略

BigCommerce是一个巨大的电子商务平台,他们的API和应用程序开发变得非常大。 他们的新API使用oauth2authentication(授权types=授权码)。 有没有人开发Bigcommerce passport.js策略呢? 据我所见,它就像传统的授权代码策略,但初始授权请求不会被应用程序本身启动,login到其Bigcommerce商店的使用者将启动来自该应用程序内的“bigcommerce App store”的授权请求bigcommerce商店仪表板。 然后,应用程序(使用node.js和passport.js)将处理接收authentication代码的callbackurl,并请求令牌(来自Bigcommerce api)。 我有这个进程使用simple-oauth2 npm模块,但需要弄清楚在MongoDB中存储客户端访问令牌 有没有人做过这个?

从redirect表示护照authentication空白页面

我使用Facebook的身份validation策略使用护照。 我使用angular度为客户端和服务器端表示。 当用户点击loginFacebook,并成功通过身份validation后,我将redirect回主页面。 但是,当我回来时,我总是得到空白页。 刷新后,页面再次罚款。 这是我的实现: facebook.js: 'use strict'; var passport = require('passport'), url = require('url'), FacebookStrategy = require('passport-facebook').Strategy, config = require('../config'), user = require('../../app/user/user.server.controller'); module.exports = function() { // Use the Passport's Facebook strategy passport.use(new FacebookStrategy({ clientID: config.facebook.clientID, clientSecret: config.facebook.clientSecret, callbackURL: config.facebook.callbackURL, profileFields: ['id', 'displayName', 'email'], passReqToCallback: true }, function(req, accessToken, refreshToken, profile, done) […]

如何使用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')); […]