相关疑难解决方法(0)

使用PassportJS和Connect for NodeJS验证Facebook用户

我正在尝试使用connect将护照集成到我的nodejs服务器中,但似乎无法正常完成.所有指南/示例都使用expressJS,所以我尽力重新格式化代码以使用我的代码,但我似乎无法让它工作.相关部分如下.有没有人对可能出现的问题有任何建议?似乎永远不会调用passport.authenticate()(至少facebook认证回调中的console.log消息永远不会打印).我目前没有将任何内容保存到数据库中,所以问题应该是非常简单的,我只是缺少.

想到的唯一一件事就是我对facebook的潜在回调,这是一个localhost url(因为我还在本地开发这个).我可以使用everyauth(来自纯粹的本地实例)对facebook进行身份验证,但是切换到passportJS,因为我在那里遇到了护照jS似乎要解决的不同问题.

passport = require('passport');
  fpass = require('passport-facebook').Strategy;

passport.serializeUser(function(user,done){
    done(null, user);
});
passport.deserializeUser(function(obj,done){
    done(null,obj);
});

passport.use(new fpass({
        clientID:'facebook app id',
        clientSecret:'facebook app secret',
        callbackURL:'http://localhost:3000/auth/facebook/callback'
    },
    function(accessToken, refreshToken, fbUserData, done){
        console.log('got here');
        return done(null,fbUserData);
    }
));



    function checkLoggedIn(req, res, next){
        console.log("req.user: " + req.user);
        if(req.user)
            next();
        else{
            console.log('\nNot LOGGED IN\n');
            if(req.socket.remoteAddress || req.socket.socket.remoteAddress == '127.0.0.1'){
                var folder,contentType;
                console.log('req url = '+req.url);
                if(req.url == '/'){
                    folder = __dirname + '/landingPage.html';
                    contentType = 'text/html';
                }
                else if(req.url == '/auth/facebook'){
                    passport.authenticate('facebook');
                    return;
                } …
Run Code Online (Sandbox Code Playgroud)

facebook connect node.js passport.js

6
推荐指数
1
解决办法
8644
查看次数

标签 统计

connect ×1

facebook ×1

node.js ×1

passport.js ×1