Node.js 使用Facebook身份验证请求用户名时出错
当我的用户注册时,我希望他们也有一个用户名。在用户模式中,有一个用户名字段是必需且唯一的。然而,当用户通过passport向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策略
我能做些什么?根据我听到的消息,您希望将用户名与您的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信息一起存储
您需要添加addpassReqToCallback: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实现。也许您应该在上打开一个问题,直接向作者寻求解决方案,然后与我们共享。。。