无效的应用程序ID:使用护照运行nodejs app时的clientID

时间:2013-12-25 11:16:58

标签: node.js facebook-oauth passport.js passport-facebook

关注this tutorial

这导致我复制到我的目录中this repo。当然它没有像那样运行所以我不得不在不同的时间运行npm install,如:

npm install mongoose
npm install passport-local
npm install passport-facebook

然后在整个地方创建了新文件,所以我想知道其中任何一个现在都在某种程度上干扰了身份验证。因为当我在本地运行服务器时,我试图通过Facebook登录。然后我收到了错误

Invalid App ID: clientID

我认为我需要做的就是在那里添加我的凭据?但是passport-facebook创建的目录中的文件看起来需要大量修改。

new files

在我的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');
    });
}

我曾在similar question中读过这些预防措施

“检查您所使用的ID的应用是否受到人口统计限制(例如按年龄或国家/地区限制),并确保其不在沙盒模式下。”

这是截图,不知道我还需要做什么。

facebook dash

0 个答案:

没有答案