类:Mongo::Auth::Aws::Conversation Private

继承:
SaslConversationBase 显示全部
定义于:
build/Ruby-driver-v2.19/lib/ mongo /auth/ Amazon Web Services /conversation.rb

Overview

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

定义围绕客户端和服务器之间的单个 MONGODB-AWS 对话的行为。

常量摘要

SaslConversationBase继承的常量

SaslConversationBase::CLIENT_CONTINUE_MESSAGESaslConversationBase::CLIENT_FIRST_MESSAGE

实例属性摘要

ConversationBase继承的属性

#connection , #user

实例方法摘要折叠

SaslConversationBase继承的方法

#start

ConversationBase继承的方法

#build_message#initialize#speculative_auth_document#validate_external_auth_source

构造函数详情

该类从Mongo::Auth::ConversationBase继承构造函数

实例方法详细信息

#continue(reply_document, connection) ⇒ Protocol::Message

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

继续Amazon Web Services对话。 在设置先前服务器通信的回复后,这会将客户端最终消息发送到服务器。

参数:

  • reply_document ( BSON::Document )

    上一条消息的回复文档。

  • 连接 ( Server::Connection )

    正在对连接进行身份验证。

返回:

由于:

  • 2.0.0



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'build/Ruby-driver-v2.19/lib/ mongo /auth/ Amazon Web Services /conversation.rb', 第40行

def 继续(reply_document, 连接)
  @conversation_id = reply_document[:conversationId]
  有效负载 = reply_document[:payload].数据
  有效负载 = BSON::文档.from_bson(BSON::ByteBuffer.new(有效负载))
  @server_nonce = 有效负载[:s].数据
  validate_server_nonce!
  @sts_host = 有效负载[:h]
  除非 (1..255).包括?(@sts_host.bytesize)
    提高 错误::InvalidServerAuthConfiguration, " STS host name length is not in 1 .. 255 bytes range: #{ @sts_host } "
  end

  选择器 = CLIENT_CONTINUE_MESSAGE.合并(merge)(
    有效负载: BSON::二进制文件.new(client_final_payload),
    sessionId: session_id,
  )
  build_message(连接, user.auth_source, 选择器)
end