Class: Mongo::Auth::X509::Conversation Private
- Inherits:
-
ConversationBase
- Object
- ConversationBase
- Mongo::Auth::X509::Conversation
- Defined in:
- lib/mongo/auth/x509/conversation.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Defines behavior around a single X.509 conversation between the client and server.
Constant Summary collapse
- LOGIN =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
The login message.
{ authenticate: 1, mechanism: X509::MECHANISM }.freeze
Instance Attribute Summary
Attributes inherited from ConversationBase
Instance Method Summary collapse
-
#speculative_auth_document ⇒ Hash | nil
private
Returns the hash to provide to the server in the handshake as value of the speculativeAuthenticate key.
-
#start(connection) ⇒ Protocol::Message
private
Start the X.509 conversation.
Methods inherited from ConversationBase
#build_message, #initialize, #validate_external_auth_source
Constructor Details
This class inherits a constructor from Mongo::Auth::ConversationBase
Instance Method Details
#speculative_auth_document ⇒ Hash | nil
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns the hash to provide to the server in the handshake as value of the speculativeAuthenticate key.
If the auth mechanism does not support speculative authentication, this method returns nil.
56 57 58 |
# File 'lib/mongo/auth/x509/conversation.rb', line 56 def speculative_auth_document client_first_document end |
#start(connection) ⇒ Protocol::Message
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Start the X.509 conversation. This returns the first message that needs to be sent to the server.
43 44 45 46 47 |
# File 'lib/mongo/auth/x509/conversation.rb', line 43 def start(connection) validate_external_auth_source selector = client_first_document (connection, '$external', selector) end |