Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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.js创建会话_Javascript_Node.js_Mongodb_Express_Passport.js - Fatal编程技术网

Javascript 未使用Passport.js创建会话

Javascript 未使用Passport.js创建会话,javascript,node.js,mongodb,express,passport.js,Javascript,Node.js,Mongodb,Express,Passport.js,我创建了一些代码来使用带有Passport.js的Google OAuth2,但我的代码似乎没有在用户成功身份验证后创建会话 其他一切都有效,只是会话无效 我的身份验证代码: const passport=require(“passport”); const GoogleStrategy=require(“passport-google-oauth20”)。策略; const User=require(“../database/models/User”); passport.user((用户,完

我创建了一些代码来使用带有Passport.js的Google OAuth2,但我的代码似乎没有在用户成功身份验证后创建会话

其他一切都有效,只是会话无效

我的身份验证代码:

const passport=require(“passport”);
const GoogleStrategy=require(“passport-google-oauth20”)。策略;
const User=require(“../database/models/User”);
passport.user((用户,完成)=>{
完成(null,user.userID);
});
passport.deserializeUser(异步(userID,done)=>{
试一试{
const user=await user.findOne({userID:userID});
返回完成(空,用户);
}捕捉(错误){
控制台日志(err);
完成(错误,空);
}
});
passport.use(
谷歌新战略(
{
客户ID:
“我的客户id”,
客户机密:“我的客户机密”,
callbackURL:“/api/v1/auth/google/redirect”,
范围:[“配置文件”],
},
异步(accessToken、refreshToken、profile、done)=>{
const{u json}=profile;
试一试{
const findUser=await User.findOneAndUpdate(
{userID:_json.sub},
{
电子邮件:_json.email,
阿凡达:_json.picture,
用户名:_json.name,
},
{新:正确}
);
如果(findUser){
log(“已找到用户!”);
返回完成(null,findUser);
}否则{
const newUser=等待User.create({
用户ID:_json.sub,
阿凡达:_json.picture,
用户名:_json.name,
电子邮件:_json.email,
});
返回完成(null,newUser);
}
}捕捉(错误){
控制台日志(err);
完成(错误,空);
}
}
)
);
以及我的passport和会话设置:

app.use(
会议({
秘密:“秘密”,
cookie:{maxAge:3600*60*24,域:“lvh.me:3001”},
resave:false,
saveUninitialized:false,
存储:新存储({mongooseConnection:mongoose.connection}),
})
);
app.use(passport.initialize());
app.use(passport.session());

Passport应创建
req.session.Passport
对象。如果您根本看不到
req.session
,那么我会认为express session中间件中存在配置错误的问题。