iwind/rockmongo

1.1.8 version doesn't support new authentication mechanism (SCRAM) for MongoDB 3.0.0

svezzoli opened this issue · 4 comments

After installation of new version 3.0.0 for MongoDB, my new mongodb user has been created by default with following credentials:
{ "_id" : "admin.nfmoss", "user" : "nfmoss", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "LBxj2gyLmY77Cd0LAQNrGg==", "storedKey" : "guJ0L/0JSb2UcOUUYTaAfkR+yWA=", "serverKey" : "FXUAEBDmtkNUuazB5Cm2ia6N1+8=" } }, "roles" : [ { "role" : "readWriteAnyDatabase", "db" : "admin" }, { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }

When I launch RockMongo I have the following message error:
"Unable to connect MongoDB, please check your configurations. MongoDB said:Failed to connect to: 127.0.0.1:27017: Authentication failed on database 'admin' with username 'nfmoss': auth failed".

It seems that RockMongo client does not support the new user authentication mechanism (SCRAM) for MongoDB 3.0.0.

We can read in "Driver Compatibility Changes", section "Compatibility Changes in MongoDB 3.0" of Release Notes for MongoDB 3.0, the following statement:

"Each officially supported driver has released a version that includes support for all new features introduced in MongoDB 3.0. Upgrading to one of these version is strongly recommended as part of the upgrade process.
A driver upgrade is necessary in certain scenarios due to changes in functionality:
Use of the SCRAM-SHA-1 authentication method"

I would like to know if it is possible to upgrade the MongoDB PHP Driver to 1.6.0 version that supports all new features for MongoDB 3.0, including:

  • Support for the new SCRAM-SHA-1 SASL authentication mechanism

Do RockMongo is still under maintenance?

RockMongo last version (1.1.8) on Nginx
Debian 8.1 (64 bits), MongoDB 3.0.4 (wiredTiger), php5-mongo 1.6.10 (php-FPM 5.6.9-0+deb8u1)

capture d ecran 2015-07-07 a 17 41 44
capture d ecran 2015-07-07 a 17 45 48

We have following situation:
RockMongo last version (1.1.8) on Apache web server
Centos 6.5 (64 bits), php5-mongo 1.6.0

rockmongo

So, I suppose I have to re-install RockMongo 1.1.8 after PHP Mongo extension updating to version 1.6.10 (from 1.6.0).
Do I well understood? In this way will I solve my problem?

Why you use php5-mongo 1.6.0-dev ?
use a stable version if you can ...

my RockMongo _config.php_

$MONGO["servers"][$i]["mongo_name"] = "Localhost";//mongo server name
//$MONGO["servers"][$i]["mongo_sock"] = "/var/run/mongo.sock";//mongo socket path (instead of host and port)
$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";//mongo host
$MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port
$MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout
//$MONGO["servers"][$i]["mongo_db"] = "MONGO_DATABASE";//default mongo db to connect, works only if mongo_auth=false
//$MONGO["servers"][$i]["mongo_user"] = "MONGO_USERNAME";//mongo authentication user name, works only if mongo_auth=false
//$MONGO["servers"][$i]["mongo_pass"] = "MONGO_PASSWORD";//mongo authentication password, works only if mongo_auth=false
$MONGO["servers"][$i]["mongo_auth"] = true;//enable mongo authentication?

$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false

Vote on this issue please #133