Clase: Mongo::Auth::Aws::Conversation Privado
- Hereda:
-
SaslConversationBase
- Objeto
- ConversationBase
- SaslConversationBase
- Mongo::Auth::Aws::Conversation
- Definido en:
- lib/mongo/auth/aws/conversation.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Define el comportamiento en torno a una única conversación MONGODB-AWS entre el cliente y el servidor.
Resumen constante
Constantes heredadas de SaslConversationBase
SaslConversationBase::CLIENT_CONTINUE_MESSAGE, SaslConversationBase::CLIENT_FIRST_MESSAGE
Resumen del atributo de la instancia
Atributos heredados de ConversationBase
Resumen del método de instancia colapsar
-
#continue(reply_document, connection) ⇒ Protocol::Message
privado
Continúa la conversación de AWS.
Métodos heredados de SaslConversationBase
Métodos heredados de ConversationBase
#build_message, #initialize, #speculative_auth_document, #validate_external_auth_source
Detalles del Constructor
Esta clase hereda un constructor de Mongo::Auth::ConversationBase
Detalles del método de instancia
#continue(reply_document, connection) ⇒ Protocol::Message
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Continúa la conversación sobre AWS. Esto envía al servidor el mensaje final del cliente después de configurar la respuesta de la anterior comunicación con el servidor.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# Archivo 'lib/mongo/auth/aws/conversation.rb', línea 37 def Continuar(reply_document, Conexión) @conversation_id = reply_document[ID de conversación] payload = reply_document[:payload].Datos payload = BSON::Documento.from_bson(BSON::ByteBuffer.Nuevo(payload)) @server_nonce = payload[s].Datos validate_server_nonce! @sts_host = payload[h:] a menos que (1..255).incluir?(@sts_host.bytesize) propagar Error::InvalidServerAuthConfiguration, "La longitud del nombre de host STS no está en el rango de 1..255 bytes: #{@sts_host}" end selector = CLIENT_CONTINUE_MESSAGE.fusionar( contenido: BSON::Binario.Nuevo(client_final_payload), conversationId: ID de conversación ) (Conexión, usuario.auth_source, selector) end |