Tag: passport.js

passport-facebook:如何dynamic设置callbackURL?

我按照这个例子来设置一个FacebookStrategy – https://github.com/jaredhanson/passport-facebook/blob/master/examples/login/app.js 我想dynamic地设置callbackURL,即:用户访问/ posts / 34,所以callback将是/ posts / 34 / callback 我怎么能做到这样的事情?

用护照创build用户

我正在使用Node.js并打算使用Passport进行身份validation。 但是,我在网上看到的所有例子都假设用户已经创build好了。 我想知道如何创build一个用户的会话后,他们被保存在数据库(我有这部分工作),以便护照将识别他们。 (我不想保存新用户,然后强制他们去login页面。)

什么是Passport策略中的“完成”callback函数configuration“使用”function

我是一个node.js和express.js noob。 这个问题可能看起来很愚蠢,但我真的很困惑。 我正在尝试使用护照configuration本地策略身份validation。 如正式文件所示,我们可以通过以下代码来确定本地策略, passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function (err, user) { if (err) { return done(err); } if (!user) { return done(null, false); } if (!user.verifyPassword(password)) { return done(null, false); } return done(null, user); }); } )); 我的困惑是关于donecallback函数。 当官方文档使用路由处理器中的中间件来显示这个本地策略时,不需要为这个donecallback传递函数参数。 app.post('/login', passport.authenticate('local'), function(req, res) { res.redirect('/'); }); 那么,如果我们不提供函数参数,是不是donecallback函数? […]

Passport-Local Mongoose – 更改密码?

我使用Passport-Local Mongoose来encryption帐户的密码。 但我不知道如何更改密码。 任何人都知道该怎么办? TKS

如何用护照快递保护静态文件夹

我有一个快速的基于护照的需要authentication的项目。 后台是一个angularjs应用程序作为静态文件。 我的身份validation代码完全基于https://github.com/jaredhanson/passport-local/blob/master/examples/express3-no-connect-flash/app.js 如果您未通过身份validation,请不要使用angular度应用程序。 我已经尝试通过在/ admin路由添加ensureAuthenticated,但它使路由不工作(404)。 一旦我删除ensureAuthenticated /pipe理服务。 app.use(express.static(path.join(__dirname, 'public'))); app.use('/admin', ensureAuthenticated, express.static(path.join(__dirname, 'admin'))); //serve routes app.use(app.router); 公用文件夹包含login页面。 我怎么能做到这一点?

即使在范围内,Passport-Facebook也不提供电子邮件

在我的应用程序中,我注册了facebook-strategie如下:但是返回的configuration文件不包含电子邮件字段…. passport.use(new FacebookStrategy({ clientID: config.facebook.clientID, clientSecret: config.facebook.clientSecret, callbackURL: config.facebook.callbackURL, passReqToCallback: true }, function(req, accessToken, refreshToken, profile, done) { // No email in the following colsole.log console.log(JSON.stringify(profile)); })); 得到如下: app.get('/oauth/facebook', passport.authenticate('facebook', { failureRedirect: '/login', scope:['email'] })); (所以我使用范围如这里所说: Passport-Facebook不会收到电子邮件 ) 在FBlogin页面我甚至要求电子邮件,我确实提供: 任何帮助非常appriciated!

套接字的身份validation方法

我试图通过sailsjs和passport获得身份validation工作。 这个挑战似乎是套接字连接没有会话,sailsjs嘲笑请求对象,导致它没有设置Passport中间件。 这导致nodejs抛出一个错误,说req对象没有一个叫做logIn的方法。 所以,我试着按照@xdissent在这里提供的代码片断: 通过websockets进行Sails.js + Passport.jsauthentication,这确实可以让我login而不会抛出错误。 或者呢? 事实certificate,它做了什么 ,但我不知道是什么。 因为通过不同的(套接字)请求获取req.user ,我得到一个空的对象返回。 我也看了redis。 这出来了: redis 127.0.0.1:6379> keys * 1) "waterline:broadcasting:_sequences:id" 2) "sess:aDJI0YHzh17E3AMjtKsZSijs" redis 127.0.0.1:6379> get "sess:aDJI0YHzh17E3AMjtKsZSijs" "{\"cookie\":{\"httpOnly\":true,\"path\":\"/\"}}" redis 127.0.0.1:6379> 所以有一个会话,只是没有用户存储在它。 所以长话短说,我如何获得护照和sailsjs发挥好套接字。 更新 :我想了解一些关于会话,套接字和一般的风帆的信息。 所以,如果我在一个会话中设置东西,并刷新浏览器,我希望它仍然在那里。 如果我在与套接字连接相同的页面上进行xhr调用,不应该是相同的会话吗?

在会话中更新login的用户详细信息

ExpressJS使用PassportJS。 我需要更新login的用户的详细信息。 虽然我在数据库中进行更新,但是如何在会话中更新它,以便request.user包含更新的用户详细信息? 也就是说,在更新数据库之后,如何更新用户的会话信息呢? 我试着直接分配更新的细节request.user但它没有工作。 然后我尝试request.session.passport.user – 这工作,但有一个约5至10秒的延迟之前,它在request.user更新。 是否有我需要调用的函数更新会话中存储的用户信息? 还是有一些其他的对象,我可以更新的地方没有延迟的变化

错误:未能在会话中find请求令牌

我在主要的护照回购中发现了一些问题,但是,我认为这主要与这个特定的策略有关,因为我能够使用护照 – 谷歌 – 奥法策略成功validation身份。 Error: failed to find request token in session at Strategy.OAuthStrategy.authenticate (/home/glug/application/node_modules/passport-dropbox/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:124:54) at attempt (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:243:16) at Passport.authenticate (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:244:7) at callbacks (/home/glug/application/node_modules/express/lib/router/index.js:161:37) at param (/home/glug/application/node_modules/express/lib/router/index.js:135:11) at pass (/home/glug/application/node_modules/express/lib/router/index.js:142:5) at Router._dispatch (/home/glug/application/node_modules/express/lib/router/index.js:170:5) at Object.router (/home/glug/application/node_modules/express/lib/router/index.js:33:10) at Context.next (/home/glug/application/node_modules/express/node_modules/connect/lib/proto.js:190:15) at Context.actions.pass (/home/glug/application/node_modules/passport/lib/passport/context/http/actions.js:77:8) 我使用redis作为会话存储,但是,即使在消除之后,它仍然失败,出现相同的错误消息。 var DropboxStrategy = require('passport-dropbox').Strategy; app.configure(function(){ app.set('port', config.express.port); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); […]

Passport.js:passport-facebook-token策略,通过JS SDKlogin,然后validation护照?

我正在寻找一种方法让我的客户端与Facebook的JS SDK授权,然后以某种方式将此授权转移到我的节点服务器(所以它可以validation与fbgraphicsAPI的请求) 我偶然发现: https : //github.com/jaredhanson/passport-facebook/issues/26 & https://github.com/drudge/passport-facebook-token 护照-Facebook似乎是一个完全不同的策略。 当我假设: 一个使用fb JS SDKlogin,然后facebook-token策略以某种方式从文档或正文对象中提取令牌和fb id? 或者有没有其他体面的方式来实现这一目标? 我试图避免由服务器SDK强制实施的redirect