Change Email スクリプトは、ユーザーのメールアドレスまたはメールアドレスの確認ステータスが変更されたときに、定義された関数を実行します。この関数の名前は changeEmail にすることを推奨します。
このスクリプトは、レガシー認証シナリオでのみ使用されます。Auth0 と外部データベースの両方で、同じ操作内でユーザーのメールアドレス (および/またはメールアドレスの確認ステータス) を更新する場合に必要です。
Change Email スクリプトは、 では設定できません。このスクリプトを管理するには、Auth0 の の Create a connection エンドポイントまたは Update a connection エンドポイント、あるいは Auth0 Deploy CLI を使用する必要があります。
Auth0 Dashboard からカスタムデータベース接続の Database Action Scripts を管理すると、保存時に Change Email スクリプトは自動的に削除されます。誤って Change Email スクリプトが削除されないよう、接続を管理する際は Auth0 Management API または Auth0 Deploy CLI を使用してください。カスタムデータベースでユーザーのメールアドレスを手動で変更した場合は、ユーザーを別途 patch する必要があります。Auth0 がその変更を自動的に検出することはありません。
changeEmail 関数では、次の処理を行う必要があります。
- 外部データベース内のユーザーのメールアドレスを更新する。
- 処理に失敗した場合、またはエラーが発生した場合は、エラーを返す。
changeEmail 関数は 4 つのパラメーターを受け取り、callback 関数を返します。
これは、changeEmail 関数の実装方法を示す擬似 JavaScript の例です。
callback 関数は、2 つのパラメーターを受け取り、関数を返します。
メールアドレスの変更処理が成功した場合は、callback 関数を返し、error パラメーターには null を、operationResult パラメーターには true を渡します。
メールアドレスの変更操作が失敗した場合は、callback 関数を返し、error パラメーターに null、operationResult パラメーターに false を渡します。
エラーが発生した場合は、関連するエラー情報を error パラメーターとして渡して callback 関数を呼び出します。