メインコンテンツへスキップ
パスワード変更スクリプトは、外部データベース内の指定されたユーザーパスワードを変更するために、定義された関数を実装します。この関数の名前はchangePasswordにすることをお勧めします。 このスクリプトはレガシーの認証シナリオでのみ使用され、外部データベースのユーザーパスワードを変更したい場合には必須です。ユーザーがパスワードリセットワークフローを実行するか、パスワード変更フローがまたはAuth0 から開始されるときに実行されます。

ChangePassword関数

changePassword関数は以下を行います。
  • 外部データベースでユーザーパスワードを更新します。
  • パスワード変更操作が成功した場合、true(またはlast_password_resetプロパティを含むオブジェクト)を返します。オブジェクトにlast_password_resetプロパティがある場合は、ユーザーのプロファイルで更新されます。
  • パスワード変更操作が失敗した場合、falseを返します。
  • 外部データベースにリーチできなかった場合は、エラーを返します。

定義

changePassword関数は3つのパラメーターを受け取り、callback関数を返します。
パラメータータイプ説明
email文字列Auth0および外部データベースにあるユーザーのメールアドレス。
newPassword文字列外部データベースでユーザーの新しいパスワードとして設定される値。この値はプレーンテキストとして関数に送信されます。外部データベースに送信される前に、暗号化する必要があります
callback関数パイプラインを通じてデータまたは操作結果データを渡すのに使用されます。

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

Encryption(暗号化)

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

コールバック関数

callback関数は2つのパラメーターを受け取り、エラーデータを渡すか、操作の結果を示すために使用されます。

定義

パラメータータイプ必須説明
errorオブジェクト必須エラーデータを含みます。
operationResultブール値任意パスワードの変更操作の結果を示します。
resultObjオブジェクト任意パスワードの変更操作が成功したことを示します。last_password_resetプロパティがある場合は、ユーザーのプロファイルで更新されます。

成功の場合

パスワード変更操作が成功した場合、callback関数を返し、errorパラメーターにはnullを、operationResultパラメーターにはtrueを渡します。

成功を返し、last_password_reset属性を更新する

パスワード変更操作が成功した場合、callback関数を返し、errorパラメーターにはnullを、profileパラメーターにはオブジェクト値を渡します。オブジェクトにlast_password_reset属性がある場合は、ユーザーのプロファイルで更新されます。

失敗の場合

パスワード変更操作が失敗した場合、callback関数を返し、errorパラメーターにはnullを、operationResultパラメーターにはfalseを渡します。

エラーの場合

エラーが発生した場合は、callback関数を返し、関連するエラー情報をerrorパラメーターとして渡します。

言語固有のスクリプトの例

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

もっと詳しく