Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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
Node.js 使用Facebook身份验证请求用户名时出错_Node.js_Mongodb_Express_Mongoose_Passport.js - Fatal编程技术网

Node.js 使用Facebook身份验证请求用户名时出错

Node.js 使用Facebook身份验证请求用户名时出错,node.js,mongodb,express,mongoose,passport.js,Node.js,Mongodb,Express,Mongoose,Passport.js,当我的用户注册时,我希望他们也有一个用户名。在用户模式中,有一个用户名字段是必需且唯一的。然而,当用户通过passport向Facebook注册时,该字段无法输入,因此它会向我抛出一个错误 我想出的唯一解决办法是在注册时给他们分配一个随机用户名,然后再要求他们提供一个真实的用户名,但这似乎不是最好的主意 我能做些什么?根据我听到的消息,您希望将用户名与您的facebook信息一起存储 您需要添加addpassReqToCallback:true passport.use(新facebook策略

当我的用户注册时,我希望他们也有一个用户名。在用户模式中,有一个用户名字段是必需且唯一的。然而,当用户通过passport向Facebook注册时,该字段无法输入,因此它会向我抛出一个错误

我想出的唯一解决办法是在注册时给他们分配一个随机用户名,然后再要求他们提供一个真实的用户名,但这似乎不是最好的主意


我能做些什么?

根据我听到的消息,您希望将用户名与您的facebook信息一起存储

您需要添加add
passReqToCallback:true

passport.use(新facebook策略)({
consumerKey:FACEBOOK_CONSUMER_KEY,
消费者信任:FACEBOOK\u消费者\u秘密,
回调URL:“http://www.example.com/auth/twitter/callback",
passReqToCallback:true
},
函数(请求、令牌、令牌机密、配置文件、完成){
...
存储在数据库中
}

));根据我听到的消息,您希望将用户名与您的facebook信息一起存储

您需要添加add
passReqToCallback:true

passport.use(新facebook策略)({
consumerKey:FACEBOOK_CONSUMER_KEY,
消费者信任:FACEBOOK\u消费者\u秘密,
回调URL:“http://www.example.com/auth/twitter/callback",
passReqToCallback:true
},
函数(请求、令牌、令牌机密、配置文件、完成){
...
存储在数据库中
}

));您是否使用passport进行本地身份验证?您是否使用Twitter(或其他社交媒体)登录?两者都有。显然,我可以为本地身份验证请求一个用户名,但当涉及到Facebook身份验证时,并不是每个人都有我可以使用的用户名。我认为除了在登录后要求输入用户名外,没有其他选择。为什么不能输入该字段?请向我们展示您的passport实现。也许您应该在上打开一个问题,直接向作者询问解决方案,然后与我们共享……您是否使用passport进行本地身份验证?您是否使用Twitter(或其他社交媒体)登录?两者都有。显然,我可以为本地身份验证请求一个用户名,但当涉及到Facebook身份验证时,并不是每个人都有我可以使用的用户名。我认为除了在登录后要求输入用户名外,没有其他选择。为什么不能输入该字段?请向我们展示您的passport实现。也许您应该在上打开一个问题,直接向作者寻求解决方案,然后与我们共享。。。