Articles of passport.js

无法使用sails-generate-auth进行注册

我是一个新手api开发者。 为此我正在使用sailsjs。 对于身份validation,我正在使用sails-generate-auth。 我已经在github上跟踪了doc。 这里我所做的是: // ProfileController: home: function (req, res) { Passport .findOne({ protocol: 'local', user: req.user.id }) .exec(function(err, passport) { return res.json({ todo: 'home() is not implemented yet! But you are logged in :)', token: passport.accessToken }); }); } //config/policy.js // '': true, '': ['passport', 'sessionAuth'], 'Profile': { 'showAll': ['passport', 'bearerAuth','sessionAuth'], }, 'auth': […]

成功,但依然使用failureRedirect – 护照

app.post('/signup', passport.authenticate('local-signup', { successRedirect: '/', failureRedirect: '/signup', failureFlash: true })); 这是路线。 passport.use('local-signup', new LocalStrategy({ usernameField: 'email', passwordField: 'password', passReqToCallback: true }, function(req, email, password, done) { process.nextTick(function() { User.findOne({ 'local.email': email }, function(err, user) { if(err) return done(err); if(user) { return done(null, false, req.flash('signupMessage', 'That email is already taken')); } else { var newUser = […]

ejs模板没有正确渲染

我正在尝试复制使用护照创build用户身份validation的教程。 每当我尝试在signup.ejs中包含下面的代码片段: <% if (message.length > 0) { %> <div class="alert alert-danger"><%= message %></div> <% } %> 它抛出错误,只要我从signup.ejs中删除它,它呈现。 下面是我的app.js (包括所有的configuration), index.js (路由部分), signup.ejs 和passport.js (提到这个文件的链接) 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 routes = require('./routes/index'); var […]

快速请求后处理

我在express的文档里找不到任何东西,但是有请求后处理的东西吗? 我正在使用使用通行证的自定义令牌身份validationscheme,我希望能够在发出请求后自动更新响应头中的令牌,主要是用于身份validation目的的哈希时间戳。 为了便于讨论,让我们在每个请求之后执行以下函数: function requestPostProcess(req, res){ if (res.status == 200) { res.token = updateToken(); } } 理想情况下,我希望能够做到这一点,而不必在每个路线中调用next()。 这甚至可能吗?

如何在没有客户端的情况下使用passport for facebook在node.js中构buildREST服务?

我正在学习使用node.js和护照构build其他服务(没有任何客户端)。 到目前为止,我已经能够了解如何build立一个脸谱网,但所有这些例子都知道客户端,所以它正在成功或失败的情况下提供页面。 由于我不知道客户是谁,我有以下问题; 由于原来的调用可能已经返回给客户端而不用等待callback,我们如何去创build这种authentication方式,然后同一个客户端回来看看authentication的状态,我们把这个令牌放在会话中在服务器端身份validation完成? 有没有写任何地方解释如何build立其他服务与护照或任何其他forms的社交媒体authentication?

如何让Google与Google通讯录API联系图片?

使用Node.js处理Google contacts API 我正在获取除Google Feed API以外的所有联系人 https://www.google.com/m8/feeds/photos/media/faizy04%40gmail.com/ya29.ZAFTNcQ6sEue40gFqH5h8h91k8LO8Bwvf50NUgQKKmsD5fipWg9XvN5GeHmyref_TK1xJZVrB9Ubuw 为了获得联系,我已经通过passport.js传递了下面的范围 passport.authenticate('google', { scope : ['profile', 'email','https://www.google.com/m8/feeds'] }) 一切工作正常。 现在我想要获取相关联系人的所有图片。 我是否需要传递其他参数在范围variables或需要发送另一个GET请求呢?

Node.js + Express.js + Passport.js – 我需要一些build议如何构build它们

我发现这个教程关于scotch.io上的 Node.js + Express.js + Passport.js 教程 我需要一些build议。 1)本地注册检查input数据 在这个例子中,没有检查input数据的login或注册,例如检查电子邮件是空的或无效的,或添加一个validation码控制,所以,如果我需要添加他们在哪里是更好的位置? 里面passport.js? 里面routes.js? 在其他文件? 2)注册POST和GET 在这个例子中,我有两个路由,一个GET呈现表单,一个POST来处理表单提交。 我想,我错误的情况下,呈现错误信息的forms,但也与所有input文字填写input的数据。 如果我检查POST路由里面的input数据,当我redirect到GET路由,我需要通过它所有的错误消息,也提交的值。 我用req.flash做到这一点? 在同一个函数中更好地处理GET和POST? 还有另一种(更好的)方法来做到这一点? 谢谢大家的build议和帮助

自动redirectlogin用户nodejs passport.js

目前使用node.js,express&passport.js来创build一个自定义的网站/应用程序。 遵循了几个指南,我有一个有效的身份validationlogin/注销系统。 但是,如果用户重新访问并且他们的会话仍处于活动状态,则不会将其redirect到“仪表板”。 当前根路由: /* GET login page. */ router.get('/',function(req, res) { // Display the Login page with any flash message, if any res.render('index', { message: req.flash('message') }); }); 我正在使用isAuthenticated函数,如下所示: var isAuthenticated = function (req, res, next) { if (req.isAuthenticated()) return next(); res.redirect('/'); } 我如何获得它自动redirect用户与现有的会议? 任何指针最受欢迎!

如何获得NodeJS + Express中的req.user.email 4

我正在使用NodeJS Express 4与PassportJS进行身份validation。 早些时候,当我使用Express 3时,我可以通过以下方式访问经过身份validation的用户电子邮件(PassportJS用于注册): req.user.local.email 使用Express 3,我使用了以下结构: app.configure(function() { // set up our express application app.use(express.logger('dev')); // log every request to the console app.use(express.cookieParser()); // read cookies (needed for auth) app.use(express.bodyParser()); // get information from html forms … }); 这在Express 4中已经被弃用了,我不确定如何访问经过身份validation的用户注册邮件。 我尝试了req.body.email,但它是'未定义的'。 我已经安装了body-parser 。 var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ […]

在passport login中的req.logIn()之后获得空数组

我正面临一个奇怪的行为,我试图做两种types的login,一个用密码和其他作为访客。 护照req.logIn()在用户用密码login的情况下正常工作。 但是当我通过guestlogin时,它会在会话中设置空数组。 让我告诉你什么细节我给护照存储的数据。 在注册用户的情况下 var User = []; User['email'] = "email@domain.com"; User['id_customer'] = "1"; User['id_user'] = "1"; User['other_info'] = "xyz"; User['other_info'] = "xyz"; User['other_info'] = "xyz"; User['other_info'] = "xyz"; 现在是来宾用户的情况 var User = []; User['email'] = "email@domain.com"; User['id_guest'] = "1"; User['other_info'] = "xyz"; 护照login即req.logIn()是 req.logIn(user, function(err) { if (err) { if(err instanceof Error) { […]