メインコンテンツへスキップ
作成スクリプトは、ユーザーが作成されるときに定義された関数を実装します。この関数の名前はcreateにすることをお勧めします。 これは任意のスクリプトです。これが有効になっている場合は、ユーザーがユニバーサルログイン経由でサインアップするとき、またはユーザーがまたはAuth0 で作成されるときに、Auth0がこのスクリプトを実行し、対応するユーザーレコードを外部データベースに作成します。 ユーザーがAuth0で作成されるときは、Auth0が一連のスクリプトを呼び出します。
  1. ユーザー取得:ユーザーがまだAuth0や外部データベースに存在しないことを確認する。
  2. 作成:ユーザーを外部データベースに作成する。
  3. ログイン:ユーザーが正常に作成されたことを確認する。

作成関数

create関数は以下を行います。
  • ユーザーのプロファイルデータを外部データベースのAPIに送信する。
  • ユーザー作成の操作に失敗した場合には、エラーを返す。

定義

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

これは疑似JavaScriptを使った例で、どのようにすればcreate関数を実装できるかがわかります。言語固有の例については、「言語固有のスクリプトの例」をお読みください。

Encryption(暗号化)

パスワード資格情報を非暗号化形式でログ、保存、または送受信してはいけません。
bcryptのような暗号学的ハッシュの暗号化ライブラリを使ってパスワード値を暗号化し、潜在的なデータ漏洩を防ぎます。

コールバック関数

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

定義

成功の場合

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

エラーの場合

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

ValidationErrorタイプのオブジェクト

ValidationErrorのカスタムエラータイプのオブジェクトを使うと、テナントログで表示されるデータを渡すことができます。
コンストラクター
ValidationErrorコンストラクターは、最大2つのパラメーターを受け取ります。

ユーザーがすでに存在するというエラーを返す

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

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

userオブジェクトパラメーターには、ユーザー作成プロセスから取得した事前定義された一連のプロパティが含まれます。

ユーザー名プロパティ

カスタムデータベース接続の[Requires Username(ユーザー名を要求する)]設定が有効になっている場合は、ログインおよびユーザー取得スクリプトがusernameプロパティをサポートする必要があるため、ユーザー名プロパティを外部データベースに保存しなければなりません。

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

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

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

サインアップのプロセス中にカスタムフィールドを作成して使用する場合、これらは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. Auth0のActions リアルタイムログconsole.log()のステートメントを確認します。
  2. レガシーデータベースでユーザーを探し、適宜削除します。ユーザーの状態の一部がAuth0にある場合は、Management APIのユーザー削除エンドポイントまたは接続ユーザー削除エンドポイントを使用します。
  3. [Import Mode(インポートモード)] が無効になっていることを確認してから、作成スクリプトを構成します。

もっと詳しく