DigestProtocol: refresh()
認証情報を更新します。
この関数は非同期関数です。
構文
digestProtocol.refresh(entity) => Promise<{ ok, newEntity, failed, info }>
digestProtocol.refresh(entity, options) => Promise<{ ok, newEntity, failed, info }>
引数
-
entity
:AuthEntity
再認証を行う認証情報です。
-
options
:object?
Digest 認証プロトコルではオプションはありません。この引数は省略可能です。
返値: Promise<({ ok, newEntity, failed, info })>
以下のオブジェクトを返すプロミスです。
-
ok
:boolean
成功したかどうかです。
-
newEntity
:AuthEntity
|undefined
成功した場合は新しい認証エンティティが得られます。
-
failed
:{ code, message }
|undefined
失敗した場合は失敗理由が得られます。以下のプロパティを持つオブジェクトです。
-
code
:string
失敗コードです。
-
message
:string
失敗に関するメッセージです。
-
-
info
:any
|undefined
成功した場合は認証レスポンスのボディです。失敗した場合はデバッグのための例外オブジェクトが入っている場合があります。
解説
次の手順で新しい認証情報の生成を試みます。
- すでに認証情報を持っている場合、認証問い合わせエンドポイントに新しいチャレンジレスポンスを問い合わせ、すでに持っている認証情報と組み合わせて新しい認証情報を生成します。
constructor
に{ refreshCred: true }
を渡していた場合、getCredentialsCallback
を呼び出して資格情報を取得し、新しい認証情報を生成します。
新しい認証情報を生成できたら、内部の認証情報を更新して成功を返します。生成できなかったら失敗を返します。