Clase: Mongo::Auth::Scram Private

Hereda:
Base
  • Objeto
Mostrar todo
Definido en:
lib/mongo/auth/scram.rb,
lib/mongo/auth/scram/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 para la autenticación SCRAM.

Desde:

  • 2.0.0

Subclases conocidas directas

Scram256

Definido bajo Namespace

Clases: Conversación

Colapso delresumen constante

MECANISMO =

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.

La cadena del mecanismo de autenticación.

Desde:

  • 2.0.0

'SCRAM-SHA-1'.freeze

Resumen de atributos de la instancia colapsar

Atributos heredados de Base

#conexión, #usuario

Resumen del método de instancia colapsar

Detalles del constructor

#initialize(user, connection, **opts) ⇒ Scram

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Inicializa el autenticador Scram.

Parámetros:

  • usuario (Auth::User)

    El usuario a autenticar.

  • Conexión (Mongo::Connection)

    La conexión para autenticarse.

  • opta (encriptada)

    un conjunto personalizable de opciones

Hash de opciones (**opts):

  • speculative_auth_client_nonce (String | nil)

    El nonce del cliente usado en la autenticación especulativa en la conexión especificada que produjo el resultado de autenticación especulativa especificado.

  • resultado de autenticación especulativa (BSON::Document | nil)

    El valor del campo speculativeAuthenticate de la respuesta de hello del handshake en la conexión especificada.

Desde:

  • 2.0.0



40
41
42
43
44
# Archivo 'lib/mongo/auth/scram.rb', línea 40

def inicializar(usuario, Conexión, **opta)
  super
  @nonce_de_cliente_de_autenticación_especulativa = opta[:speculative_auth_client_nonce]
  @resultado_de_autenticación_especulativa = opta[resultados_autentificación_especulativos]
end

Detalles de los atributos de instancia

#speculative_auth_client_nonceString | nil (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 nonce del cliente utilizado en la autenticación especulativa en la conexión actual.

Devuelve:

  • (String | nil)

    El nonce del cliente utilizado en la autenticación especulativa en la conexión actual.

Desde:

  • 2.0.0



48
49
50
# Archivo 'lib/mongo/auth/scram.rb', línea 48

def speculative_auth_client_nonce
  @nonce_de_cliente_de_autenticación_especulativa
end

#resultado_de_autenticación_especulativaBSON::Documento | nulo (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 valor del campo speculativeAuthenticate de la respuesta hello del handshake en la conexión actual.

Devuelve:

  • (BSON::Document | nil)

    El valor del campo speculativeAuthenticate de la respuesta hello del handshake en la conexión actual.

Desde:

  • 2.0.0



52
53
54
# Archivo 'lib/mongo/auth/scram.rb', línea 52

def resultado de autenticación especulativa
  @resultado_de_autenticación_especulativa
end

Detalles del método de instancia

#conversaciónObjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.0.0



54
55
56
57
# Archivo 'lib/mongo/auth/scram.rb', línea 54

def conversación
  @conversación ||= sí mismo.clase.const_get(:Conversación).Nuevo(
    usuario, Conexión, client_nonce: speculative_auth_client_nonce)
end

#loginBSON::Document

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Inicie sesión al usuario en la conexión actual.

Devuelve:

  • (BSON::Document)

    El documento de la respuesta de autenticación.

Desde:

  • 2.0.0



62
63
64
65
66
67
68
69
70
# Archivo 'lib/mongo/auth/scram.rb', línea 62

def 
  converse_multi_paso(Conexión, conversación,
    speculative_auth_result: resultado de autenticación especulativa,
  ).tocar hacer
    a menos que conversación.server_verified?
      propagar Error::Falta la firma del servidor Scram
    end
  end
end