Clase: Mongo::Auth::Aws::Conversation Privado

Hereda:
SaslConversationBase Mostrar todo
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

Métodos heredados de SaslConversationBase

#iniciar

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.

Parámetros:

  • reply_document (BSON::Document)

    El documento de respuesta del mensaje anterior.

  • Conexión (Servidor::Conexión)

    La conexión se está autenticando.

Devuelve:

Desde:

  • 2.0.0



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,
  )
  build_message(Conexión, usuario.fuente de autenticación, selector)
end