ミドルウェア エラーが発生します。私はnode.jsとexpressに非常に慣れていません(これは私の最初の大きなプロジェクトです)。私はSOを検索し、グーグルはすでに長くて良いです。エラーは、私の app.js で注文する必要があります。たくさんの注文を試しましたが、何が間違っているのか正確にはわかりません。特にその理由は? Oauth にパスポートを使用しています
皆さんが私の質問を理解してくれることを願っています。英語は私の母国語ではありません。
エラー:
if (!this._passport) { throw new Error('passport.initialize() middleware n
^
Error: passport.initialize() middleware not in use
at IncomingMessage.req.login.req.logIn
コード、私の app.js:
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
// var jsdom = require("jsdom");
// $ = require("jquery")(jsdom.jsdom().parentWindow());
var dbConfig = require('./db');
var mongoose = require('mongoose');
var app = express();
var User = require('./models/user');
//////
var http = require('http').Server(app);
var io = require('socket.io')(http);
var fs = require('fs');
var data = require('./countries.json');
// Configuring Passport
var passport = require('passport')
, FacebookStrategy = require('passport-facebook').Strategy;
http.listen(3000);
// Connect to DB
mongoose.connect(dbConfig.url);
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.get('/auth/facebook', passport.authenticate('facebook'));
app.get('/auth/facebook/callback', passport.authenticate('facebook', {failureRedirect: '/'}), function(req, res) {
console.log('Facebook');
res.redirect('/home');
});
var expressSession = require('express-session');
// TODO - Why Do we need this key ?
app.use(expressSession({secret: 'mySecretKey'}));
app.use(passport.initialize());
app.use(passport.session());
// Using the flash middleware provided by connect-flash to store messages in session
// and displaying in templates
var flash = require('connect-flash');
app.use(flash());
// Initialize Passport
var initPassport = require('./passport/init');
initPassport(passport);
var routes = require('./routes/index')(passport);
app.use('/', routes);
passport.use(new FacebookStrategy({
clientID: "xx",
clientSecret: "xxx",
callbackURL: "http:localhost:3000/auth/facebook/callback"
//redirect_uri: "/home"
},
function(accessToken, refreshToken, profile, done) {
User.findOne({ 'username' : msg[1] }, function(err, user) {
//save fb user to db
}
));
module.exports = app;