Classe: Mongo::Auth::Gssapi::Conversation Private
- Herda:
-
SaslConversationBase
- Objeto
- Base deConversation
- SaslConversationBase
- Mongo::Auth::Gssapi::Conversation
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/auth/gssapi/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 Kerberos entre o cliente e o servidor.
Colapsode resumo constante
- START_MSSAGE =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
A primeira mensagem do cliente base.
{ saslStart: 1, autoAuthorize: 1 }.congelar
- CONTINUE_MSSAGE =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
O cliente base continua a mensagem.
{ sasl Continuar: 1 }.congelar
Constantes herdadas de SaslConversationBase
SaslConversationBase::CLIENT_CONTINUE_MSSAGE, SaslConversationBase::CLIENT_FIRST_MSSAGE
Recolhimento do Resumo do atributo de instância
-
#Authenticator ➤ Authenticator
Somente leitura
privado
Autenticador O autenticador SASL nativo.
-
#ID ➤ Inteiro
Somente leitura
privado
Obtenha o ID da conversa.
Atributos herdados de ConversationBase
Recolhimento do Resumo do método de instância
- #client_first_document ➤ Objeto privado
-
#continue(reply_document, connection) ⇒ Protocol::Message
privado
Continue a conversa.
-
#finalize(connection) ⇒ Protocol::Message
privado
A próxima query a ser executada.
-
#inicializar(usuário, conexão, **opts) ➤ Conversa
construtor
privado
Crie a nova conversa.
- #process_contin_response(reply_document) ➤ Objeto privado
Métodos herdados de SaslConversationBase
Métodos herdados de ConversationBase
#build_message, #speculative_auth_document, #validate_external_auth_source
Detalhes do construtor
#inicializar(usuário, conexão, **opts) ➤ Conversa
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.
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 44 def inicializar(utilizador, Conexão, **opciona) super Anfitrião = Conexão.endereço.Anfitrião a menos que definido?(mongo::GssapiNative) exigir 'mongo_kerberos' end @authenticator = mongo::GssapiNative::Autenticador.Novo( utilizador.name, Anfitrião, utilizador.auth_mech_properties[:service_name] || 'mongodb', utilizador.auth_mech_properties[:canonicize_host_name] || false, ) end |
Detalhes do atributo da instância
#Authenticator ➤ Authenticator (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 autenticador O autenticador SASL nativo.
59 60 61 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 59 def autenticador @authenticator end |
#ID ➤ Inteiro (somente leitura)
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.
Obtenha o ID da conversa.
64 65 66 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 64 def id @id end |
Detalhes do método de instância
#client_first_document ➤ Objeto
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.
66 67 68 69 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 66 def client_first_document start_token = autenticador.initialize_challenge START_MSSAGE.mesclar(mecanismo: Gssapi::Mecanismo, carga útil: start_token) end |
#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.
77 78 79 80 81 82 83 84 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 77 def Continuar(response_document, Conexão) @id = response_document['chatId'] Carga útil = response_document['carga útil'] continue_token = autenticador.avaliar_desafio(Carga útil) seletor = CONTINUE_MSSAGE.mesclar(carga útil: continue_token, ID da conversa: id) (Conexão, '$external', seletor) end |
#finalize(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.
Retorna A próxima query a ser executada.
93 94 95 96 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 93 def finalizar(Conexão) seletor = CONTINUE_MSSAGE.mesclar(carga útil: @continue_token, ID da conversa: id) (Conexão, '$external', seletor) end |
#process_contin_response(reply_document) ➤ Objeto
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.
86 87 88 89 90 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', linha 86 def process_contin_response(response_document) Carga útil = response_document['carga útil'] @continue_token = autenticador.avaliar_desafio(Carga útil) end |