模块导出,nodejs对于护照身份验证需要太长时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块导出,nodejs对于护照身份验证需要太长时间相关的知识,希望对你有一定的参考价值。

我试图通过passport-facebook验证用户,并且有一件非常奇怪的事情发生,我真的不确定。在定义我的路线时,我有这行代码

 app.get('/login/facebook',
        IsAuth.facebookEnter ),

//passport.authenticate('facebook')

    app.get('/login/facebook/return', 
        IsAuth.facebookComeBack)

在我的IsAuth文件中,我有以下内容

const passport = require('passport')


const FacebookStrategy = require('../passport/facebook_passport')


module.exports = {


    facebookEnter(){
       passport.authenticate('facebook')
    },
    facebookComeBack(){
        passport.authenticate('facebook', { failureRedirect: '/login' }),
            function(req, res) {
                res.redirect('/');
            }
    }


}

和战略本身在这里

const passport = require('passport')
const User = require('../models/User')
const FacebookStrategy = require('passport-facebook')



passport.use(new FacebookStrategy({
    clientID: "ALMOST POSTED IT",
    clientSecret: "Ntest test",
    //call baack to one of our routes to valiate the auth request
    //is called when the user pressed on OK to login with facebook
    callbackURL: "http://localhost:8888/login/facebook/return"
  },
  function(accessToken, refreshToken, profile, cb) {
        console.log(profile, accessToken, refreshToken)

  }
))

问题是

为什么当我写作

app.get('/login/facebook',
        IsAuth.facebookEnter ),

它不起作用,但如果我写这个代码

app.get('/login/facebook',
            passport.authenticate('facebook') ),

那它有效,为什么呢?我的JWT护照认证工作正常,即使使用相同的文件夹结构如何使其工作并将passport.authenticate保存在单独的文件中?

以上是关于模块导出,nodejs对于护照身份验证需要太长时间的主要内容,如果未能解决你的问题,请参考以下文章

护照身份验证不适用于 nodejs 和 mysql

NodeJs Express - 将请求参数传递给护照身份验证

节点护照错误:未知身份验证策略“本地登录”

Facebook护照身份验证,导出passport.authenticate方法

混淆 Laravel 护照 API 安全性的工作原理

Apollo express 没有快速护照会话