Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解决错误:passport.initialize()中间件未使用_Javascript_Reactjs_Session_Cookies_Passport.js - Fatal编程技术网

Javascript 解决错误:passport.initialize()中间件未使用

Javascript 解决错误:passport.initialize()中间件未使用,javascript,reactjs,session,cookies,passport.js,Javascript,Reactjs,Session,Cookies,Passport.js,我一直在努力解决这个问题很长时间了。我已经尝试了所有现有的堆栈溢出类似的问题,但我仍然得到错误。有人能提出一些建议吗 [尝试了这个,但没有帮助] const express=require('express'); 常量app=express(); const morgan=要求(“摩根”); const bodyParser=require('body-parser'); const mongoose=require('mongoose'); const passport=require(‘

我一直在努力解决这个问题很长时间了。我已经尝试了所有现有的堆栈溢出类似的问题,但我仍然得到错误。有人能提出一些建议吗

[尝试了这个,但没有帮助]

const express=require('express');
常量app=express();
const morgan=要求(“摩根”);
const bodyParser=require('body-parser');
const mongoose=require('mongoose');
const passport=require(‘passport’)
const cookieSession=require('cookie-session')
//const assert=require('assert');
常量键=需要('./api/中间件/键')
const passportSetup=require('./api/middleware/passport setup')
const productRoutes=require('./api/routes/products');
const orderRoutes=require('./api/routes/orders');
const userRoutes=require('./api/routes/user')
const oauth=require('./api/routes/oauth')
猫鼬mongodb://node-shop:“+process.env.MONGO_ATLAS_PWD+”@cluster0-shard-00-zweme.mongodb.net:27017,cluster0-shard-00-01-zweme.mongodb.net:27017,cluster0-shard-00-02-zweme.mongodb.net:27017/test?ssl=true&replicset=cluster0-shard-0&authSource=admin&retryWrites=true”{
useNewUrlParser:true
}).then(()=>console.log('Mongodb connected and running..).catch((e)=>console.error(e));
mongoose.Promise=global.Promise;
app.set('views','dirname+'/api/views')
app.set('查看引擎','ejs')
应用程序使用(摩根(“开发”);
app.use('/uploads',express.static('uploads'))
app.use(bodyParser.urlencoded({
扩展:false
}));
use(bodyParser.json());
//防止CORS错误
应用程序使用((请求、恢复、下一步)=>{
res.header('Access-Control-Allow-Origin','*');
res.header('Access-Control-Allow-Headers','Origin,X-request-With,Content-Type,Accept,Authorization');
如果(请求方法==='OPTIONS'){
res.header('Access-Control-Allow-Methods','PUT、POST、PATCH、DELETE、GET');
返回res.status(200).json({});
}
next();
})
应用程序使用(“/产品”,productRoutes);
应用程序使用('/orders',orderRoutes);
app.use('/user',userRoutes)
app.use('/auth',oauth)
app.get(“/”,(请求、恢复、下一步)=>{
res.render('索引')
})
应用程序使用(cookieSession)({
//名称:“会话”,
最大值:24*60*60*1000,
keys:[keys.session.cookieKey]
}))
//初始护照
应用程序使用((请求、恢复、下一步)=>{
常量错误=新错误(“未找到”);
error.status=404;
下一步(错误);
})
应用程序使用((错误、请求、恢复、下一步)=>{
res.status(error.status | | 500)
res.json({
错误:{
消息:error.message
}
})
})
app.use(passport.initialize())
app.use(passport.session())
module.exports=app得到了答案

根据中间件的顺序,我的文件应该是这样的

const express=require('express');
常量app=express();
const morgan=要求(“摩根”);
const bodyParser=require('body-parser');
const mongoose=require('mongoose');
const passport=require(‘passport’)
const expressSession=require('express-session')
//const assert=require('assert');
常量键=需要('./api/中间件/键')
const passportSetup=require('./api/middleware/passport setup')
const productRoutes=require('./api/routes/products');
const orderRoutes=require('./api/routes/orders');
const userRoutes=require('./api/routes/user')
const oauth=require('./api/routes/oauth')
猫鼬mongodb://node-shop:“+process.env.MONGO_ATLAS_PWD+”@cluster0-shard-00-zweme.mongodb.net:27017,cluster0-shard-00-01-zweme.mongodb.net:27017,cluster0-shard-00-02-zweme.mongodb.net:27017/test?ssl=true&replicset=cluster0-shard-0&authSource=admin&retryWrites=true”{
useNewUrlParser:true
}).then(()=>console.log('Mongodb connected and running..).catch((e)=>console.error(e));
应用程序使用(expressSession)({
//名称:“会话”,
最大值:24*60*60*1000,
秘密:keys.session.cookieKey,
resave:false,
saveUninitialized:true,
cookie:{secure:true}
}))
app.use(passport.initialize())
app.use(passport.session())
mongoose.Promise=global.Promise;
app.set('查看引擎','ejs')
app.set('views','dirname+'/api/views')
应用程序使用(摩根(“开发”);
app.use('/uploads',express.static('uploads'))
app.use(bodyParser.urlencoded({
扩展:false
}));
use(bodyParser.json());
//防止CORS错误
应用程序使用((请求、恢复、下一步)=>{
res.header('Access-Control-Allow-Origin','*');
res.header('Access-Control-Allow-Headers','Origin,X-request-With,Content-Type,Accept,Authorization');
如果(请求方法==='OPTIONS'){
res.header('Access-Control-Allow-Methods','PUT、POST、PATCH、DELETE、GET');
返回res.status(200).json({});
}
next();
})
应用程序使用(“/产品”,productRoutes);
应用程序使用('/orders',orderRoutes);
app.use('/user',userRoutes)
app.use('/auth',oauth)
app.get(“/”,(请求、恢复、下一步)=>{
res.render('索引')
})
//初始护照
应用程序使用((请求、恢复、下一步)=>{
常量错误=新错误(“未找到”);
error.status=404;
下一步(错误);
})
应用程序使用((错误、请求、恢复、下一步)=>{
res.status(error.status | | 500)
res.json({
错误:{
消息:error.message
}
})
})
module.exports=app