类:Mongo::Auth::Gssapi::Conversation Private
- 继承:
-
SaslConversationBase
- 对象
- ConversationBase
- SaslConversationBase
- Mongo::Auth::Gssapi::Conversation
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
定义围绕客户端和服务器之间的单个Kerberos对话的行为。
常量摘要折叠
- START_MESSAGE =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
基本客户端第一条消息。
{ saslStart: 1, autoAuthorize: 1 }.冻结
- CONTINUE_MESSAGE =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
基本客户端继续消息。
{ saslContinue: 1 }.冻结
从SaslConversationBase继承的常量
SaslConversationBase::CLIENT_CONTINUE_MESSAGE 、 SaslConversationBase::CLIENT_FIRST_MESSAGE
实例属性摘要折叠
-
#身份验证器 ⇒ 身份验证器
只读
private
身份验证器 本原生SASL 身份验证器。
-
# ID ⇒ 整数
只读
private
获取对话的 ID。
从ConversationBase继承的属性
实例方法摘要折叠
- # client_first_document ⇒ 对象 private
-
#continue(reply_document, connection) ⇒ Protocol::Message
private
继续对话。
-
#finalize(connection) ⇒ Protocol::Message
private
要执行的下一个查询。
-
#initialize (user, connection, **opts) ⇒ 对话
构造函数
private
创建新对话。
- # process_Continue_response (reply_document) ⇒ 对象 private
从SaslConversationBase继承的方法
从ConversationBase继承的方法
#build_message 、 #speculative_auth_document 、 #validate_external_auth_source
构造函数详情
#initialize (user, connection, **opts) ⇒对话
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
创建新对话。
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第44行 def 初始化(user, 连接, **opts) 超 主机 = 连接.地址.主机 除非 定义?(mongo::GssapiNative) require 'mongo_kerberos' end @authenticator = mongo::GssapiNative::Authenticator.new( user.名称, 主机, user.auth_mech_properties[:service_name] || 'mongodb', user.auth_mech_properties[:canonicalize_host_name] || false, ) end |
实例属性详细信息
#身份验证器 ⇒身份验证器(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回身份验证器原生SASL 身份验证器。
59 60 61 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第59行 def 身份验证器 @authenticator end |
# ID =" Integer " (只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
获取对话的 ID。
64 65 66 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第64行 def id @id end |
实例方法详细信息
# client_first_document ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
66 67 68 69 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第66行 def client_first_document start_token = 身份验证器.initialize_challenge START_MESSAGE.合并(merge)(机制: GSSAPI::机制, 有效负载: start_token) end |
#continue(reply_document, connection) ⇒ Protocol::Message
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
继续对话。
77 78 79 80 81 82 83 84 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第77行 def 继续(reply_document, 连接) @id = reply_document[' sessionId '] 有效负载 = reply_document[' payload '] continue_token = 身份验证器.评估_挑战(有效负载) 选择器 = CONTINUE_MESSAGE.合并(merge)(有效负载: continue_token, sessionId: id) (连接, ' $external ', 选择器) end |
#finalize(connection) ⇒ Protocol::Message
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 要执行的下一个查询。
93 94 95 96 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第93行 def finalize(连接) 选择器 = CONTINUE_MESSAGE.合并(merge)(有效负载: @continue_token, sessionId: id) (连接, ' $external ', 选择器) end |
# process_Continue_response (reply_document) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
86 87 88 89 90 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/auth/gssapi/conversation.rb', 第86行 def process_Continue_response(reply_document) 有效负载 = reply_document[' payload '] @continue_token = 身份验证器.评估_挑战(有效负载) end |