11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/em-synchrony/em-mongo.rb', line 11
def authenticate(username, password)
auth_result = self.collection(SYSTEM_COMMAND_COLLECTION).first({'getnonce' => 1})
auth = BSON::OrderedHash.new
auth['authenticate'] = 1
auth['user'] = username
auth['nonce'] = auth_result['nonce']
auth['key'] = EM::Mongo::Support.auth_key(username, password, auth_result['nonce'])
auth_result2 = self.collection(SYSTEM_COMMAND_COLLECTION).first(auth)
if EM::Mongo::Support.ok?(auth_result2)
true
else
raise AuthenticationError, auth_result2["errmsg"]
end
end
|