簡體   English   中英

無法通過mongo的官方node.js驅動程序進行身份驗證,只能通過mongo shell進行身份驗證。 (MongoDB Cloud Manager副本部署)

[英]Can not authenticate via mongo's official node.js driver, only mongo shell. (MongoDB Cloud Manager replica deployment)

我正在嘗試對通過Mongo Cloud Manager部署的副本集進行身份驗證,但我不知道為什么它會失敗。

這是我在數據庫abcd上的用戶:

abcdRepliaSet:PRIMARY> use abcd
switched to db abcd
show users
abcdRepliaSet:PRIMARY> show users
{
 "_id" : "abcd.abcdAppUser",
 "user" : "abcdAppUser",
 "db" : "abcd",
 "roles" : [
 {
 "role" : "readWrite",
 "db" : "abcd"
 }
 ]
}

我可以通過mongo shell成功連接到它:

mongo adbcd-mongo-mms.cloudapp.net:57002 -u adbcd AppUser -p hidden --authenticationDatabase adbcd

但是,我不能使用以下簡單代碼:

MongoClient.connect("mongodb://abcdAppUser:hidden@abcd-mongo-mms.cloudapp.net:57001,abcd-mongo-mms.cloudapp.net:57002,abcd-mongo-mms.cloudapp.net:57003/abcd?replicaSet=abcdRepliaSet&authSource=abcd&authMechanism=SCRAM-SHA-1",
 function(err, db) {
 if(err) throw err;
 else console.log(db);
});

我也很確定我的authMechanism是SCRAM-SHA-1,因為我已經使用mongoldb v。3.0.7添加了用戶,並且還通過以下方式確認了它:

db.system.users.find({user:"abcdAppUser"}).pretty()

當我嘗試通過nodejs應用進行身份驗證時,這是mongod的日志:

2015-12-22T13:31:33.823+0000 I ACCESS   [conn30286] SCRAM-SHA-1 authentication failed for abcdAppUser on abcd from client 10.0.0.10 ; AuthenticationFailed SCRAM-SHA-1 authentication failed, storedKey mismatch
2015-12-22T13:31:33.894+0000 I ACCESS   [conn30288] SCRAM-SHA-1 authentication failed for abcdAppUser on abcd from client 10.0.0.10 ; AuthenticationFailed SCRAM-SHA-1 authentication failed, storedKey mismatch
2015-12-22T13:31:34.051+0000 I ACCESS   [conn30287] SCRAM-SHA-1 authentication failed for abcdAppUser on abcd from client 10.0.0.10 ; AuthenticationFailed SCRAM-SHA-1 authentication failed, storedKey mismatch
2015-12-22T13:31:34.124+0000 I ACCESS   [conn30289] SCRAM-SHA-1 authentication failed for abcdAppUser on abcd from client 10.0.0.10 ; AuthenticationFailed SCRAM-SHA-1 authentication failed, storedKey mismatch
2015-12-22T13:31:34.206+0000 I ACCESS   [conn30290] SCRAM-SHA-1 authentication failed for abcdAppUser on abcd from client 10.0.0.10 ; AuthenticationFailed SCRAM-SHA-1 authentication failed, storedKey mismatch
2015-12-22T13:31:34.263+0000 I NETWORK  [conn30288] end connection 94.61.85.76:53102 (17 connections now open)
2015-12-22T13:31:34.264+0000 I NETWORK  [conn30286] end connection 94.61.85.76:61293 (17 connections now open)
2015-12-22T13:31:34.263+0000 I NETWORK  [conn30287] end connection 94.61.85.76:58194 (17 connections now open)
2015-12-22T13:31:34.263+0000 I NETWORK  [conn30289] end connection 94.61.85.76:58537 (17 connections now open)
2015-12-22T13:31:34.264+0000 I NETWORK  [conn30290] end connection 94.61.85.76:57720 (13 connections now open)
2015-12-22T13:31:37.185+0000 I NETWORK  [conn30281] end connection 10.0.0.8:34322 (12 connections now open)

我還確保我的node.js驅動程序與SCRAM兼容並且兼容。 在這一點上,我還真不明白為什么它會失敗...非常歡迎任何幫助!

先感謝您。

佩德羅

好吧,我不確定我做錯了什么,但是我現在已經升級了authSchema(很確定它已經在v.5上了),刪除了相同的用戶,然后使用完全相同的密碼再次添加了它,並且角色。 現在可以使用了。 去圖...此外,這可能是由於https://docs.mongodb.org/v3.0/release-notes/3.0-scram/#upgrade-mongodb-cr-to-scram引起的,但我不是確定,因為我現在已經知道以前安裝了什么版本(開發環境,所以請原諒缺少適當的日志記錄:P)

無論如何,以為這個答案最終會在將來對某人有所幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM