AbstractAuthProtocol: getChallenge()

チャレンジレスポンスのためのヘッダパラメタを取得します。

この関数は非同期関数です。

構文

authProtocol.getChallenge(reason) => Promise<string>

引数

  • reason: object

    認証に失敗した理由です。

返値: Promise<string>

WWW-Authenticate レスポンスヘッダに付与するパラメタの文字列です。

解説

関数 getChallenge()WebEntity::getChallenge() 関数の中で呼び出されます。

WebEntity のコンストラクタ引数 o.authProtocols には複数の AbstractAuthProtocol インスタンスを含めることができるが、どの認証プロトコルの実装が使われるかは、Authorization リクエストヘッダのスキーム名が認証プロトコルのプロパティ scheme に一致するかどうかで判断されます。

スキーム名が一致したプロトコルに対して、そのプロトコルが実装する関数 getChallenge() が呼び出されます。

また、リクエストが Authorization リクエストヘッダを持っておらず、スキーム名によるプロトコルの照会ができない場合は WebEntity::getChallenges() が呼び出されます。WebEntity::getChallenges() は対象の WebEntity がサポートするすべての認証プロトコルに対して getChallenge() を呼び出します。