MongoDB::authenticate
(PECL mongo >=1.0.1)
MongoDB::authenticate — Log in to this database
Description
This method causes its connection to be authenticated. If authentication is enabled for the database server (it's not, by default), you need to log in before the database will allow you to do anything.
In general, you should use the authenticate built into Mongo::__construct() in preference to this method. If you authenticate on connection and the connection drops and reconnects during your session, you'll be reauthenticated. If you manually authenticated using this method and the connection drops, you'll have to call this method again once you're reconnected.
This method is identical to running:
<?php
$salted = "${username}:mongo:${password}";
$hash = md5($salted);
$nonce = $db->command(array("getnonce" => 1));
$saltedHash = md5($nonce["nonce"]."${username}${hash}");
$result = $db->command(array("authenticate" => 1,
"user" => $username,
"nonce" => $nonce["nonce"],
"key" => $saltedHash
));
?>
Once a connection has been authenticated, it can only be un-authenticated by using the "logout" database command:
<?php
$db->command(array("logout" => 1));
?>
Parameters
- username
-
The username.
- password
-
The password (in plaintext).
Return Values
Returns database response. If the login was successful, it will return
<?php
array("ok" => 1);
?>
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
See Also
MongoDB core docs on » authenticate.