我正在写一篇' todolist ' Web应用程序。在我的服务器端代码(node.js)中,我使用 passport 中间件来允许用户使用facebook登录。我的一些服务器端代码:
var passport = require('passport')
, FacebookStrategy = require('passport-facebook').Strategy;
passport.use(new FacebookStrategy({
clientID: '5669xxxxxxxxxx',
clientSecret: '555022xxxxxxxxxxxxxxxxx',
callbackURL: 'http://www.localhost:3000/Todolistpage.html'
},
function(accessToken, refreshToken, profile, done) {
User.findOrCreate(..., function(err, user) {
if (err) { return done(err); }
done(null, user);
});
}
));
//Authentication
app.get('/auth/facebook', passport.authenticate('facebook'));
app.get('/auth/facebook/Todolistpage.html',
passport.authenticate('facebook', { successRedirect: '/Todolistpage.html',
failureRedirect: '/' }));
1)我不知道" User.findOrCreate(.. "部分的用途,用于facebook的护照文档{{3 }。
2)我的主页位于 localhost:3000 / ,提供该应用的页面位于 localhost:3000 / Todolistpage 。我也使用 express 中间件, Todolistpage.html 是我客户端文件夹中的文件。
那么如何防止有人插入 localhost:3000 / Todolistpage.html 并在他们未登录时访问它?顺便从主页登录Fb工作正常,并将其重定向到 localhost:3000 / Todolistpage.html 。
任何答案都赞赏。