データベースに、
id、nickname、email、password などの ユーザープロファイル属性 を保存するための適切なフィールドがあることを確認してください。Auth0 のユーザープロファイルスキーマについては、Normalized User Profiles を参照してください。ユーザープロファイルの更新の詳細については、Update User Profiles Using Your Database を参照してください。- ASP.NET Identity
- MongoDB
- MySQL
- PostgreSQL
- SQLServer
- Windows Azure SQL Database
- Basic Auth 経由でアクセスする Web サービス
ネットワークファイアウォール
ファイアウォールの内側にある環境では、この機能を正しく動作させるために、適切な Auth0 IP アドレスを許可リストに追加する必要がある場合があります。
Auth0 Dashboard で接続を作成する
- Auth0 Dashboard > Authentication > Database に移動し、Create DB Connection を選択します。
- 接続の設定を行い、Create を選択します。
| パラメーター | 説明 |
|---|---|
| Name | 接続の名前です。名前は英数字で始まり、英数字で終わる必要があります。また、使用できるのは英数字とダッシュのみで、35 文字以内である必要があります。 |
| Choose one or more attributes as user identifiers | 接続の識別子属性を 1 つ以上選択します。 |
| Choose one or more authentication methods | ユーザーに提示する認証方法を選択します。 |
| Use my own database | Auth0 に接続する独自のデータベースがある場合は、オンにします。 |
| Disable Sign Ups | 公開エンドポイントからの新規ユーザー登録を無効にします。 |
| Promote Connection to Domain Level | この接続をドメインレベルに昇格して、サードパーティアプリケーションで使用できるようにします。 |
- Attributes
- Authentication Methods
- Custom Database
- Applications
-
Custom Database ビューを選択し、Use my own database スイッチを有効にします。

データベースアクションスクリプトを作成する
login スクリプトの設定は必須です。ユーザー関連機能の追加スクリプトは任意です。
利用可能なデータベースアクションスクリプトは次のとおりです。
| 名前 | 説明 | パラメーター |
|---|---|---|
| Login 必須 | ユーザーがログインを試みるたびに実行されます。 | email, password |
| Create | ユーザーがサインアップしたときに実行されます。 | user |
| Verify | ユーザーが確認リンクをたどった後に実行されます。 | email |
| Change Password | パスワード再設定のリクエスト後、ユーザーが確認リンクをクリックすると実行されます。 | email, newPassword |
| Get User | ユーザーを認証せずに、データベースからユーザープロファイルを取得します。 | email |
| Delete | API または Auth0 Dashboard を使用してユーザーが削除されたときに実行されます。 | id |
Login スクリプトを作成する
複数のデータベース間でのユーザー ID の衝突を回避する
返されるユーザープロファイルの
id (または user_id) プロパティは、Auth0 がユーザーを識別するために使用します。複数のカスタムデータベース接続を使用している場合は、ユーザー ID の衝突を避けるため、id の値がすべてのカスタムデータベース接続で一意である必要があります。推奨される方法は、id の値の先頭に接続名 (空白は削除) を付けることです。ユーザー ID の詳細については、Identify Users を参照してください。- Use my own database スイッチをオンにすると、Database Action Scripts 領域が有効になります。Login タブが選択されていることを確認してください。
-
Templates ドロップダウンを使用して、MySQL データベーススクリプトテンプレートを選択します。
上記のスクリプトは MySQL データベースに接続し、
email == user.emailに一致する最初のユーザーを取得するクエリを実行します。 次に、bcrypt.compareSyncメソッドを使用してパスワードが一致することを検証し、一致した場合はid、nickname、emailを含むユーザープロファイル情報を格納したオブジェクトを返します。 このスクリプトは、これらの列を含むusersテーブルが存在することを前提としています。Login スクリプトから返されたidは、ユーザープロファイルのユーザー ID 属性の構築に使用されます。 - Save and Try を選択します。
-
ポップアップモーダルでメールアドレスとパスワードを入力し、Try をクリックします。利用可能なランタイムの一覧から選択できるドロップダウンが表示され、現在のランタイムが先頭に表示されます。

組織向けカスタムデータベースのサポート
context パラメーターを使うことで、id、name、metadata などの組織の詳細をカスタムデータベースのアクションスクリプトで利用できるようになります。関連するアクションが組織のコンテキストで発生すると、組織データは context オブジェクトを通じて渡されます。たとえば、ユーザーが組織のログインプロンプトで認証すると、login アクションスクリプトにそのデータが渡されます。詳しくは、Database Connections を参照してください。
コンテキストオブジェクトを有効にする
- Auth0 Dashboard > Authentication > Database に移動します。
- 使用するデータベース接続を選択します。
- Custom Database タブで Context objects in database scripts を見つけ、Enable を選択します。
- 確認のプロンプトで Confirm を選択します。
組織コンテキストを使用する
context オブジェクトをカスタムデータベースアクションスクリプトに追加できます。イベントが組織コンテキストで発生すると、対応するデータが以下の形式でカスタムデータベースアクションスクリプトから利用できるようになります。
- ログイン
- 作成
- 確認
- パスワード変更
- ユーザー取得
- 削除
空のコンテキストは常に
delete スクリプトに渡されます。設定パラメーターを追加する
configuration オブジェクトを使ってその値にアクセスできます (例: configuration.MYSQL_PASSWORD) 。
追加したパラメーターをスクリプト内で使用して接続を構成します。たとえば、MySQL Login スクリプトに次のような内容を追加できます。