【问题标题】:Passport authentication in jsjs中的护照认证
【发布时间】:2022-11-28 17:20:14
【问题描述】:
MongoServerError: E11000 duplicate key error collection: usersDB.users index: username_1 dup key: { username: null }

at E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\operations\insert.js:53:33

at E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\cmap\connection_pool.js:308:25

at E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\sdam\server.js:213:17

at handleOperationResult (E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\sdam\server.js:329:20)

at Connection.onMessage (E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\cmap\connection.js:219:9)

at MessageStream. (E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\cmap\connection.js:60:60)

at MessageStream.emit (node:events:527:28)

at processIncomingData (E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\cmap\message_stream.js:132:20)

at MessageStream._write (E:\backend-development\Secrets - Starting Code\node_modules\mongodb\lib\cmap\message_stream.js:33:9)

at writeOrBuffer (node:internal/streams/writable:389:12) {

index: 0,

code: 11000,

keyPattern: { username: 1 },

keyValue: { username: null },

[Symbol(errorLabels)]: Set(0) {}

}

在我注册并从 google auth 注销后,我无法通过 facebook 注册一次。如何解决这个问题?

【问题讨论】:

标签: node.js express backend passport-facebook passport-google-oauth


【解决方案1】:

您遇到此错误不是因为 Passport 身份验证,而是因为您将用户名字段设置为唯一,并且您正在尝试使用现有用户名注册新用户。

在验证您可能正在注册用户时,在这种情况下,您必须检查用户名是否已经存在,如果不存在,请继续注册您的用户,否则,显示正确的消息或告诉他们选择另一个用户名,因为相同一个存在于您的表格/模态中。

流程应该是,检查 dB 中的用户,如果不存在则注册他们,如果存在则登录他们。

【讨论】:

    猜你喜欢
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 2016-01-07
    • 2015-09-23
    • 2019-03-01
    • 1970-01-01
    相关资源
    最近更新 更多