Classe: Mongo::Auth::ConversationBase Private

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
lib/mongo/auth/conversation_base.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 comum em torno de conversas de autenticação entre o cliente e o servidor.

Desde:

  • 2.0.0

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(user, connection, **_opts) ➤ ConversationBase

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.

Crie a nova conversa.

Parâmetros:

  • utilizador (Auth::User)

    O usuário a ser autenticado.

  • Conexão (Mongo::Connection)

    A conexão para autenticar.

Desde:

  • 2.0.0



29
30
31
32
# File 'lib/mongo/auth/conversation_base.rb', linha 29

def inicializar(utilizador, Conexão, **_opts)
  @user = utilizador
  @connection = Conexão
end

Detalhes do atributo da instância

#connectionMongo::Connection (readonly)

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.

Retorna a conexão para autenticar.

Retorna:

  • (Mongo::Connection)

    A conexão para autenticar.

Desde:

  • 2.0.0



38
39
40
# File 'lib/mongo/auth/conversation_base.rb', linha 38

def Conexão
  @connection
end

#userAuth::User (readonly)

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.

Retorna o usuário O usuário da conversa.

Retorna:

  • (Auth::User)

    usuário O usuário da conversa.

Desde:

  • 2.0.0



35
36
37
# File 'lib/mongo/auth/conversation_base.rb', linha 35

def utilizador
  @user
end

Detalhes do método de instância

#build_message(connection, auth_source, selector) ⇒ 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.

Retorna A mensagem a ser enviada.

Retorna:

Desde:

  • 2.0.0



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/mongo/auth/conversation_base.rb', linha 52

def build_message(Conexão, auth_source, seletor)
  se Conexão
    seletor = seletor.dup
    seletor[protocolo::Msg::DATABASE_IDENTIFIER] = auth_source
    cluster_time = Conexão.mongos? && Conexão.cluster_time
    seletor[(operação)::CLUSTER_TIME] = cluster_time se cluster_time
    protocolo::Msg.Novo([], {}, seletor)
  mais
    protocolo::Query.Novo(
      auth_source,
      Database::Comando,
      seletor,
      limit: -1
    )
  end
end

#speculative_auth_documentHash | nada

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.

Retorna o hash a ser fornecido ao servidor na negociação como valor da chave speculativeAuthenticate .

Se o mecanismo de autenticação não suportar autenticação especulativa, esse método retornará nulo.

Retorna:

  • (Hash | nulo)

    Documento de autenticação especulativo.

Desde:

  • 2.0.0



47
48
49
# File 'lib/mongo/auth/conversation_base.rb', linha 47

def speculative_auth_document
  nada
end

#validate_external_auth_sourceObjeto

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.

Aumenta:

Desde:

  • 2.0.0



69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/mongo/auth/conversation_base.rb', linha 69

def validate_external_auth_source
  Método a menos que utilizador.auth_source != '$external'

  user_name_msg = se utilizador.name
                    " #{usuário.name}"
                  mais
                    ''
                  end
  Mecanismo = utilizador.Mecanismo
  aumentar auth::Configuração inválida,
        "O usuário#{user_name_msg} especifica a fonte de autenticação' #{user.auth_source} ', mas a única fonte de autenticação válida para o mecanismo#{} é '$external'"
end