メインコンテンツへスキップ
credentials-exchange Actions トリガーの API オブジェクトには、以下が含まれます。

api.access

アクセストークンの利用可否を制御します。

api.access.deny(code, reason)

現在のトークン交換を拒否としてマークします。
code
string
ログインを拒否する理由を示す、プロトコル固有のエラーコードです。使用可能な値: invalid_scope, invalid_request, server_error
reason
string
optional
アクセストークンの付与を拒否する理由について、人が読める形で説明したものです。

api.accessToken

発行されるアクセストークンの変更をリクエストします。

api.accessToken.setCustomClaim(key, value)

発行されるアクセストークンにカスタムクレームを設定します。
key
string
クレームの名前 (完全修飾URLの指定が必要になる場合があることに注意してください) 。
value
unknown
クレームの値。

api.cache

キャッシュを変更します。

api.cache.delete(key)

指定された key に対応するキャッシュ値のレコードが存在する場合は、削除します。
key
string
削除するキャッシュレコードのキーです。

api.cache.get(key)

指定したキーに対応するキャッシュ値のレコードが存在する場合は、それを取得します。 レコードが見つかった場合、キャッシュされた値は返されるオブジェクトの value プロパティに格納されます。
key
string
キャッシュに保存されているレコードのキーです。

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

指定したキーに対応する文字列値をキャッシュに保存または更新します。 このキャッシュに保存された値は、設定された Trigger にスコープされます。 これらの値には、Actions Cache Limits が適用されます。 この方法で保存された値の有効期間は、指定した ttl または expires_at最大 その値までです。有効期間が指定されていない場合は、デフォルトで 15 分が使用されます。有効期間は、 Actions Cache Limits に記載されている最大時間を超えることはできません。 重要: このキャッシュは、短期間のみ有効な一時的なデータ向けに設計されています。項目は、 指定した有効期間内であっても、後続のトランザクションで利用できない場合があります。
key
string
保存するレコードのキーです。
value
string
保存するレコードの値です。
options
cachesetoptions
optional
キャッシュの動作を調整するためのオプションです。

api.transaction

[早期アクセス] トランザクションを変更します。

api.transaction.addTargetScope(scope)

[早期アクセス] ターゲットスコープセットにスコープを追加します。追加されたスコープは、 すべての Actions の完了後にクライアントグラントとの積集合が計算されます。グラントに存在しないスコープは、 最終的なアクセストークンには通知なく含まれなくなります。
scope
string
追加するスコープ。
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.addTargetScope('read:reports');
};

api.transaction.removeTargetScope(scope)

[Early Access] ターゲットスコープセットからスコープを削除します。
scope
string
削除するスコープです。
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.removeTargetScope('admin:full');
};

api.transaction.setTargetScopes(scopes)

[早期アクセス] ターゲットスコープセット全体を置き換えます。新しいスコープは、 すべての Actions の完了後にクライアントグラントとの共通部分のみが適用されます。グラントに含まれない スコープは、最終的なアクセストークンから自動的に除外されます。
scopes
array of strings
新しいターゲットスコープセット。
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.setTargetScopes(['read:users', 'write:users']);
};

api.transaction.clearTargetScopes()

[早期アクセス] ターゲットスコープセットからすべてのスコープを削除します。
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.transaction.clearTargetScopes();
};