Tag: passport.js

将express / mongodb / websockets项目迁移到什么?

在Weld,我们自己到目前为止一直在处理我们的用户项目。 该设置是一个实时应用程序,用户通过websockets和Node.js express服务器创build自己的内容,并保存在mongodb中。 身份validation是通过passport.js本地策略处理的。 我们希望摆脱这种责任,最好让托pipe的第三方服务处理客户端和服务器之间的所有数据存储和同步。 我们想要的是: 导入/导出我们当前的mongodb数据库,没有太多的工作。 使用目前的基于passport.js的解决scheme进行身份validation。 自动客户端/服务器同步(当客户端上的项目被修改时,它应该实时传播到数据库) 我一直在寻找meteor.js和firebase,而这真的很难知道哪条路线导致最less的痛苦。 特别是auth部分似乎很难解决。 我应该select哪种解决scheme?它的分步过程是什么?

限制PassportJS上每个用户的并发会话数

作为标题,我需要为每个用户设置一个Web应用程序并发会话的上限,以防止帐户共享。 我在passportjs(在节点平台上)使用本地策略进行身份validation。 这样做的最佳做法是什么? 计算login请求的数量(创build会话的位置)是否足够了?

护照注册 – 本地返回“缺less凭证”

试图使用快递设置节点和护照,我偶然发现了一个问题,我有一些debugging问题。 有一个非常基本的registry单,它一直工作到按下注册button。 但是,注册不起作用。 没有错误消息,但是代码确实注意到注册失败(没有错误,但没有用户)。 经过一段时间后,我设法得到了这个passport.authenticate(注册本地发送一条消息说,“失踪证书”信息,但我永远不知道什么凭证或为什么。 我在post上使用的返回码是: app.post('/signup', function(req, res, next) { passport.authenticate('local-signup', function(err, user, info) { if (err) { return next(err); // will generate a 500 error } // Generate a JSON response reflecting authentication status if (! user) { console.log('Got the following back'); console.log('Error: ' + err); console.log('User: ' + user); info = JSON.stringify(info); […]

Passport.js – req.session.passport.user没有显示出来

我使用Express来使用Passport.js – 由于某些原因,req.session.passport.user值不存在,应该如下所示: 这里是我的护照configuration: passport.serializeUser(function (user, done) { console.log(colors.bgRed('serialize user called, user:', user)); done(null, user._id); }); passport.deserializeUser(function (id, done) { console.log(colors.bgRed('deserialize user called, user_id:', id)); UserModel.getNewUser().findById(id, function (err, user) { console.log(colors.bgRed('deserialize find user called, user:', user)); done(err, user); }); }); passport.use('local', new LocalStrategy(function (username, password, done) { UserModel.getNewUser().findOne({ username: username }, function (err, user) { […]

Passport.jslogin事件function没有被调用

我用护照快递使用以下代码: var GAuth = require('passport-google-oauth'); passport.use('google', new GAuth.OAuth2Strategy({ clientID: GID, clientSecret: GSECRET, callbackURL: "http://localhost:3000/auth/google/callback" }, function(accessToken, refreshToken, profile, done){ // not running console.log('callback'); console.log('id: ', profile.id); })); router.get('/google', passport.authenticate('google', { scope: [ 'email', 'profile' ] })); router.get('/google/callback', function(req, res) { // this runs res.send('Logged in through Google!'); }); 即使login似乎在外面工作正常,因为我去到谷歌的权限页面,然后被定向到callback页面。 我不能得到callback函数运行,所以我做错了什么?

当使用angular度$ http请求时,护照req.isAuthenticated始终返回false

我正在使用passportjs进行用户身份validation。 通过使用邮递员 ,我可以成功login和req.isAuthenticated总是返回我在login后的子序列请求为true。 通过使用angular$ http ,但是,login工作正常,但req.isAuthenticated总是在子序列请求中返回false。 我的angular度应用程序(localhost:3000)和节点应用程序(heroku)在不同的域。 我的想法是,它可能涉及CORS或会话cookie,因为我没有看到我的浏览器中的任何cookie。 我做了什么 我试图设置请求头允许CORS。 我也尝试在$ http和node app两个angular度设置Access-Control-Allow-Credentials 。 不幸的是,所有的尝试失败T_T Nodejs设置 app.use(function(req, res, next) { res.header('Access-Control-Allow-Credentials', true); res.header('Access-Control-Allow-Origin', req.headers.origin); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept'); if ('OPTIONS' == req.method) { res.send(200); } else { next(); } }); passport.serializeUser(function(account, done) { done(null, account.id); }); // used to deserialize the user […]

Backbone.js Node.js Express.js中的用户function

我正在使用Backbone.js,Node.js和Express.js制作一个web应用程序,并希望添加用户function(login,注销,configuration文件,显示与该用户相关的内容)。 我打算使用护照进行login和退出。 我很困惑,但前端如何知道哪些用户login了会话的其余部分。 我是否需要在骨干路由器中有一些名为“loggedInUser”的variables指向User模型? 还是服务器需要知道这个信息,我需要在服务器上的某个地方有variables? 换句话说,我应该在哪里存储login用户的信息,以便我可以提出与当前login用户相关的请求和响应,并显示与他们相关的信息? 希望我的措词很明确。 此外,如果任何人都可以提供有用的文章链接,这将是很好的! 谢谢!

通过使用passport.js,sails.js和sails来保护页面生成身份validation

如何保护一个页面,使我无法通过未经过身份validation的用户访问? 我已经阅读了这个问题的答案,但是我一直无法使用passport.js正确保护sails生成auth的页面。 谢谢。

在使用Google社交login和护照进行多次查询时执行查询

嗨,大家好,这是我的第一个问题,所以请耐心等待,我有一个问题,使用护照与sequ​​elize,问题发生后,我search数据库的logging,以检查用户是否已经存在,但当护照反序列化,Sequelize执行五个“select查询”,代码类似于我在scotch.io中find的代码,我只是附加了sequelize api: module.exports = function (passport) { // used to serialize the user for the session passport.serializeUser(function (user, done) { done(null, user.iduser); }); // used to deserialize the user passport.deserializeUser(function (id, done) { userModel.findById(id) .then(function (userVo) { done(null, userVo); }).catch(function(err) { if(err) throw err; }) }); passport.use(new GoogleStrategy({ clientID: 'XXXXX', clientSecret: 'XXXXXX', callbackURL: 'XXXXX' }, […]

在路由改变时重新加载不受ngRoutepipe理的控制器

我的Web应用程序login过程如下, 一个。 用户点击loginbutton,链接将它们带到http:// localhost:3030 / login / facebook 湾 NodeJS后端接收请求,并通过passport-facebook将浏览器导向Facebooklogin页面。 C。 Facebook然后用一些用户数据引导用户回到回叫。 (callback: http:// localhost:3030 / login / facebook / callback ) d。 通过用户数据,存在或将创build一个帐户,并创build一个属于该帐户的令牌(使用JWT) 即 该令牌将通过redirect到http:// localhost:3030 /#/ got_token / the_actual_jwt_string发送给用户 F。 AngularJS应用程序将采用ngRoute的路由,并将该令牌保存在localStorage中。 NodeJS中的令牌问题代码, server.get('/auth/facebook', passport.authenticate('facebook', {session: false})); server.get('/auth/facebook/callback', passport.authenticate('facebook', {session: false}), function(req, res) { var token = jwt.sign(/* issue a token */); // put […]