クラス: Mongo::Auth::Gs sapi::Concern Private

継承:
SaslConversionBase すべて表示
定義:
build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

クライアントとサーバー間の単一の Kerberos 通信に関する動作を定義します。

以来

  • 2.0.0

定数の概要の削減

START_MESSAGE =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

基本クライアントの最初のメッセージ。

以来

  • 2.0.0

{ saslStart: 1, autoAuthorize: 1 }.freeze
CONTINU_MESSAGE =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

基本クライアントの続行メッセージ。

以来

  • 2.0.0

{ saslContinue: 1 }.freeze

SaslConversionBaseから継承された定数

SaslConversionBase::CLIENT_CONTINUE_MESSAGESaslConversionBase::CLIENT_FIRST_MESSAGE

インスタンス属性の概要を折りたたむ

ConversionBaseから継承された属性

# connection #user

インスタンス メソッドの概要を折りたたむ

SaslConversionBaseから継承されたメソッド

#start

ConversionBaseから継承されたメソッド

ビルド_メッセージ 、推測的_auth_document# validate_external_auth_source

コンストラクターの詳細

#初期化(ユーザー、接続、** ops )= 変換

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

新しい交換を作成します。

例:

新しい交換を作成します。

Conversation.new(user, 'test.example.com')

パラメーター:

  • user 認証::ユーザー

    変換するユーザー。

  • 接続 Mongo::Connection

    認証する接続。

以来

  • 2.0.0



44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 44

デフォルト 初期化(user, 接続, **ops)
  スーパー
  ホスト = 接続.address.ホスト
  ただし、 定義済み?(mongo::GsaapiNative)
    が必要 'mongo_kerberos'
  end
  @authenticator = mongo::GsaapiNative::認証子.新着情報(
    user.name,
    ホスト,
    user.auth_mech_properties[:service_name] || 'mongodb',
    user.auth_mech_properties[:canonicalize_host_name] || false,
  )
end

インスタンス属性の詳細

#認証プロバイダー→ 認証子(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

認証子 ネイティブ SASL 認証子を返します。

次の値を返します。

  • 認証子

    authenticator ネイティブ SASL 認証システム。

以来

  • 2.0.0



59
60
61
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 59

デフォルト 認証子
  @authenticator
end

ID整数(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

交信の ID を取得します。

次の値を返します。

  • (整数)

    スレッド ID。

以来

  • 2.0.0



64
65
66
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 64

デフォルト id
  @id
end

インスタンス メソッドの詳細

# client_first_document =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



66
67
68
69
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 66

デフォルト client_first_document
  start_token = 認証子.initialize_challenge
  START_MESSAGE.merge(メカニズム: Gssapi::メカニズム, ペイロード: start_token)
end

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

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ディスカッションを続行します。

パラメーター:

  • response_document BSON::Document

    前のメッセージの応答ドキュメント。

次の値を返します。

以来

  • 2.0.0



77
78
79
80
81
82
83
84
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 77

デフォルト 続行(response_document, 接続)
  @id = response_document[' searchId ']
  ペイロード = response_document['ペイロード']

  continue_token = 認証子.Estimated_challenge(ペイロード)
  セレクター = CONTINU_MESSAGE.merge(ペイロード: continue_token, searchId: id)
  build_message(接続, ' $external ', セレクター)
end

#finalize(connection) ⇒ Protocol::Message

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次に実行するクエリを返します。

次の値を返します。

以来

  • 2.0.0



93
94
95
96
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 93

デフォルト finalize(接続)
  セレクター = CONTINU_MESSAGE.merge(ペイロード: @continue_token, searchId: id)
  build_message(接続, ' $external ', セレクター)
end

#process_Continue_response (reply_document) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



86
87
88
89
90
# File 'build/ruby-driver-v2.19/lib/mongo/auth/gssapi/conversation.rb', line 86

デフォルト Process_Continue_resResponse(response_document)
  ペイロード = response_document['ペイロード']

  @continue_token = 認証子.Estimated_challenge(ペイロード)
end