api 引数のメソッドを呼び出すことで行います。
一般提供 (GA) 以前の期間に作成された Action を移行するには、通常、次の手順を実施します。
- 重大な変更点 セクションで説明しているとおりに、名前変更や場所の変更が行われたイベントプロパティへの参照を調整します。
- 望ましい副作用を記述したオブジェクトを組み立てて返す代わりに、副作用の実行 セクションで説明しているとおり、関連する
apiメソッドを呼び出すようにカスタムコードを更新します。 - リダイレクトコールバックを処理する必要がある Actions では、新たに公開された専用関数を使用します。
event.protocol === 'redirect-callback'に依存するコードを使用していた場合は、Redirect with Actions のページを確認してください。
破壊的変更
クエリおよびボディパラメーター
event.request.query と event.request.body オブジェクトを使用して直接アクセスできます。これらは、認可が GET リクエストまたは POST リクエストのいずれで開始されたかに関わらず利用できます。認可リクエストの一部として送信される多くのプロトコル固有のクエリまたはボディパラメーターは、現在では event.transaction オブジェクト上のトップレベルの値としても利用できます。ユースケースがサポートされていない場合を除き、event.request.query および event.request.body ではなく event.transaction を使用することを推奨します。これらの変更の対応関係を以下に示します。
| GA 前のプロパティ | GA のプロパティ |
|---|---|
event.actor.ip | event.request.ip |
event.actor.hostname | event.request.hostname |
event.actor.geoIp | event.request.geoip |
event.actor.language | event.request.language |
event.actor.method | event.request.method |
event.actor.userAgent | event.request.user_agent |
event.actor.body | event.request.body |
event.actor.query | event.request.query |
event.actor.query.audience | event.resource_server.identifier |
event.actor.query.scope | event.transaction.requested_scopes |
event.actor.query.acr_values | event.transaction.acr_values |
event.actor.query.ui_locales | event.transaction.ui_locales |
event.protocol | event.transaction.protocol |
context.secrets | event.secrets |
ユーザー プロファイルのプロパティ
event.user オブジェクトのプロパティは、Auth0 ユーザープロファイル構造 に合わせるために、キャメルケースからスネークケースへ変更されています。例えば、event.user.appMetadata は event.user.app_metadata に変更されました。
副作用の実行
api オブジェクトが用意されています。
ユーザーの user_metadata を更新する
このメソッドはコールバック内で使用すべきではありません。このメソッドを呼び出しても、メタデータは即座には更新されないためです。その代わりに、同じフロー内の複数の Actions で、このメソッドを複数回呼び出すことができます(1 つの Action で設定されたメタデータは一時オブジェクトに適用され、その後の Actions からも利用可能になります)。実行エンジンはそれらの変更を集約し、フローが完了する前にメタデータを一括で更新します。
ユーザーの app_metadata の更新
コールバック内ではこのメソッドを使用しないでください。このメソッドを呼び出しても、メタデータは即座には更新されません。その代わりに、同じフロー内の複数の Actions でこのメソッドを複数回呼び出すことができます(ある Action で設定されたメタデータは一時オブジェクトに適用されるため、後続の Actions でも利用できます)。エンジンはこれらの変更を集約し、フローが完了する前にメタデータをまとめて更新します。
ログインを拒否する
Error をスローしてもログインは拒否されますが、
api.access.deny を呼び出すことが推奨されます。