按照本教程
这导致我复制到我的目录中的这个 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 的应用程序是否不受人口统计限制(例如按年龄或国家/地区),并且它是否仍处于沙盒模式。”
这是一个屏幕截图,不知道我还需要在这里做什么