Tag: passport.js

Passport.socketio发现会话有问题

我试图从套接字访问会话,但似乎无法build立连接。 没有失败,授权失败,我得到失败callback与以下消息: failed connection to socket.io: No session found 我将把所有的代码放在这里,这样可以更容易地发现我做错了什么。 var express = require('express'); var app = express(); var http = require('http'); var socketio = require('socket.io') var passportSocketIo = require('passport.socketio'); var port = process.env.PORT || 3000; var mongoose = require('mongoose'); var passport = require('passport'); var flash = require('connect-flash'); var morgan = require('morgan'); var cookieParser = […]

通过令牌validation,然后通过会话,如果令牌失败,使用护照?

我正致力于将现有的Web应用程序与NodeJS + Express后端适配到PhoneGap / Steroids应用程序。 当前Web应用程序的身份validation由Passport( http://passportjs.org/ )使用会话进行处理。 app.use( passport.initialize() ); app.use( passport.session() ); 在浏览器中很好用。 不幸的是,会话cookie在PhoneGap中不起作用。 所以发送到服务器的请求只会被拒绝。 PhoneGap的推荐解决scheme是使用令牌策略,而每个向服务器的请求中都包含一个唯一令牌,就像一个API端点一样。 所以,这是我想知道的: 是否有可能适应passport.session(),所以如果没有会话cookie被发现,它会改为检查一个req.token和授权反对呢? 我注意到已经有一些基于令牌的Passport策略可用。 (例如https://www.npmjs.org/package/passport-http-bearer )然而,所有这些策略似乎都假设会话将不会被使用,并被closures。 我真正需要的是使用两者,所以如果一个身份validation失败(例如会话),它可以通过并检查另一个身份validation(令牌)。 有没有人按照这个方法实现了一些东西? 任何build议/指针,将不胜感激。

快递/注册500与护照的未知错误

我有一个nodeJS应用程序使用快递和护照。 我试图处理login后的护照发送请求。 我的服务器控制台中得到一个未知的错误:POST /注册500 第一个问题,我该如何debugging呢? 有什么方法可以让我得到更多关于为什么500'的信息? 第二个问题,任何想法,为什么它不快速浏览我下面的内容。 我知道它不是所有的代码,但也许有一些明显的..? app.js: .. var passport = require('passport'); require('./config/passport')(passport); .. var routes = require('./routes/index')(app, passport); .. Passport.js定义了我对用户和数据库的处理。 它定义了一个称为local-signup的localStragery。 /routes/index.js: module.exports = function(app, passport) { .. var express = require('express'); var router = express.Router(); .. router.post('/signup', passport.authenticate('local-signup', { successRedirect : '/profile', failureRedirect : '/signup' }) ); .. return router } […]

没有使用不同的端口号,Socket.io不支持Express 4

我的应用程序工作时,我指定一个端口号到socket.io是不同的服务器端口号。 工作代码如下: 这是我的app.js文件: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var configDB = require('./config/database.js'); var session = require('express-session'); var passport = require('passport'); var routes = require('./routes/index'); var auth = require('./routes/auth.js'); var app = express(); […]

Node Express – req.cookies和req.session.cookie之间的区别

我试图找出req.cookies和req.session.cookie之间的区别。 我正在使用Passport在Node.js Express中进行身份validation。 如果我在我的代码中logging这两行: console.log('cookies',req.cookies); console.log('session',req.session); 我得到这个输出: cookies { 'mysite.sid.uid.whatever': 's:Ltko5IdDgsAISG0smrKNYaeIVy8nbBzF.MkGmpnf6uUKITIAgN4ws3YXqxJrMaeeSCzlKdjQnqfI' } session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true, secure: false }, views: 8, passport: {} } 我正在使用这个configuration: app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(busboyBodyParser()); //app.use(busboy()); app.use(cookieParser('cookie parser secret')); app.use(session({ secret: process.env["SESSION_SECRET"], saveUninitialized: true, // (default: true) resave: true, // (default: true) store: require('mongoose-session')(mongoose), […]

Passport-Facebook令牌不断返回401

目前,我正在为我的iOS应用程序使用带有Express和Passport-facebook-token模块的NodeJS。 我遇到了麻烦,因为即使我们正在通过OAuth逻辑,服务总是返回401响应。 这个代码的任何想法,为什么它保持返回401,即使它成功validation,并来到我们的handleAuthentiation方法,但没有达到我有console.log("THIS IS NOT BEING CALLED")被调用console.log("THIS IS NOT BEING CALLED")调用? var http = require("http"); var express = require("express"); var bodyParser = require('body-parser'); var database = require('./database.js'); var passport = require('passport'), FacebookTokenStrategy = require('passport-facebook-token').Strategy; var User = require('./User.js'); var app = express(); //setup json parsing app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true})); //setup facebook authentication passport.use(new FacebookTokenStrategy({ clientID: "2454efafd33r", […]

Stormpath Express Passport保存customData或甚至默认数据

我正在运行Stormpath Express Passport的示例应用程序https://github.com/stormpath/stormpath-passport-express-sample 我无法围绕如何发布表单并保存customData或者甚至默认的数据,如给定的名字和姓氏。 总的来说,我会appeciate,如果我可以得到一个HTML(翡翠或EJS)的例子,我需要在app.js或index.js写的行。 4个晚上我一直在努力。 我已经尝试了多个Express,Stormpath的教程,但是没有一个是用来处理这个示例应用程序的。 我总是不得不安装多个新模块,但即使这样也没有任何工作。 我非常感谢Stormpath的人或者任何有经验的人能够帮助我解决我的问题,也许还会在网站上更新他们的教程,因为有些人似乎已经过时了。

自定义callbackpassportjs?

我有一个订购表单,用户需要先注册才能订购,所以我可以创build一个账户,然后像这样处理订单。 router.post('/project/new', passport.authenticate('local-signup'), function(req, res) { gateway.customer.find(req.user.id, function(err, customer) { if(customer) { // method for a customer inside the vault } else { // add a non existing customer to vault } }); }); 问题是如果某人已经login并且想要下订单。 我需要检查他们是否login,如果他们然后我可以继续订单,如果他们不是那么我需要authentication,然后login。 所以这样的事情对我来说是有意义的。 //prefer this!! router.post('/project/new', function(req, res) { if(req.user) { // do stuff for existing logged in user } else […]

Auth / Session不能在带护照的Sails中的一个页面上工作

我已经使用护照来pipe理Sails中的身份validation。 这是工作栏一个奇怪的问题。 如果我检查用户以修改导航栏 <ul class="nav navbar-nav navbar-right"> {{#if user}} <li>{{ user.username }}</li> <li><a href="/logout">Logout</a></li> User! {{else}} <li><a href="/login">Login</a></li> {{/if}} </ul> login并进入/这里什么也没有。 当我去/login或/注销,这两个使用相同的模板,并分享上面的代码,我遇到了两个条件。 有任何想法吗?

如何使用SQL ServerconfigurationPassportjs?

我正在写一个基于SQL Server ,ExpressJs,NodeJS,AngularJs的应用程序,我是一个快速初学者,我需要处理会话,所以我一直在思考PassportJs,我无法find文档集成SQL Server与PassportJs,所以我很困惑,我一直在尝试,但我还没有得到它,我用快速生成器我的应用程序,所以这是我的app.js 护照要求: var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var session = require('express-session'); 路线: var routes = require('./routes/index'); var login = require('./routes/login'); 快递会话: app.use(session({secret: 'xXxXxXXxX'})); app.use(passport.initialize()); app.use(passport.session()); app.use('/', routes); app.use('/login', login); 护照INIT: var initPassport = require('./r12_modulos/sesion/passport-init.js'); initPassport(passport); 这是我在passport-init.js : var conex = require('../conexion_bd/conex_mssql.js'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; […]