> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# データベース接続

> Auth0のユーザーストアまたは独自のユーザーストアを使用してデータベース接続を作成および使用する方法を学びます。

Auth0は、識別子（メール、ユーザー名、または電話番号）とパスワードを使ってユーザーを認証するためのデータベース接続を提供します。これらの資格情報はAuth0ユーザーストアまたは独自のデータベースに安全に保存されます。

新しいデータベース接続の作成や、既存のデータベース接続の管理は、[［Auth0 Dashboard］ > ［Authentication（認証）］ > ［Database（データベース）］](https://manage.auth0.com/#/connections/database)で行えます。

## シナリオ

<Tabs>
  <Tab title="Auth0ユーザーストア">
    Auth0はデフォルトでユーザーを保存するためのデータベースインフラストラクチャを提供します。このシナリオを使えば、データがすべてAuth0に保管されているので、認証プロセスを最高の効率で実行できます。

    Auth0ホストのデータベースはとても安全です。パスワードは **bcrypt** でハッシュ化され、プレーンテキストで保存・記録されることはありません。さまざまなレベルのパスワードセキュリティ要件を強制適用することもできます。詳細については、「[Auth0接続におけるパスワード強度](/docs/ja-jp/authenticate/database-connections/password-strength)」をお読みください。

    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
      Auth0では、データベース接続に対して、ユーザーとIPアドレスごとにログイン試行の反復回数が制限されます。詳細については、「[ユーザー/パスワード認証のレート制限](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/database-connections-rate-limits)」をお読みください。
    </Callout>
  </Tab>

  <Tab title="お客様のユーザーストア">
    既存のユーザーストアをお持ちの場合、またはご自身のサーバーでユーザー資格情報の保存を希望する場合、Auth0を利用することで[カスタムデータベース](/docs/ja-jp/authenticate/database-connections/custom-db)、またはリポジトリへ接続することができ、IDプロバイダーとして使用することができます。

    <Frame>
      <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/itywf6vBRFUC2Nea/docs/images/ja-jp/cdy7uua7fh8z/3SNKwx0KzkUwbodqUQbtvW/95658bb14474c309dc2e6fa42edc6559/2025-01-10_10-00-52.png?fit=max&auto=format&n=itywf6vBRFUC2Nea&q=85&s=f5d945add1b5d2bff7cb0847102ab2b6" alt="" width="900" height="1067" data-path="docs/images/ja-jp/cdy7uua7fh8z/3SNKwx0KzkUwbodqUQbtvW/95658bb14474c309dc2e6fa42edc6559/2025-01-10_10-00-52.png" />
    </Frame>

    このシナリオでは、ログインスクリプトを使用してユーザーを認証し、ユーザーがログインを試みるたびに実行します。任意で、サインアップ、メールの検証、パスワードのリセットに対する[スクリプトの作成](/docs/ja-jp/authenticate/database-connections/custom-db/templates)、およびユーザー機能の削除を行うことができます。

    スクリプトはNode.jsコードです。Auth0は、ASP.NET Membership Provider、MongoDB、MySQL、PostgreSQL、SQL Server、Windows Azure SQL Database、Basic AuthでアクセスされるWebサービスなど、一般的なデータベース向けの[テンプレート](/docs/ja-jp/authenticate/database-connections/custom-db/templates)を提供しています。基本的に、カスタムスクリプトを使用すれば、ほぼすべての種類のデータベースやWebサービスに接続することができます。

    <Warning>
      Webtask.ioとWebtask CLIには、2018年7月17日より前に作成されたテナントしかアクセスできません。それより新しいテナントをご利用のエンタープライズのお客様は、アカウント担当者にアクセス権をリクエストしてください。その他のリクエストには、[Auth0お問い合わせフォーム](https://auth0.com/get-started?place=documentation%20post\&type=link\&text=auth0%20contact%20form)をご利用いただければ、個別に対応いたします。
    </Warning>
  </Tab>

  <Tab title="Auth0への移行">
    このシナリオでは、使用者はレガシーのユーザーストアを保有しており、Auth0ストアに切り替えたい状況です。Auth0は自動移行機能を提供しており、ユーザーがログインするたびに一人ずつAuth0データベースにユーザーを追加します。これにより、ユーザーにパスワードのリセットを同時に要求することを避けることができます。詳細については、「[データベースからの自動移行の構成](/docs/ja-jp/manage-users/user-migration/configure-automatic-migration-from-your-database)」をお読みください。
  </Tab>

  <Tab title="ユーザー名の要求">
    1. [**［Auth0 Dashboard］ > ［Authentication（認証）］ > ［Database（データベース）］** ](https://manage.auth0.com/#/connections/database)に移動し、編集したい接続名を選択します。
    2. **［Requires Username（ユーザー名の要求）］** を見つけ、トグルボタンでユーザー名の要求を有効または無効にします。

           <Frame>
             <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/1FU_hDyg-ytA7ilg/docs/images/ja-jp/cdy7uua7fh8z/1MlOrFmcSCOCRYKRxWz6xT/4986c3598864b76db4babb605d75b1e4/2025-01-13_16-31-33.png?fit=max&auto=format&n=1FU_hDyg-ytA7ilg&q=85&s=95d96c330d82947df207196421093eed" alt="ユーザー名の要求設定の有効化または無効化" width="899" height="569" data-path="docs/images/ja-jp/cdy7uua7fh8z/1MlOrFmcSCOCRYKRxWz6xT/4986c3598864b76db4babb605d75b1e4/2025-01-13_16-31-33.png" />
           </Frame>

    これがログイン画面にどのように反映されるかを確認するには、**［Try Connection（接続を試す）］** ビューを選択します。\*\* ［Requires Username（ユーザー名の要求）］\*\* を有効にすると、新規ユーザーは、サインアップ時にユーザー名とメールアドレスを入力する必要があります。

    <Frame>
      <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/9Vac8_IYDB9MGlmx/docs/images/ja-jp/cdy7uua7fh8z/AiB37UZqyBPb8h55PZtzm/10078c44432fc5f9c50db6de537ca4c6/Login_prompt_with_username_field.png?fit=max&auto=format&n=9Vac8_IYDB9MGlmx&q=85&s=866dc4afee5d779d671b7f1c1f5386f6" alt="ユーザー名を使ったログインフォーム" width="401" height="706" data-path="docs/images/ja-jp/cdy7uua7fh8z/AiB37UZqyBPb8h55PZtzm/10078c44432fc5f9c50db6de537ca4c6/Login_prompt_with_username_field.png" />
    </Frame>

    その後は、ユーザー名かメールアドレスでログインできます。**［Requires Username（ユーザー名の要求）］** が無効の間に登録したユーザーは、ユーザー名フィールドが保管されないため、メールアドレスでログインする必要があります。
  </Tab>
</Tabs>

## もっと詳しく

* [ユーザー管理](/docs/ja-jp/manage-users)
