Classe: Mongo::Auth::Aws::Conversation Private

Herda:
SaslConversationBase mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/auth/Amazon Web Services/conversation.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

Define o comportamento em torno de uma única conversa MONGODB-AWS entre o cliente e o servidor.

Resumo constante

Constantes herdadas de SaslConversationBase

SaslConversationBase::CLIENT_CONTINUE_MSSAGE, SaslConversationBase::CLIENT_FIRST_MSSAGE

Resumo do atributo de instância

Atributos herdados de ConversationBase

#connection, #user

Recolhimento do Resumo do método de instância

Métodos herdados de SaslConversationBase

#start

Métodos herdados de ConversationBase

#build_message, #initialize, #speculative_auth_document, #validate_external_auth_source

Detalhes do construtor

Esta classe herda um construtor de Mongo::Auth::ConversationBase

Detalhes do método de instância

#continue(reply_document, connection) ⇒ Protocol::Message

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Continue a conversa sobre o Amazon Web Services . Isso envia a mensagem final do cliente para o servidor após definir a resposta da comunicação anterior do servidor .

Parâmetros:

  • response_document (BSON::Document)

    O documento de resposta da mensagem anterior.

  • Conexão (Servidor::Conexão)

    A conexão sendo autenticada.

Retorna:

Desde:

  • 2.0.0



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'build/ruby-driver-v2.19/lib/mongo/auth/Amazon Web Services/conversation.rb', linha 40

def Continuar(response_document, Conexão)
  @conversation_id = response_document[:conversationId]
  Carga útil = response_document[: payload].de dados
  Carga útil = BSON::Documento.from_bson(BSON::ByteBuffer.Novo(Carga útil))
  @server_nonce = Carga útil[:s].de dados
  validate_server_nonce!
  @sts_host = Carga útil[:h]
  a menos que (1..255).incluir?(@sts_host.bytesize)
    aumentar Erro::InvalidServerAuthConfiguration, "O comprimento do nome do host STS não está em 1..255 bytes range: #{@sts_host}"
  end

  seletor = CLIENT_CONTINUE_MSSAGE.mesclar(
    carga útil: BSON::Binário.Novo(client_final_playload),
    ID da conversa: chat_id,
  )
  build_message(Conexão, utilizador.auth_source, seletor)
end