DigestProtocol
モジュールパス: /alier_sys/Auth.js
概要
Digest 認証プロトコルに沿った認証処理を実行するクラスです。
通常、コンストラクタ以外のメソッドは AuthAgent
が呼び出すため、開発者が呼び出す必要はありません。
Digest 認証について詳しくは RFC7616 を参照してください。
コンストラクタ
構文
new DigestProtocol(args)
-
args
:{ host, path, method, getCredentialCallback[, cnonceLength][, refreshCred][, challengeTimeoutDelay[, challengeInterval]] }
--- 以下のプロパティを持つオブジェクトです。-
host
:string
--- 認証取得先のホスト名です。 -
path
:string
--- 認証取得先のパス名です。 -
method
:"GET"
|"POST"
|"PUT"
|"DELETE"
--- 認証取得先のメソッドです。 -
getCredentialCallback
:(envelope: Envelope) => void
--- 資格情報を取得するためのコールバック関数です。開発者は資格情報をenvelope
に送ることでプロトコルに情報を伝達できます。 -
cnonceLength
:number?
, defaults to32
--- cnonce の長さを整数で指定します。cnonce は Basee64 エンコードされるため、ヘッダにのる値はこの長さより長くなります。 -
refreshCred
:boolean?
, defaults tofalse
--- 自動再認証に失敗したときにgetCredentialsCallback
で資格情報を渡すかどうかを指定します。 -
challengeTimeoutDelay
:number
---getCredentialsCallback
のenvelope
に資格情報を送った後のタイムアウト時間をミリ秒単位で指定します。note厳密にはチャレンジレスポンスを受け取るためのリクエストの試行を打ち切るタイムアウトです。このリクエストは
getCredentialsCallback
を呼び出した時にはすでに試行を始めていて、タイムアウトの開始タイミングが資格情報を送ったタイミングなので上記のような説明となっています。 -
challengeInterval
:number
--- チャレンジの間隔をミリ秒単位で指定します。セキュリティ上の理由から1秒などある程度大きい値にしてください。challengeInterval
を指定する場合は 必ずchallengeTimeoutDelay
も指定してください。タイムアウトが指定されなかった場合はインターバルも0になります。noteこの値はチャレンジレスポンスを受け取るためのリクエストの試行の間隔時間です。チャレンジレスポンスを受け取るかタイムアウトとなるまで繰り返されます。
-
メソッド
auth()
- 認証取得処理を実行します。
revoke()
- 認証情報をプロトコルに沿って破棄します。
refresh()
- 認証情報を更新します。
プロパティ
scheme
このプロトコルの認証方式です。
型
string