class Mongo::Auth::CR::Conversation
Defines behavior around a single MONGODB-CR conversation between the client and server.
@since 2.0.0 @deprecated MONGODB-CR authentication mechanism is deprecated
as of MongoDB 3.6. Support for it in the Ruby driver will be removed in driver version 3.0. Please use SCRAM instead.
@api private
Constants
- LOGIN
The login message base.
@since 2.0.0
Attributes
@return [ String ] database The database to authenticate against.
@return [ String ] nonce The initial auth nonce.
Public Instance Methods
Continue the CR conversation. This sends the client final message to the server after setting the reply from the previous server communication.
@param [ BSON::Document ] reply_document The reply document of the
previous message.
@param [ Mongo::Server::Connection ] connection The connection being
authenticated.
@return [ Protocol::Message ] The next message to send.
@since 2.0.0
# File lib/mongo/auth/cr/conversation.rb, line 68 def continue(reply_document, connection) @nonce = reply_document[Auth::NONCE] selector = LOGIN.merge(user: user.name, nonce: nonce, key: user.auth_key(nonce)) build_message(connection, user.auth_source, selector) end
Start the CR conversation. This returns the first message that needs to be sent to the server.
@param [ Server::Connection ] connection The connection being
authenticated.
@return [ Protocol::Message ] The first CR conversation message.
@since 2.0.0
# File lib/mongo/auth/cr/conversation.rb, line 51 def start(connection) selector = Auth::GET_NONCE build_message(connection, user.auth_source, selector) end