Articles of passport.js

使用node.js和mongoose以及expressjs和passportjs进行身份validation

在哪里可以得到一个身份validation示例使用节点js和mongodb和passportjs使用在文本字段中input的用户名和密码。我无法弄清楚在passportjs网站给出的东西。我可以得到这种types的简单的运行示例并从哪里?

最好的方式来设置locomotivejs护照twitter?

我正在尝试在我的机车项目中configurationpassport-twitter。 问题是,点击/ auth / twitterurl后没有任何反应。 编辑:我打控制器,但叽叽喳喳似乎不被调用。 我所做的是在routes.js上设置一个匹配/ auth / twitter,并将其映射到一个auth_controller.js 类似下面的代码: routes.js this.match('auth/twitter/', 'auth#twitter'); this.match('auth/twitter/callback/', 'auth#callback'); auth_controller.js var locomotive = require('locomotive') , Controller = locomotive.Controller , passport = require('passport'); var AuthController = new Controller(); AuthController.twitter = function() { console.log('[##] AuthController.twitter [##]'); passport.authenticate('twitter'), function(req, res) {}; } AuthController.callback = function() { console.log('[##] AuthController.callback [##]'); passport.authenticate('twitter', { […]

如何从vkontakte获得长期访问令牌?

我正在使用护照js在我的node.js应用程序中对用户进行身份validation。 在vkontakte的情况下,我得到的访问令牌只有一天有效? 这是我的代码 passport.use(new VKontakteStrategy({clientID: '******',clientSecret: '********',callbackURL: "http://example.com/signin/vkontakte/callback",profileFields: ['notify','friends','photos','notes','pages','offers','questions','wall','messages','offline']}, function (accessToken, refreshToken, profile, done) { process.nextTick(function () { console.log('vk profile: '+util.inspect(profile)); console.log('refresh Token: '+refreshToken); profile.accessToken = accessToken.toString(); return done(null, profile); }); } )); 有没有办法延长有效期? 帮助赞赏。 提前致谢。

无法在Node.js中将Gmail联系人与passport-google-oauth同步

我是一个新的passport.js。 我正在使用它来validation和获取Gmail contacts ,以获取我需要通过scope值这个https://www.google.com/m8/feeds的联系人。但我没有得到联系人列表,除了configuration文件的详细信息。 这是我的代码的东西: //register with google app.get('/auth/google', passport.authenticate('google', { scope : ['profile', 'email','https://www.google.com/m8/feeds'] })); // the callback after google has authenticated the user app.get('/auth/google/callback', passport.authenticate('google', { successRedirect : '/user/dashboard', failureRedirect : '/register.html' })); 和我的passport.js代码: passport.use(new GoogleStrategy1({ consumerKey: config.auth.googleAuth.clientID, consumerSecret: config.auth.googleAuth.clientSecret, callbackURL: config.auth.googleAuth.callbackURL }, function(token, tokenSecret, profile, done) { console.log(profile); return done(err, user); } […]

passportjs本地策略没有被调用

我正在使用快递和护照来build立一个restAPI后端,似乎我的localStrategy没有被请求调用。 我的应用程序的入口点如下所示: app.js var fs = require('fs'); var express = require('express'); var mongoose = require('mongoose'); var passport = require('passport'); var config = require('./config/config'); var morgan = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var app = express(); app.use(morgan('dev')); // log every request to the console app.use(cookieParser()); // read cookies (needed for auth) app.use(bodyParser.urlencoded({extended:true})); […]

Passport.js:UID是唯一的吗?

我有一个Nodejs应用程序,我使用Passeport让我的用户通过Oauth连接Facebook或Google。 我连接后存储基本数据,如:uid,名字等 我怎么能保证,我收到的用户名将永远是唯一的给定的用户? 我的意思是,数据来自Facebook或Google,所以为什么我不能面对不同用户的讨厌的重复uid?

如何针对不同的路线使用相同的护照策略?

假设我有这样的代码: var api1 = require('api1'); var api2 = require('api2'); var app = express(); app.use('/api1', api1); app.use('/api2', api2); 这里是api1模块的代码: var router = express.Router(); var options = { jwtFromRequest:ExtractJwt.fromAuthHeader(), secretOrKey:config.JWTSecret, algorithms:['HS256'] } passport.use(new JwtStrategy(options, function(jwt_payload, verify) { //here I look for the user in database No.1 })); router.post('/files', passport.authenticate('jwt', { session: false}), function(req, res) { //… } […]

nodejs / passport – 错误:OAuthStrategy需要会话支持

我正在尝试使用护照模块在我的web应用程序上build立一个twitter连接 我已经实施如下: App.js文件: /** * Module dependencies. */ var express = require('express'); var user = require('./server/routes/user'); var http = require('http'); var path = require('path'); var app = express(); var passport = require('passport'); var flash = require('connect-flash'); require('./server/config/passport')(passport); // pass passport for configuration // all environments app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); […]

在不覆盖用户请求对象的情况下使用passport.js和多个策略

我正在使用passport.js本地策略进行身份validation。 我还需要用户使用Facebook,Twitter和G +进行身份validation,但不能作为身份validation的替代品,而是要使用户能够从这些服务中检索其内容。 如书面所述,每个authentication策略都将一个用户对象写入请求对象。 这具有注销我的root用户的效果。 有没有办法利用这些额外的authentication策略的护照,但不覆盖用户对象? 这是典型的例子: var passport = require('passport') , TwitterStrategy = require('passport-twitter').Strategy; passport.use(new TwitterStrategy({ consumerKey: TWITTER_CONSUMER_KEY, consumerSecret: TWITTER_CONSUMER_SECRET, callbackURL: "http://www.example.com/auth/twitter/callback" }, function(token, tokenSecret, profile, done) { User.findOrCreate(…, function(err, user) { if (err) { return done(err); } done(null, user); //trashes my existing user object }); } ));

在node.js中login策略

我正在一个有社交login(Facebook和G +)的项目中工作。 当用户使用社交networking创build自己的帐户时,我会存储联系人电子邮件,而不是密码。 如果用户想要使用本地帐户,他必须恢复密码。 这是一个很好的策略吗?我必须创build一个随机的密码,并通过电子邮件给用户? 谢谢!