Clase: Mongo::Auth::Gssapi::Conversation Privada
- Hereda:
-
Base de conversaciones de Sasl
- Objeto
- Base de conversaciones
- Base de conversaciones de Sasl
- Mongo::Auth::Gssapi::Conversación
- Definido en:
- lib/mongo/auth/gssapi/conversation.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Define el comportamiento en torno a una única conversación Kerberos entre el cliente y el servidor.
Colapso delresumen constante
- MENSAJE DE INICIO =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
El primer mensaje del cliente base.
{ saslInicio: 1, Autorizar: 1 }.freeze
- CONTINUAR_MENSAJE =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
El mensaje de continuación del cliente base.
{ saslContinuar: 1 }.freeze
Constantes heredadas de SaslConversationBase
SaslConversationBase::CLIENT_CONTINUE_MESSAGE, SaslConversationBase::CLIENT_FIRST_MESSAGE
Colapso delresumen de atributos de instancia
-
#autenticador ⇒ Autenticador
solo lectura
privada
Autenticador El autenticador SASL nativo.
-
#id ⇒ Integer
solo lectura
privada
Obtenga el id de la conversación.
Atributos heredados de ConversationBase
#conexión, #usuario
Colapso del resumen del método de instancia
- #cliente_primer_documento ⇒ Objeto privada
-
#continue(reply_document, connection) ⇒ Protocol::Message
privada
Continuar la conversación.
-
#finalize(connection) ⇒ Protocol::Message
privada
La siguiente consulta a ejecutar.
-
#inicializar(usuario, conexión, **opciones) ⇒ Conversación
constructor
privada
Crea la nueva conversación.
- #proceso_continuar_respuesta(documento_de_respuesta) ⇒ Objeto privada
Métodos heredados de SaslConversationBase
Métodos heredados de ConversationBase
#mensaje_de_compilación, #documento_de_autenticación_especulativo, #validar_fuente_de_autenticación_externa
Detalles del constructor
#inicializar(usuario, conexión, **opciones) ⇒ Conversación
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea la nueva conversación.
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 44 def inicializar(usuario, conexión, **opta) Super host = conexión.dirección.host a no ser que ¿definido?(Mongo::GssapiNativo) requieren 'mongo_kerberos' end @autenticador = Mongo::GssapiNativo::Autenticador.Nuevo( usuario.Nombre, host, usuario.propiedades de auth_mech[:nombre_del_servicio] || 'mongodb', usuario.propiedades de auth_mech[:canonicalizar_nombre_de_host] || false, ) end |
Detalles de los atributos de instancia
#autenticador ⇒ Autenticador (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el autenticador El autenticador SASL nativo.
59 60 61 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 59 def autenticador @autenticador end |
#id ⇒ Entero (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el id de la conversación.
64 65 66 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 64 def ID. @id end |
Detalles del método de instancia
#cliente_primer_documento ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
66 67 68 69 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 66 def cliente_primer_documento start_token = autenticador.initialize_challenge MENSAJE DE INICIO.unir(mecanismo: Gssapi::MECANISMO, carga útil: start_token) end |
#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.
Continuar la conversación.
77 78 79 80 81 82 83 84 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 77 def continuar(responder_documento, conexión) @id = responder_documento['conversaciónId '] carga útil = responder_documento[' carga útil '] continue_token = autenticador.evaluar_desafío(carga útil) selector = CONTINUAR_MENSAJE.unir(carga útil: continue_token, ID de conversación: ID.) (conexión, ' $externo ', selector) end |
#finalize(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.
Devuelve la siguiente consulta a ejecutar.
93 94 95 96 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 93 def finaliza(conexión) selector = CONTINUAR_MENSAJE.unir(carga útil: @continue_token, ID de conversación: ID.) (conexión, ' $externo ', selector) end |
#proceso_continuar_respuesta(documento_de_respuesta) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
86 87 88 89 90 |
# Archivo 'lib/mongo/auth/gssapi/conversation.rb', línea 86 def proceso_continuar_respuesta(responder_documento) carga útil = responder_documento[' carga útil '] @continue_token = autenticador.evaluar_desafío(carga útil) end |