Node.js 使用passport运行nodejs应用程序时应用程序ID:clientID无效

Node.js 使用passport运行nodejs应用程序时应用程序ID:clientID无效,node.js,facebook-oauth,passport.js,passport-facebook,Node.js,Facebook Oauth,Passport.js,Passport Facebook,跟随 这让我找到了我复制到我的目录。当然,它不是那样运行的,所以我必须在不同的时间运行npm install,比如: npm安装猫鼬 npm本地安装passport npm安装passport facebook 等等,然后在各地创建了新文件,所以我想知道这些文件中是否有任何一个现在以某种方式干扰了身份验证。因为当我在本地运行服务器时,我试图通过Facebook登录。然后我得到了错误 Invalid App ID: clientID 我想我需要做的就是把我的证件加进去?但是passport-fa

跟随

这让我找到了我复制到我的目录。当然,它不是那样运行的,所以我必须在不同的时间运行
npm install
,比如:

npm安装猫鼬

npm本地安装passport

npm安装passport facebook


等等,然后在各地创建了新文件,所以我想知道这些文件中是否有任何一个现在以某种方式干扰了身份验证。因为当我在本地运行服务器时,我试图通过Facebook登录。然后我得到了错误

Invalid App ID: clientID
我想我需要做的就是把我的证件加进去?但是
passport-facebook
创建的目录中的文件看起来需要大量修改

在我的passport.js文件中,我做了这样的修改

passport.use(new FacebookStrategy({
    clientID: xxxxxxxxx, //my "App id" from Facebook
    clientSecret: xxxxxxxxx, //my "App Secret"
    callbackURL: "http://www.example.com/auth/facebook/callback" //found this format on a tutorial
},
这是我的
routes.js

var User = require('../app/models/user');
var Auth = require('./middlewares/authorization.js');

module.exports = function(app, passport){
    app.get("/", function(req, res){ 
        if(req.isAuthenticated()){
          res.render("home", { user : req.user}); 
        }else{
            res.render("home", { user : null});
        }
    });

    app.get("/login", function(req, res){ 
        res.render("login");
    });

    app.post("/login" 
        ,passport.authenticate('local',{
            successRedirect : "/",
            failureRedirect : "/login",
        })
    );

    app.get("/signup", function (req, res) {
        res.render("signup");
    });

    app.post("/signup", Auth.userExist, function (req, res, next) {
        User.signup(req.body.email, req.body.password, function(err, user){
            if(err) throw err;
            req.login(user, function(err){
                if(err) return next(err);
                return res.redirect("profile");
            });
        });
    });

    app.get("/auth/facebook", passport.authenticate("facebook",{ scope : "email"}));

    app.get("/auth/facebook/callback", 
        passport.authenticate("facebook",{ failureRedirect: '/login'}),
        function(req,res){
            res.render("profile", {user : req.user});
        }
    );

    app.get("/profile", Auth.isAuthenticated , function(req, res){ 
        res.render("profile", { user : req.user});
    });

    app.get('/logout', function(req, res){
        req.logout();
        res.redirect('/login');
    });
}
我在报纸上读到了采取这些预防措施的消息

“检查您正在使用的ID的应用程序是否不受人口统计限制(如年龄或国家),并且它是否仍处于沙箱模式。”

这是一个屏幕截图,不确定我还需要在这里做什么


您的应用程序是否有路由服务
auth/facebook/callback
,并且
example.com
被您的域替换?@punund,
example.com
被我的实际域替换。是的,我确实有一条叫做
auth/facebook/callback
的路线。我更新了详细信息。好吧,在尝试调试之前,您应该拥有它。