DigestAuthProtocol

モジュールパス: /NodeJS/alier_sys/Auth.js

--- config: class: hideEmptyMembersBox: true --- classDiagram direction LR AbstractAuthProtocol <|-- DigestAuthProtocol link AbstractAuthProtocol "abstractauthprotocol.html"

概要


Digest 認証に対応する認証プロトコルクラスです。Digest 認証について詳しくは RFC7616 を参照してください。

コンストラクタ


構文

new DigestAuthProtocol(params)
new DigestAuthProtocol(params, credentialsPath)
new DigestAuthProtocol(params, credentialsTableName)
new DigestAuthProtocol(params, credentialsTableName, credentialsPath)

引数

  • params: { qop, secredData[, realm][, domain][, algorithm][, opaqueLength] }

    認証に必要なパラメタのオブジェクトです。

    • qop: "auth" | "auth-int" | "auth,auth-int"

      サーバが対応する保護の質(quority of protection)を表す1つ以上のトークンを引用符で囲んだ文字列です。

    • secretData: string

      nonce の生成に使用する文字列です。

    • realm: string?

      どのユーザ名とパスワードを使うべきかをユーザに知らせるために表示される文字列です。この文字列には、少なくとも認証を行うホスト名が含まれているべきで、さらにアクセス可能なユーザの集合を示すこともあります。この引数は省略可能です。

    • domain: string?

      保護領域を定義する URI の引用符付きスペース区切りリストです。この引数は省略可能です。

    • algorithm: "SHA-256" | undefined

      ハッシュ関数のアルゴリズムを指定します。Digest 認証の仕様によれば既定のアルゴリズムは MD5 となっているため、algorithmundefined の場合は代わりに "MD5" を使用します。

      warning

      現在、DigestAuthProtocol は MD5 に対応していないため、実際には SHA-256 のみ利用可能です。

    • opaqueLength: number?

      opaque を生成するために用意するバイト配列の長さを示す整数値です。

      • 既定値は 32 です。

      opaque はサーバによって指定されたデータの文字列で、クライアントが同じ保護領域内の URI を持つ後続のリクエストの Authorization ヘッダフィールドでそのまま返すべきものです。

      指定したバイト配列長でランダムなバイト配列を生成した後 Base64 エンコードしたものが opaque とします。そのため、指定したバイト配列長と生成された opaque の文字列長は一致しません。

  • credentialsTableName: string?

    ユーザ情報が格納されているテーブル名です。Users.getContent() に引き渡されます。

  • credentialsProjection: Object?

    認証に使用する各ユーザの資格情報のマッピングです。Users.getContent() に引き渡されます。

    • 既定値は null です。

メソッド


verify()

  • Digest 認証に則って認証情報を検証します。

getChallenge()

  • Digest 認証に則ってチャレンジレスポンスのためのヘッダパラメタを取得します。

プロパティ


scheme

このプロパティは読み取り専用です。

Digest 認証の方式名です。

"Digest"