データベース接続
Auth0は、識別子(メール、ユーザー名、または電話番号)とパスワードを使ってユーザーを認証するためのデータベース接続を提供します。これらの資格情報はAuth0ユーザーストアまたは独自のデータベースに安全に保存されます。
新しいデータベース接続の作成や、既存のデータベース接続の管理は、[Auth0 Dashboard] > [Authentication(認証)] > [Database(データベース)]で行えます。
シナリオ
Auth0はデフォルトでユーザーを保存するためのデータベースインフラストラクチャを提供します。このシナリオを使えば、データがすべてAuth0に保管されているので、認証プロセスを最高の効率で実行できます。
Auth0ホストのデータベースはとても安全です。パスワードはbcryptでハッシュ化され、プレーンテキストで保存・記録されることはありません。さまざまなレベルのパスワードセキュリティ要件を強制適用することもできます。詳細については、「Auth0接続におけるパスワード強度」をお読みください。
既存のユーザーストアをお持ちの場合、またはご自身のサーバーでユーザー資格情報の保存を希望する場合、Auth0を利用することでカスタムデータベース、またはリポジトリへ接続することができ、IDプロバイダーとして使用することができます。

このシナリオでは、ログインスクリプトを使用してユーザーを認証し、ユーザーがログインを試みるたびに実行します。任意で、サインアップ、メールの検証、パスワードのリセットに対するスクリプトの作成、およびユーザー機能の削除を行うことができます。
スクリプトはNode.jsコードです。Auth0は、ASP.NET Membership Provider、MongoDB、MySQL、PostgreSQL、SQL Server、Windows Azure SQL Database、Basic AuthでアクセスされるWebサービスなど、一般的なデータベース向けのテンプレートを提供しています。基本的に、カスタムスクリプトを使用すれば、ほぼすべての種類のデータベースやWebサービスに接続することができます。
このシナリオでは、使用者はレガシーのユーザーストアを保有しており、Auth0ストアに切り替えたい状況です。Auth0は自動移行機能を提供しており、ユーザーがログインするたびに一人ずつAuth0データベースにユーザーを追加します。これにより、ユーザーにパスワードのリセットを同時に要求することを避けることができます。詳細については、「データベースからの自動移行の構成」をお読みください。
[Auth0 Dashboard] > [Authentication(認証)] > [Database(データベース)]に移動し、編集したい接続名を選択します。
[Requires Username(ユーザー名の要求)]を見つけ、トグルボタンでユーザー名の要求を有効または無効にします。
これがログイン画面にどのように反映されるかを確認するには、[Try Connection(接続を試す)]ビューを選択します。[Requires Username(ユーザー名の要求)]を有効にすると、新規ユーザーは、サインアップ時にユーザー名とメールアドレスを入力する必要があります。

その後は、ユーザー名かメールアドレスでログインできます。[Requires Username(ユーザー名の要求)]が無効の間に登録したユーザーは、ユーザー名フィールドが保管されないため、メールアドレスでログインする必要があります。