类:Mongo::Auth::Scram Private

继承:
Base
  • 对象
显示全部
定义于:
build/Ruby-driver-v2.19/lib/ mongo /auth/ SCRAM .rb ,
build/Ruby-driver-v2.19/lib/ mongo /auth/ SCRAM /conversation.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

定义SCRAM身份验证的行为。

由于:

  • 2.0.0

直接已知子类

Scram256

在命名空间下定义

类: 对话

常量摘要折叠

机制 =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

身份验证机制string 。

由于:

  • 2.0.0

' SCRAM-SHA- 1 '.冻结

实例属性摘要折叠

Base继承的属性

#connection , #user

实例方法摘要折叠

构造函数详情

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

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

初始化SCRAM身份验证器。

参数:

  • user ( Auth::User )

    要进行身份验证的用户。

  • 连接 ( Mongo::Connection )

    要进行身份验证的连接。

  • opts (哈希)

    一组可自定义的选项

选项哈希 ( **opts ):

  • speculative_auth_client_nonce ( string | nil )

    在生成指定推测性身份验证结果的指定连接上进行推测性身份验证时使用的客户端随机数。

  • speculative_auth_result (BSON::Document | nil)

    指定连接上握手的 hello 响应的 speculativeAuthenticate字段的值。

由于:

  • 2.0.0



40
41
42
43
44
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/scram.rb', line 40

def 初始化(user, 连接, **opts)
  
  @speculative_auth_client_nonce = opts[:speculative_auth_client_nonce]
  @speculative_auth_result = opts[:speculative_auth_result]
end

实例属性详细信息

# speculative_auth_client_noncestring | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回当前连接上的推测性身份验证中使用的客户端随机数。

返回:

  • ( string | nil )

    当前连接上的推测性身份验证中使用的客户端随机数。

由于:

  • 2.0.0



48
49
50
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/scram.rb', line 48

def speculative_auth_client_nonce
  @speculative_auth_client_nonce
end

# speculative_auth_result =" BSON::Document | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回当前连接上握手的 hello 响应的 speculativeAuthenticate字段的值。

返回:

  • ( BSON::Document | nil )

    当前连接上握手的 hello 响应的 speculativeAuthenticate 字段的值。

由于:

  • 2.0.0



52
53
54
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/scram.rb', line 52

def speculative_auth_result
  @speculative_auth_result
end

实例方法详细信息

#对话对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

由于:

  • 2.0.0



54
55
56
57
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/scram.rb', line 54

def 对话
  @conversation ||= self.class.const_get(:Conversation).new(
    user, 连接, client_nonce: speculative_auth_client_nonce)
end

#登录BSON::Document

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

使用当前连接登录用户。

返回:

  • ( BSON::Document )

    身份验证响应的文档。

由于:

  • 2.0.0



62
63
64
65
66
67
68
69
70
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/scram.rb', line 62

def 
  converse_multi_step(连接, 对话,
    speculative_auth_result: speculative_auth_result,
  ).点击 do
    除非 对话.server_verified?
      提高 错误::MissingScramServerSignature
    end
  end
end