アクションのトリガー: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 |
任意のオブジェクト。 |
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エポックからのミリ秒単位で指定した絶対有効期限です。キャッシュ済みのレコードは早期に削除されることはあっても、
注意:この値が |
options.ttl |
任意の数値。このキャッシュエントリの存続時間をミリ秒単位で指定します。キャッシュ済みのレコードは早期に削除されることはあっても、
注意:この値が |
api.redirect
api.redirect.encodeToken(options)
リダイレクト先(sendUserTo
経由)のクエリ文字列パラメーターとして使用可能で、信頼性を対象のエンドポイントで証明可能なデータを含むセッショントークンを作成します。対象のエンドポイントは共有シークレットでJWTの署名を確認して、信頼性とデータの整合性を検証できます。
JWT文字列を返します。
パラメーター | 説明 |
---|---|
options |
オプション。結果のURLのクエリパラメーターに機密データをどのように暗号化するのかを構成します。 |
options.expiresInSeconds |
数値。トークンが期限切れになるまでの秒数です。デフォルトは900秒です。 |
options.payload |
オプション。リダイレクト先に渡され、信頼性と整合性が証明可能であるべきデータです。 |
options.secret |
文字列。リダイレクト先と共有され、JWTの署名に使用されるシークレットです。この値はシークレットとして保管され、 |
api.redirect.sendUserTo(url, options)
アクションが完了した直後に、ブラウザーを目的のurl
にリダイレクトさせます。
api
オブジェクトへの参照を返します。
パラメーター | 説明 |
---|---|
url |
文字列。リダイレクト先のURLです。 |
options |
オプション。リダイレクトURLに追加される任意のクエリ文字列パラメーターを表すオブジェクトです。 |
options.query |
オプション。リダイレクトURLに追加する追加のクエリ文字列パラメーターです。 |
api.redirect.validateToken(options)
JWTトークンに含めて/continue
エンドポイントに渡された暗号化済みのデータを取得すると同時に、そのデータの信頼性と整合性を検証します。
JWTトークンのペイロードを返します。
パラメーター | 説明 |
---|---|
options |
オプション。リダイレクト後に、JWTトークンに含めて |
options.secret |
文字列。トークンの暗号化に使用されたシークレットです。 |
options.tokenParameterName |
文字列。 |
api.transaction
api.transaction.setResultUrl(url, options)
ユーザーがパスワードをリセットした後に、ブラウザーを目的のurl
にリダイレクトさせます。
パラメーター | 説明 |
---|---|
url |
文字列。パスワードの更新後にユーザーのリダイレクト先となるURLです。URLが検証済みでユーザーに安全であることを確認してください。 |
options |
オプション。リダイレクト先のURLに追加する任意の追加クエリ文字列パラメーターを表すオブジェクトです。 |
options.query |
オプション。リダイレクト先のURLに追加する追加のクエリ文字列パラメーターです。 |