2

按照本教程

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

npm install mongoose
npm install passport-local
npm install 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 的应用程序是否不受人口统计限制(例如按年龄或国家/地区),并且它是否仍处于沙盒模式。”

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

脸书破折号

4

0 回答 0