Authentication Failure during SASL Authentication for MongoDB in GoLang
When attempting to establish a MongoDB connection from GoLang, you may encounter an error indicating "server returned error on SASL authentication step: Authentication failed." This issue pertains to the authentication process for MongoDB connections.
To resolve this issue, you may need to specify the authentication database parameter. This parameter specifies the database where the credentials are stored for authentication. Typically, this is the "admin" database for MongoDB.
Your corrected code should resemble the following:
dbName: = os.Getenv("ENV_DBNAME") userName: = os.Getenv("ENV_DBUSER") password: = os.Getenv("ENV_DBPASS") dbHost: = os.Getenv("ENV_DBHOST") mongoDialInfo: = & mgo.DialInfo { Addrs: [] string { dbHost }, Database: dbName, Username: userName, Password: password, AuthenticationDatabase: "admin", // Add this parameter Timeout: 60 * time.Second, } sess, err: = mgo.DialWithInfo(mongoDialInfo) if (err != nil) { panic(err) }
By specifying the authentication database, you can ensure that your credentials are correctly authenticated and the MongoDB connection can be established successfully.
The above is the detailed content of Why is My GoLang MongoDB Connection Failing with a 'SASL Authentication Failed' Error?. For more information, please follow other related articles on the PHP Chinese website!