Clase: Mongo::Auth::Aws::Conversation Privado
- Hereda:
-
SaslConversationBase
- Objeto
- ConversationBase
- SaslConversationBase
- Mongo::Auth::Aws::Conversación
- 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
#conexión, #usuario
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
#mensaje_de_compilación, #inicializar, #documento_de_autenticación_especulativa, #validar_fuente_de_autenticación_externa
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 forma parte de una API privada. Debe evitarlo 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.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# Archivo 'lib/mongo/auth/aws/conversation.rb', línea 40 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 = MENSAJE DE CONTINUACIÓN DEL CLIENTE.fusionar( contenido: BSON::Binario.Nuevo(carga útil final del cliente), conversationId: id de conversación, ) (Conexión, usuario.fuente de autenticación, selector) end |