メインコンテンツへスキップ
Create スクリプトは、ユーザー作成時に定義された関数を実行します。この関数名は create にすることを推奨します。 このスクリプトは任意です。有効にすると、ユーザーが からサインアップした場合、または または Auth0 を通じて作成された場合に、Auth0 はこのスクリプトを実行し、外部データベースに対応するユーザーレコードを作成します。 Auth0 でユーザーが作成されると、Auth0 は一連のスクリプトを呼び出します。
  1. Get User: ユーザーが Auth0 または外部データベースにまだ存在していないことを確認します。
  2. Create: 外部データベースにユーザーを作成します。
  3. Login: ユーザーが正常に作成されたことを確認します。

Create 関数

create 関数では、次の処理を行う必要があります。
  • ユーザーのプロフィールデータを外部データベースの API に送信します。
  • ユーザー作成に失敗した場合は、エラーを返します。

定義

create 関数は 2 つのパラメーターを受け取り、callback 関数を返します。

これは、create 関数の実装方法を示す擬似 JavaScript の例です。言語別の例については、言語別のスクリプト例 を参照してください。

暗号化

パスワード認証情報を、暗号化されていない状態のままログに出力したり、保存したり、転送したりしないでください。
データ漏えいの可能性を防ぐため、bcrypt などの暗号学的ハッシュライブラリを使用してパスワード値をハッシュ化します。

コールバック関数

callback 関数は、1 つのパラメーターを受け取り、関数を返します。

定義

成功を返す

ユーザーの作成処理が成功した場合は、callback 関数を返し、error パラメーターに null を渡します。

エラーを返す

エラーが発生した場合は、コールバック関数を返し、error パラメーターに関連するエラー情報を渡します。

ValidationError 型オブジェクト

ValidationError カスタムエラー型オブジェクトを使用すると、テナントログに表示するデータを渡せます。
コンストラクター
ValidationError コンストラクターは、最大 2 つのパラメーターを受け取ります。

ユーザーがすでに存在することを示すエラーを返す

errorCode パラメーターに user_exists を指定してエラーを返すと、Auth0 は fs のテナントログイベントを記録します。

ユーザーオブジェクトパラメーター

user オブジェクトパラメーターには、ユーザー作成プロセスで設定される、あらかじめ定義された一連のプロパティが含まれます。

Username プロパティ

カスタムデータベース接続で Requires Username 設定が有効になっている場合、Login スクリプトと Get User スクリプトは username プロパティに対応している必要があるため、これを外部データベースに保存する必要があります。

ユーザーとアプリのメタデータ

user_metadataapp_metadata のプロパティを外部データベースに保存する必要はありません。これらの値は、Auth0 が内部的に作成するユーザープロファイルレコードの一部として自動的に保存されます。

カスタムサインアップフィールド

サインアップ時にカスタムフィールドを作成して使用すると、それらのフィールドはuserオブジェクトに含まれます。

言語別のスクリプト例

Auth0 では、以下の言語/技術向けのサンプルスクリプトを提供しています。

JavaScript

ASP.NET Membership Provider (MVC3 - Universal Providers)

ASP.NET Membership Provider (MVC4 - Simple Membership)

MongoDB

MySQL

PostgreSQL

SQL Server

Windows Azure SQL Database

Basic 認証を使用したリクエスト

トラブルシューティング

レガシーデータベースでも Auth0 でもユーザーを作成できない場合:
  1. Actions Real-Time Logsconsole.log() の出力を確認します。
  2. レガシーデータベースでユーザーを見つけ、必要に応じて削除します。ユーザーが Auth0 に不完全な状態で存在する場合は、Management API の Delete a User エンドポイントまたは Delete a Connection User エンドポイントを使用します。
  3. Import Mode が無効になっていることを確認してから、create スクリプトを設定します。

詳細