カスタムデータベース接続とアクションスクリプトのベストプラクティス
利用可能性はAuth0プランとログイン方式によって異なる
この機能が利用できるかどうかは、使用しているログイン実装とAuth0プラン(または契約)によります。詳細については、「価格設定」をお読みください。
拡張機能により、管理者はAuth0にカスタムログインを追加し、IDおよびアクセス管理(IdAM)のラストマイルソリューションを構築する手段として利用できます。それぞれの拡張機能のタイプは、Node.jsを使用し、Auth0テナントのAuth0プラットフォームで実行されます。
Auth0の拡張機能は複数の形式で提供されます。
Actions:Actionsは安全でテナント固有のバージョン管理された関数で、Node.jsで記述され、Auth0プラットフォームにある特定の拠点で実行されます。Actionsを使用し、カスタムログインでAuth0の機能をカスタマイズして拡張します。
ルール:ユーザーの認証アーティファクトが生成されたときに実行されます。例:
OpenID Connect(OIDC)のIDトークン
OAuth 2.0のアクセストークン
SAMLのアサーション
Hooks:ユーザーに関連しないアーティファクトの交換や、ユーザー登録前や登録後などユーザーのIDが作成される際に、追加の拡張機能を提供します。
以下は、Auth0の拡張機能製品を使用する際のベストプラクティスです。
カスタムデータベース接続および移行のためのスクリプトは、既存のユーザーIDストアとの統合や、独立またはレガシーのIDストアからの自動ユーザー移行が必要な場合に使用されます。構成の詳細については、「カスタムデータベース接続の作成
ユーザーの重複を避けるため、返される各ユーザープロファイルに一貫した
user_id
を設定してください。さらに、get_user
またはlogin
スクリプトで、2人の異なるユーザーに同じメールアドレスを返さず、両スクリプトが同じユーザーに返されることを確認してください。後方互換性を確保するために、カスタムDBスクリプトでは
app_metadata
をmetadata
と呼びます。データ転送が中断される可能性があるため、欠落している場合は、アクションを使用してapp_metadata
またはuser_metadata
に含むべきメタデータを取得してください。アクションでオーディエンスのアクセスを制限するようにしてください。
Auth0の拡張機能は、IdAM操作をカスタマイズするための包括的かつ高度な機能ですが、データベースが不適切または意図しない使用にさらされる可能性もあります。このセクションの文書は、設計者と実装者の両方に対するベストプラクティスを強調しています。Auth0の使用を始めている場合でも、少なくとも一度は全体を通して読むことをお勧めします。