post-challengeアクショントリガーのAPIオブジェクトは以下を含みます。
api.access
ログイン試行の拒否などでユーザーのログインアクセスを変更します。
api.access.deny(reason)
現在のログイン試行を「拒否」としてマークします。これにより、エンドユーザーがログインフローを完了できなくなります。この操作はメタデータの変更など、このアクションが要求した他のユーザー関連の副次的な影響をキャンセル しません 。このアクションが完了すると、ログインフローは即座に中断され、以降のアクションは実行されません。
apiオブジェクトへの参照を返します。
api.authentication
現在のユーザーセッションについて認証状態の変更を要求します。
api.authentication.challengeWith(factor, [options])
提供された要素と任意の追加要素を使用して多要素認証のチャレンジを要求します。
多要素チャレンジが要求されると、ユーザーがチャレンジを満了するまで後続のアクションは実行されません。チャレンジは以下の場合に満了したと見なされます。
- このトランザクションで要素一致のチャレンジをすでに満了している
- デフォルト要素のチャレンジを正常に満了した
additionalFactorsに記述されている任意要素のチャレンジのいずれかを正常に満了した
additionalFactorsが提供されている場合は、ユーザーがデフォルト以外のチャレンジを選択できます。
api.authentication.challengeWithAny([factors])
提供済みの要素または任意の追加要素のいずれかを使用して多要素認証のチャレンジを要求します。
多要素チャレンジが要求されると、ユーザーがチャレンジを満了するまで後続のアクションは実行されません。チャレンジは以下の場合に満了したと見なされます。
- このトランザクションで要素一致のチャレンジをすでに満了している
- デフォルト要素のチャレンジを正常に満了した
api.authentication.challengeWith()メソッドが優先されます。
api.cache
実行間で維持されるデータの保管と取得を行います。
api.cache.delete(key)
提供されたkeyにキャッシュ済みの値が存在する場合は、それを記述したレコードを削除します。
値がキャッシュから削除されると、CacheWriteResultオブジェクトにtype: "success"を含めて返します。操作に失敗すると、type: "error"を返します。
エラーの場合には、返すオブジェクトにcodeプロパティを含めて、失敗の詳細を示します。
api.cache.get(key)
提供されたkeyにキャッシュ済みの値が存在する場合は、それを記述したレコードを取得します。レコードが見つかった場合には、返されたオブジェクトのvalueプロパティにキャッシュ済みの値があります。
提供されたkeyにキャッシュ済みの項目が存在する場合は、それを記述したレコードを返します。キャッシュレコードは以下のプロパティを含むオブジェクトです。
value:キャッシュされた値です。expires_at:UNIXエポックからの経過ミリ秒数で表したレコードの有効期間です。
api.cache.set(key, value, [options])
指定されたkeyのキャッシュに文字列値を保管または更新します。
このキャッシュに保管された値は、それを設定するトリガーにスコープが限定されます。これはアクションのキャッシュ制限の対象になります。
このように保管された値には、指定されたttlまたはexpires_at値までのライフタイムがあります。ライフタイムが指定されない場合には、デフォルトのライフタイムである15分が使用されます。ライフタイムはアクションのキャッシュ制限が定める最大値を超過してはいけません。
api.redirect
api.redirect.encodeToken(options)
リダイレクト先(sendUserTo経由)のクエリ文字列パラメーターとして使用可能で、信頼性を対象のエンドポイントで証明可能なデータを含むセッショントークンを作成します。対象のエンドポイントは共有シークレットでJWTの署名を確認して、信頼性とデータの整合性を検証できます。
JWT文字列を返します。
api.redirect.sendUserTo(url, options)
アクションが完了した直後に、ブラウザーを目的のurlにリダイレクトさせます。
apiオブジェクトへの参照を返します。
api.redirect.validateToken(options)
JWTトークンに含めて/continueエンドポイントに渡された暗号化済みのデータを取得すると同時に、そのデータの信頼性と整合性を検証します。
JWTトークンのペイロードを返します。
api.transaction
api.transaction.setResultUrl(url, options)
ユーザーがパスワードをリセットした後に、ブラウザーを目的のurlにリダイレクトさせます。