メインコンテンツへスキップ
通常、カスタムデータベース接続は、認証のために独自のレガシー ID ストアへのアクセスを提供する場合 (レガシー認証と呼ばれることもあります) や、自動移行によるユーザーインポートを実行する場合 (trickle または lazy migration と呼ばれることがよくあります) に使用します。また、Auth0 のマルチテナントアーキテクチャを使用するシナリオでは、カスタムデータベース接続を使って Auth0 テナントへのアクセスをプロキシすることもできます。詳しくは、Multi-Tenant Applications Best Practicesを参照してください。 通常、カスタムデータベース接続は を使用して作成および設定します。データベース接続を作成してから、Use my own database をオンにすると、データベース Action スクリプトを編集できるようになります。カスタムデータベース接続は、Auth0 の Create a connection endpointauth0 戦略を使用して作成および設定することもできます。
Auth0 Dashboard Authentication Database Connection Custom Database Settings Use Own Database Enabled
以下に示すように、カスタムデータベース接続はログインワークフローの一部として使用され、認証またはユーザーインポートのために独自のレガシー ID ストアからユーザーの ID 情報を取得します。
Custom Database Connection Flow
カスタムデータベース接続では、すべてのデータベース接続タイプに共通する要素に加えて、レガシー ID ストアと連携する際に使用するカスタムコードである Action スクリプトを設定できます。設定するスクリプトは、レガシー認証用の接続を作成するか、自動移行用の接続を作成するかによって異なります。 Action スクリプトは無名関数として実装することもできますが、無名関数では、例外的なエラー状態によって生成されるコールスタックを解釈する際のデバッグが困難になります。利便性のため、各 Action スクリプトには関数名を付けることをお勧めします。推奨される名前については、Custom Database Action Script Execution Best Practicesを参照してください。 レガシー認証のシナリオでは、新しいユーザーレコードは作成されません。ユーザーはレガシー ID ストアに残り、Auth0 はユーザーの認証時にそこに含まれる ID を使用します。カスタムデータベース接続は、 ワークフロー以外でも使用されます。たとえば、接続の changePassword Action スクリプトは、レガシー ID ストアに存在するユーザーに対してパスワード変更操作が発生したときに呼び出されます。

自動移行

自動移行では、Auth0 は Auth0 が管理する ID ストア (データベース) に新しいユーザーを作成します。ユーザーの認証時には、Auth0 は Auth0 管理の ID ストア内のアイデンティティを使用します。これを行うには、まず Auth0 がレガシー ID ストアに対してユーザーを認証する必要があり、それに成功した場合にのみ、Auth0 管理データベースに新しいユーザーが作成されます。Auth0 は、認証時に指定されたものと同じ ID とパスワードを使用して新しいユーザーを作成します。 自動移行シナリオでは、通常、ユーザーの作成は Login Action スクリプトの完了後に行われます。レガシー ID ストアからのユーザー削除は、Login スクリプト内でインライン処理として実行しようとせず、独立したプロセスとして実行することをお勧めします。これにより、移行中にエラーが発生した場合の意図しないユーザー削除を防ぐことができます。 自動移行では、ユーザーはレガシー ID ストアに残るため、必要に応じて削除またはアーカイブできます。副次的な影響として、ユーザーが Auth0 から削除されても、レガシー データストアには残ったままになる場合があります。この場合、削除されたユーザーがログインすると、Login または Get User スクリプトが実行され、そのユーザーが再びレガシー ID ストアから移行される可能性があります。 意図的に削除したユーザーが意図せず再作成されるのを防ぐため、Login または Get User スクリプトが完了する前、かつ最終的にレガシー ストアから削除する前に、レガシー ストア内のユーザーのアイデンティティを移行済みとしてマークすることをお勧めします。

サイズ

Action スクリプトの合計サイズは、100 KB を超えないようにすることを推奨します。サイズが大きいほど、Auth0 プラットフォームで使用されるパッケージ化および転送の処理によりレイテンシが増加し、システムのパフォーマンスに影響します。なお、この 100 KB の上限には、require ステートメントで参照される npm モジュールは含まれません。

詳細