草庐IT

Passport

全部标签

node.js - 具有多个身份验证提供程序的 passport.js?

使用Passport.js是否可以为同一路由指定多个身份验证提供程序?例如(来自Passport指南)我可以在下面的示例路线上使用本地和facebook和twitter策略吗?app.post('/login',passport.authenticate('local'),/*howcanIaddotherstrategieshere?*/function(req,res){//Ifthisfunctiongetscalled,authenticationwassuccessful.//`req.user`containstheauthenticateduser.res.redirec

node.js - Passport 本地策略没有被调用

我确定我在这里遗漏了一些非常明显的东西,但我无法弄清楚这一点。当登录表单被提交时,我传递给LocalStrategy构造函数的函数不会被调用。代码:varexpress=require('express');varhttp=require('http');varpath=require('path');varswig=require('swig');varpassport=require('passport');varLocalStrategy=require('passport-local').Strategy;passport.serializeUser(function(user

node.js - User.findOrCreate 函数是做什么的,什么时候在 Passport 中调用它?

我找不到有关此功能的文档,因此无法使其正常工作。什么时候调用该函数,它在做什么以及将什么作为第一个参数?我正在尝试从Passport中获取访问token,但无论如何都无法访问它。passport.use(newFacebookStrategy({clientID:APP_ID,clientSecret:APP_SECRET,callbackURL:"http://localhost:3000/",},function(accessToken,refreshToken,profile,done){User.findOrCreate({//whataretheseparameters?},

javascript - Passport-Facebook 身份验证未为所有 Facebook 帐户提供电子邮件

我正在使用Passport-Facebook身份验证。passport.use(newFacebookStrategy({clientID:'CLIENT_ID',clientSecret:'CLIENT_SECRET',callbackURL:"http://www.example.com/auth/facebook/callback"},function(accessToken,refreshToken,profile,done){process.nextTick(function(){console.log(profile)});}));对于某些Facebook帐户,我没有得到e

node.js - Passport JS 中的 req.isAuthenticated() 是如何实现的?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion在passportJS文档中,我认为PassportisAuthenticated功能没有很好地记录。PassportJS中的req.isAuthenticated()是如何实现的? 最佳答案 对于任何请求,您都可以使用此方法检查用户是否已通过身份验证。app.get('/some_path',checkAuthentication,function

node.js - 如何使用 Passport 验证 Supertest 请求?

我正在使用Passport.js进行身份验证(本地策略)并使用Mocha和Supertest进行测试。如何使用Supertest创建session并发出经过身份验证的请求? 最佳答案 正如zeMirco指出的,底层的superagent模块支持session,自动为您维护cookie。但是,可以通过未记录的功能使用supertest中的superagent.agent()功能。只需使用require('supertest').agent('url')代替require('supertest')('url'):varrequest=r

node.js - Node + Express + Passport : req. 用户未定义

我的问题类似于one,但没有深入了解他的解决方案。我正在使用Passport通过Instagram进行身份验证。验证成功后,用户被定向到“/”。此时,请求具有用户对象(又名它正在工作)。但是,一旦我重定向,req.user是未定义的。:'(奇怪的是,每个请求都会调用passport.deserializeUser。它成功地获取了用户对象,但是在中间件路径的某个地方,req.user没有被设置(或被取消设置)。//onsuccessfulauth,goto"/"app.get('/',function(req,res){//iftherequesthastheuserobject,got

node.js - 使用passport.js在node.js中进行身份验证后重定向到上一页

我正在尝试使用node.js、express和passport.js建立登录机制。登录本身工作得很好,session也可以通过redis很好地存储,但是在提示进行身份验证之前将用户重定向到他开始的位置时我确实遇到了一些麻烦。例如用户点击链接http://localhost:3000/hidden然后被重定向到http://localhost:3000/login但我希望他再次被重定向回http://localhost:3000/hidden.这样做的目的是,如果用户随机访问一个他需要先登录的页面,他将被重定向到/login站点,提供他的凭据,然后被重定向回他之前尝试访问的站点。这是我的

node.js - passport.js passport.initialize() 中间件未使用

我正在将node与express+mongoose一起使用,并尝试将passport.js与restfulapi一起使用。身份验证成功后,我不断收到此异常(我在浏览器上看到回调url):/Users/naorye/dev/naorye/myproj/node_modules/mongoose/lib/utils.js:419throwerr;^Error:passport.initialize()middlewarenotinuseatIncomingMessage.req.login.req.logIn(/Users/naorye/dev/naorye/myproj/node_mod

node.js - 如何知道用户是否使用passport.js 登录?

我已经阅读passport.js信息和示例两天了,但我不确定在那之后我完成了所有身份验证过程。我如何知道我是否已登录,例如,我会有一个带有登录或注销按钮的导航栏,是否有类似下面代码的变量?if(login)logoutelselogin 最佳答案 如果用户已登录,passport.js将为express.jsreq中创建user对象,您可以在任何中间件中检查它是否存在:if(req.user){//loggedin}else{//notloggedin}您可以为此创建简单的express.js中间件,它将检查用户是否登录,如果没有-