gpt4 book ai didi

mongodb - everyauth,第一次登录有效,第二次失败

转载 作者:太空宇宙 更新时间:2023-11-03 23:11:23 25 4
gpt4 key购买 nike

使用 everyauth,用户第一次登录时,配置文件会通过 mongoose 添加到我的 mongodb,并且 session 运行良好。用户第二次尝试登录时,服务器崩溃并出现以下错误:

/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/modules/everymodule.js:352 throw err;

^ TypeError: Cannot read property 'id' of undefined at Object._addToSession (/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/modules/oauth2.js:195:46) at Object.exec (/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/step.js:48:21) at /mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/stepSequence.js:19:38 at [object Object].fulfill (/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/promise.js:42:25) at /mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/stepSequence.js:22:23 at [object Object].callback (/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/promise.js:13:12) at /mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/stepSequence.js:21:23 at [object Object].fulfill (/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/promise.js:42:25) at /mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/stepSequence.js:22:23 at [object Object].fulfill (/mnt/ws/users/guiomie/70543/node_modules/everyauth/lib/promise.js:42:25)

以下是我的代码:

.findOrCreateUser( function (session, accessToken, accessTokExtra, fbUserMetadata) {
//Verifies if user in database already
try{
var id = fbUserMetadata.id;
var promise = this.Promise();
User.findOne({ fbid: id}, function(err, result) {
var user;
if(!result) {
user = new User();
user.fbid = id;
user.firstName = fbUserMetadata.first_name;
user.lastName = fbUserMetadata.last_name;
user.save();
} else {
user = result.doc;
}
promise.fulfill(user);
});
return promise;
}
catch(err){
console.log(err);

}
})

我使用 Mongoose 和 express 。

最佳答案

未经测试,但从查看您的代码来看,您似乎需要更改此行:

user = result.doc;

对此:

user = result;

关于mongodb - everyauth,第一次登录有效,第二次失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com