アクションのトリガー:post-challenge - APIオブジェクト

post-challengeアクショントリガーのAPIオブジェクトは以下を含みます。

api.access

ログイン試行の拒否などでユーザーのログインアクセスを変更します。

api.access.deny(reason)

現在のログイン試行を「拒否」としてマークします。これにより、エンドユーザーがログインフローを完了できなくなります。この操作はメタデータの変更など、このアクションが要求した他のユーザー関連の副次的な影響をキャンセルしません。このアクションが完了すると、ログインフローは即座に中断され、以降のアクションは実行されません。

apiオブジェクトへの参照を返します。

パラメーター 説明
reason

文字列。人間に読める形式でログインの拒否を説明します。エンドユーザーのインターフェイスに直接表示することができます。

api.authentication

現在のユーザーセッションについて認証状態の変更を要求します。

api.authentication.challengeWith(factor, [options])

提供された要素と任意の追加要素を使用して多要素認証のチャレンジを要求します。

多要素チャレンジが要求されると、ユーザーがチャレンジを満了するまで後続のアクションは実行されません。チャレンジは以下の場合に満了したと見なされます。

  • このトランザクションで要素一致のチャレンジをすでに満了している
  • デフォルト要素のチャレンジを正常に満了した
  • additionalFactorsに記述されている任意要素のチャレンジのいずれかを正常に満了した

注意:ユーザーがチャレンジの要件をまだ満たしていない場合には、要素のチャレンジ画面が表示されます。additionalFactorsが提供されている場合は、ユーザーがデフォルト以外のチャレンジを選択できます。

パラメーター 説明
factor

FactorSelector。最初のチャレンジに使用されるべき要素の種類(およびそのオプション)を記述したオブジェクトです。

options

任意のオブジェクト。additionalFactorsをプロパティとして指定することもできる追加のオプションです。

api.authentication.challengeWithAny([factors])

提供済みの要素または任意の追加要素のいずれかを使用して多要素認証のチャレンジを要求します。

多要素チャレンジが要求されると、ユーザーがチャレンジを満了するまで後続のアクションは実行されません。チャレンジは以下の場合に満了したと見なされます。

  • このトランザクションで要素一致のチャレンジをすでに満了している
  • デフォルト要素のチャレンジを正常に満了した

注意:ユーザーがチャレンジの要件をまだ満たしていない場合には、要素のチャレンジ画面が表示されます。優先する特定の要素がある場合は、api.authentication.challengeWith()メソッドが優先されます。

パラメーター 説明
factor

FactorSelector[]。要素の配列です。

api.cache

実行間で維持されるデータの保管と取得を行います。

api.cache.delete(key)

提供されたkeyにキャッシュ済みの値が存在する場合は、それを記述したレコードを削除します。

値がキャッシュから削除されると、CacheWriteResultオブジェクトにtype: "success"を含めて返します。操作に失敗すると、type: "error"を返します。

エラーの場合には、返すオブジェクトにcodeプロパティを含めて、失敗の詳細を示します。

パラメーター 説明
key

文字列。キャッシュに保管されているレコードのキーです。

api.cache.get(key)

提供されたkeyにキャッシュ済みの値が存在する場合は、それを記述したレコードを取得します。レコードが見つかった場合には、返されたオブジェクトのvalueプロパティにキャッシュ済みの値があります。

提供されたkeyにキャッシュ済みの項目が存在する場合は、それを記述したレコードを返します。キャッシュレコードは以下のプロパティを含むオブジェクトです。

  • value:キャッシュされた値です。
  • expires_at:UNIXエポックからの経過ミリ秒数で表したレコードの有効期間です。

重要: このキャッシュは、短命で一時的なデータ向けに設計されています。項目が所定のライフタイム内であったとしても、後のトランザクションでは利用できないかもしれません。

パラメーター 説明
key

文字列。キャッシュに保管されているレコードのキーです。

api.cache.set(key, value, [options])

指定されたkeyのキャッシュに文字列値を保管または更新します。

このキャッシュに保管された値は、それを設定するトリガーにスコープが限定されます。これはアクションのキャッシュ制限の対象になります。

このように保管された値には、指定されたttlまたはexpires_at値までのライフタイムがあります。ライフタイムが指定されない場合には、デフォルトのライフタイムである15分が使用されます。ライフタイムはアクションのキャッシュ制限が定める最大値を超過してはいけません。

パラメーター 説明
key

文字列。キャッシュに保管されているレコードのキーです。

value

文字列。保管するレコードの値です。

options

任意のオブジェクト。キャッシュの動作を調整するためのオプションです。

options.expires_at

任意の数値。UNIXエポックからのミリ秒単位で指定した絶対有効期限です。キャッシュ済みのレコードは早期に削除されることはあっても、expires_atで指定された時点を過ぎて存続することはありません。

注意:この値がttlで指定されている場合は指定するべきではありません。両方で指定された場合、2つの中で早い方の有効期限が適用されます。

options.ttl

任意の数値。このキャッシュエントリの存続時間をミリ秒単位で指定します。キャッシュ済みのレコードは早期に削除されることはあっても、ttlで指定された時点を過ぎて存続することはありません。

注意:この値がexpires_atで指定されている場合は指定するべきではありません。両方で指定された場合、2つの中で早い方の有効期限が適用されます。

api.redirect

api.redirect.encodeToken(options)

リダイレクト先(sendUserTo経由)のクエリ文字列パラメーターとして使用可能で、信頼性を対象のエンドポイントで証明可能なデータを含むセッショントークンを作成します。対象のエンドポイントは共有シークレットでJWTの署名を確認して、信頼性とデータの整合性を検証できます。

JWT文字列を返します。

パラメーター 説明
options

オプション。結果のURLのクエリパラメーターに機密データをどのように暗号化するのかを構成します。

options.expiresInSeconds

数値。トークンが期限切れになるまでの秒数です。デフォルトは900秒です。

options.payload

オプション。リダイレクト先に渡され、信頼性と整合性が証明可能であるべきデータです。

options.secret

文字列。リダイレクト先と共有され、JWTの署名に使用されるシークレットです。この値はシークレットとして保管され、event.secrets['SECRET_NAME']を使用して取得されなければなりません。

api.redirect.sendUserTo(url, options)

アクションが完了した直後に、ブラウザーを目的のurlにリダイレクトさせます。

apiオブジェクトへの参照を返します。

パラメーター 説明
url

文字列。リダイレクト先のURLです。

options

オプション。リダイレクトURLに追加される任意のクエリ文字列パラメーターを表すオブジェクトです。

options.query

オプション。リダイレクトURLに追加する追加のクエリ文字列パラメーターです。

api.redirect.validateToken(options)

JWTトークンに含めて/continueエンドポイントに渡された暗号化済みのデータを取得すると同時に、そのデータの信頼性と整合性を検証します。

JWTトークンのペイロードを返します。

パラメーター 説明
options

オプション。リダイレクト後に、JWTトークンに含めて/continueエンドポイントに渡された暗号化済みのデータを取得するためのオプションです。

options.secret

文字列。トークンの暗号化に使用されたシークレットです。

options.tokenParameterName

文字列/continueエンドポイントに送信されたクエリまたは本文のパラメーターの名前です。デフォルトはsession_tokenです。

api.transaction

api.transaction.setResultUrl(url, options)

ユーザーがパスワードをリセットした後に、ブラウザーを目的のurlにリダイレクトさせます。

パラメーター 説明
url

文字列。パスワードの更新後にユーザーのリダイレクト先となるURLです。URLが検証済みでユーザーに安全であることを確認してください。

options

オプション。リダイレクト先のURLに追加する任意の追加クエリ文字列パラメーターを表すオブジェクトです。

options.query

オプション。リダイレクト先のURLに追加する追加のクエリ文字列パラメーターです。