Tag: passport.js

如何使用passport.js身份validation从Facebook获取个人资料数据?

在下面的代码中'console.log('这不打印!')'语句不执行。 它应该根据FacebookStrategy执行。 passport.use( new FacebookStrategy({clientID: FACEBOOK_APP_ID, clientSecret: FACEBOOK_APP_SECRET, callbackURL: "/home"}, function(identifier, profile, done) { process.nextTick(function () { console.log(' This does not print!'); return done(null, profile); } );})); 基本上,authentication通过护照Facebook的发生,但我无法恢复任何configuration文件数据。 app.get('/home', function(req, res){ console.log(req.user); res.render('home', {user: req.user}); }); 上面的打印“未定义”,这意味着上面的app.get(…)没有收到Facebookconfiguration文件数据。 我究竟做错了什么? 反正有没有authentication后保存(获取)Facebook的个人资料数据?

在单页应用程序中使用passportJS或者everyauth

我使用快递节点作为我的单页面应用程序的服务器(我正在使用AngularJS,但这是不相关的问题)。 我需要使用passportJS或everyauth来添加身份validationfunction。 我不能使用其他包。 我尝试了很多次,使我的单页应用程序的authentication工作,但我没有设法做到这一点,没有页面刷新。 我正在寻找一种连接Facebook的方式,这是我的前端代码: function facebookLogin(callback) { FB.login(function (response) { if (!response.authResponse) { console.log('Facebook login failed', response); callback(false, response); } else { console.log('Facebook login complete', response); callback(true, response); } }); } facebookLogin(function(isConnected, response) { if (isConnected) { // HERE I NEED TO CALL SERVER SIDE AND CONNECT USING PASSPORT OR EVERYAUTH // I WANT […]

只是不能让Passport.js工作

编辑:对不起现在这么久了,在编译的JS里join了! 我也加了Kevsbuild议。 我正在开发一个MEAN栈应用程序(MongoDB,ExpressJS,Angular,NodeJS),并且花了很多时间,特别是在咖啡脚本中。 我的问题是,我不能让passport.js工作,每次返回{success:false}。 当我在我的LocalStrategy函数中做一个console.log时,它似乎从来没有被调用过。 任何想法为什么? 一些片段 server.coffee(主文件) … Account = mongoose.model 'account' passport.use 'local-login', new LocalStrategy (_username, password, done) -> Account.findOne {username:_username}, (error, user) -> if error done error if not user done null, false, {message:'Incorrect username.'} done null,user passport.serializeUser (user, done) -> console.log 'serialize user' if user done null, user passport.deserializeUser (id, done) […]

Nodejs Passportvalidationcallback没有被错误地调用

我看过类似的问题,但我找不到正确的答案。 我试图用nodejs + express +护照(本地策略)实现一个非常简单的login表单。 事情是,我的身份validationcallback似乎总是失败。 我已经删除了testing数据库的每个连接(每个教程都有一个示例MongoDB)。 这是我的login表单 <html> <body> <form action="/login" method="post"> <div> <label>Username:</label> <input type="text" name="username" /> <br/> </div> <div> <label>Password:</label> <input type="password" name="password" /> </div> <div> <input type="submit" value="Submit" /> </div> </form> </body> </html> 这是我的server.js(我运行npm启动) var express = require('express'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var app = express(); var […]

unit testing中的护照JWT授权 – 套接字挂断

我有一个情绪化的时间试图testing受保护的路线,使用护照的智威汤逊策略,授权标题。 我试过axios,supertest,superagent和我得到同样的错误 – '套接字挂断': Error: socket hang up at createHangUpError (_http_client.js:253:15) at Socket.socketOnEnd (_http_client.js:345:23) at emitNone (events.js:91:20) at Socket.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickDomainCallback (internal/process/next_tick.js:122:9) code: 'ECONNRESET', response: undefined } 这在开发环境中完美地工作,这只发生在testing环境 – unit testing或开发指向testing数据库/用户。 我知道这个错误意味着连接被服务器崩溃或语法错误所closures,但是没有语法错误。 terminal不能通过护照authentication: passport.authenticate('jwt'… 为什么? 这怎么解决? 终点: router.route('/private') .get( passport.authenticate('jwt', { session: false }), (req, res, next) => […]

expression3.0和护照authentication

我使用express@3.0.0beta4和passport@0.1.12并使用本地策略进行身份validation。 一切似乎都正常工作,并正确地redirect成功和失败 app.post('/login', passport.authenticate('local', { failureRedirect: '/' }), function(req, res) { console.log(req.isAuthenticated()); // true res.redirect('/users/' + req.user.id ); }); 但是,如果我在configuration文件路由添加ensureAuthenticated app.get('/users/:id', ensureAuthenticated, routes.user); function ensureAuthenticated(req, res, next) { console.log(req.isAuthenticated()); // false if (req.isAuthenticated()) { return next(); } res.redirect('/'); } 它将login后redirect到“/”(login页面)而不是“/ users / id”(用户configuration文件)。 问题是req.isAuthenticated()总是返回false,在debugging中没有req.uservariables。 快递3和护照互动有问题,还是我做错了?

用户使用Passportjs从Angularjs(http get / resource)进行身份validation

我试图用Angular的Passportjs和expression。 我正在尝试在passportjs中testingfacebook策略。 身份validation似乎成功,但不会导航到callbackURL。 这个剧本挂了。 Firebug控制台显示:GET http:// localhost:7000 / auth / facebook 302 Moved Temporarily 它然而,当我手动点击这个url,但不会自动redirect在浏览器窗口中成功打开callbackurl(索引) 我的login视图(玉)看起来如下: a(href='/auth/facebook') p Login 而服务器端路由是: app.get('/auth/facebook', passport.authenticate('facebook')); app.get('/auth/facebook/callback', passport.authenticate('facebook', { failureRedirect: '/login' }), function(req, res) { res.render('index'); }); 请帮助。 这是我第一次使用Angularjs&Node js 编辑 :更确切地说,这个问题只发生在我的请求是从客户端(Angular的login页面)到我的快递服务器。 如果我从快递内部提供login页面,则不存在任何问题。 authentication通过,并按预期重新导向到我的应用程序。 当服务器使用passportjs处理身份validation时,我们能不能从客户端(使用http get / post)向服务器发送身份validation请求?

AngularJS – 访问节点/快速会话信息

我正在使用Express和Passport进行身份validation和授权的节点应用程序,并且所有这些都正常工作。 然而,我很困惑,我将如何在Angular控制器中获得当前用户(由Passport设置为req.user)。 我希望能够做正常的事情,如显示在标题/导航栏(除其他事项)的用户名,我目前正在使用Jade视图引擎,但我不喜欢混合使用Jade视图引擎一些“数据绑定”和Angular为他人。 现在,我知道我可以很容易地调用一个节点的api端点,它将req.user作为JSON返回,但这看起来像一个丑陋的解决scheme,因为每当有页面加载时,不是SPA)。 所以我的问题基本上是这样的:我可以在我的Angular视图中获取当前login的用户,所以我可以做我所有的数据绑定客户端而不是一些服务器端(与Jade视图引擎)和一些客户端与Angular? 注意:没有代码片断,因为一切实际上都按预期工作,我只是希望有一个比我目前有更好的select。

PassportJs。 我怎样才能得到Facebook的redirecturi没有redirect用户后调用passport.authenticate('脸谱')

我有一个NodeJs REST服务,我们把它叫做NodeRest在我的后端和AngularJs在我的前端。 假设NodeRest与移动应用程序以及Web应用程序一起使用,这是AngularJs应用程序。 NodeRest的体系结构在使用PassportJs时应该解决以下问题: 服务器不应该将用户redirect到Facebook来授权何时 app.get('/auth/facebook', passport.authenticate('facebook')); 已被调用。 如果要redirect它,客户端将不会得到任何东西,因为callbackURL链接到NodeRest httpL // noderest / facebook / callback。 相反,它应该提供redirect的URI,所以我可以把它发回客户端(angularJs,移动等…)。 这样的笑话: app.get('/auth/facebook', passport.authenticate('facebook', function(redirectUri){ //emit socket event to the client with redirect uri as a response data. })); 我在授权过程中决定使用socket.io作为通信通道。 客户: var socket = io.connect(baseUrl); socket.on('auth:facebook:callback:getCalled', function (data) { // callback get called on server side. // user has […]

护照-socketio商店属性configuration

我想知道如何configurationpassport.socketio 。 我阅读文档,但仍然可以包装我的头如何设置store属性。 我正在使用passport-local 。 这是我的代码(相关部分): 一些configuration: app.use( express.cookieParser() ); app.use(express.methodOverride()); // use express.session before passport, so that passport session will work app.use(express.session({ secret: 'somerandomcod3' })); // Initialize Passport! Also use passport.session() middleware, to support // persistent login sessions (recommended). app.use(passport.initialize()); app.use(passport.session()); passport.socketioconfiguration io.set("authorization", passportSocketIo.authorize({ cookieParser: express.cookieParser, key: 'express.sid', secret: 'somerandomcod3', store: express.session, // not […]