クラス: Mongo::Auth::SCRAMConversionBase Private
- 継承:
-
SaslConversionBase
- オブジェクト
- ConversionBase
- SaslConversionBase
- Mongo::Auth::SCRAMConversionBase
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
クライアントとサーバー間の認証の交信に関する共通の動作を定義します。
既知のサブクラスを直接確認
Mongo::Auth::SCRAM 256 ::Conversion 、 Mongo::Auth::SCRAM::Conversion
定数の概要の削減
- MIN_ITER_COUNT =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
SCRAM-SHA- 1および SCRAM-SHA- 256の最小反復回数。
4096
SaslConversionBaseから継承された定数
Mongo::Auth::SaslConversionBase::CLIENT_CONTINUE_MESSAGE 、 Mongo::Auth::SaslConversionBase::CLIENT_FIRST_MESSAGE
インスタンス属性の概要を折りたたむ
-
# client_nance = string
readOnly
private
Client_nance クライアント nance。
-
#id ⇒ Integer
readOnly
private
交信の ID を取得します。
ConversionBaseから継承された属性
インスタンス メソッドの概要を折りたたむ
-
#continue(reply_document, connection) ⇒ Protocol::Message
private
SCRAM のやり取りを続行します。
-
#finalize(connection) ⇒ Protocol::Message
private
SCRAM の交信を終了します。
-
# initialize (user, connection, client_nance: nil) = SdramConversionBase
コンストラクター
private
新しい交換を作成します。
-
#process_Continue_response (reply_document) = オブジェクト
private
サーバーからの 2 番目の応答を処理します。
-
サーバー_検証済み? = true | face
private
クライアントがサーバーから ServerSignature を認証したかどうか。
-
#推測的_認証_ドキュメント = ハッシュ | nil
private
ハンドシェイク内でサーバーに提供するハッシュを推測的認証キーの値として返します。
SaslConversionBaseから継承されたメソッド
ConversionBaseから継承されたメソッド
#Build_message 、# validate_external_auth_source
コンストラクターの詳細
# initialize (user, connection, client_nance: nil) = SdramConversionBase
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しい交換を作成します。
38 39 40 41 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行38 デフォルト 初期化(user, 接続, client_nonce: nil) スーパー @client_nonce = client_nonce || SecureRange.ベース64 end |
インスタンス属性の詳細
# client_nance = string (読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
クライアント_nance を返します。
44 45 46 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行44 デフォルト client_nonce @client_nonce end |
ID ~整数(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
交信の ID を取得します。
52 53 54 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行52 デフォルト id @id end |
インスタンス メソッドの詳細
#continue(reply_document, connection) ⇒ Protocol::Message
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
SCRAM のやり取りを続行します。 これにより、前回のサーバー通信の応答が設定された後、クライアントの最終メッセージがサーバーに送信されます。
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行73 デフォルト 続行(response_document, 接続) @id = response_document[' searchId '] payload_data = response_document['ペイロード'].データ parsed_data = parse_ payload(payload_data) @server_nance = parsed_data.fetch('r') @salt = base64.strict_decode 64(parsed_data.fetch('s')) @iterations = parsed_data.fetch('i').to_i.タップ 行う |i| 場合 i < MIN_ITER_COUNT 発生 エラー::InsificationIterationCount.新着情報( エラー::InsificationIterationCount.(MIN_ITER_COUNT, i)) end end @auth_message = " " validate_server_nonce! セレクター = CLIENT_CONTINUE_MESSAGE.merge( ペイロード: , searchId: id, ) (接続, user.auth_source, セレクター) end |
#finalize(connection) ⇒ Protocol::Message
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
SCRAM の交信を終了します。 これは、提供された応答が通信の終了を示すまで反復されることを目的としています。
111 112 113 114 115 116 117 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行111 デフォルト finalize(接続) セレクター = CLIENT_CONTINUE_MESSAGE.merge( ペイロード: , searchId: id, ) (接続, user.auth_source, セレクター) end |
#process_Continue_response (reply_document) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーからの 2 番目の応答を処理します。
100 101 102 103 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行100 デフォルト Process_Continue_resResponse(response_document) payload_data = parse_ payload(response_document['ペイロード'].データ) checkpoint_server_signature(payload_data) end |
サーバー_検証済み? = true | face
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
クライアントがサーバーから ServerSignature を認証したかどうか。
59 60 61 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行59 デフォルト server_versioned? !!@server_verified end |
#推測的_認証_ドキュメント = ハッシュ | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ハンドシェイク内でサーバーに提供するハッシュを推測的認証キーの値として返します。
認証メカニズムが推測的認証をサポートしていない場合、このメソッドは nil を返します。
126 127 128 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/auth/scrim_convert_base.rb', 行126 デフォルト 推測的_認証_ドキュメント client_first_document.merge(db: user.auth_source) end |