JavaScript でパスワード ベースのアカウントを使用して Firebase 認証を行う

Firebase Authentication を使用することで、ユーザーが Firebase での認証にメールアドレスとパスワードを使用できるようにし、アプリのパスワード ベースのアカウントを管理できます。

準備

  1. Firebase を JavaScript プロジェクトに追加します
  2. アプリを Firebase プロジェクトに接続していない場合は、Firebase コンソールで接続します。
  3. メールとパスワードによるログインを有効にします。
    1. Firebase コンソールで [Auth] セクションを開きます。
    2. [ログイン方法] タブで [メール / パスワード] を有効にして、[保存] をクリックします。

パスワード ベースのアカウントを作成する

パスワードを使用して新しいユーザー アカウントを作成するには、アプリのログインページで次の手順に沿って操作します。

  1. 新しいユーザーがアプリの登録フォームを使用して登録したら、アプリで必要な新しいアカウントの検証手順(新しいアカウントのパスワードが正しく入力されていることや、パスワードの複雑さの要件を満たしていることの確認など)を行います。
  2. 新しいユーザーのメールアドレスとパスワードを createUserWithEmailAndPassword に渡して、新しいアカウントを作成します。
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    新しいアカウントが作成されると、そのユーザーは自動的にログインされます。ログインしたユーザーの詳細情報を取得する方法については、下記の「次のステップ」をご覧ください。

    ここではエラーの検出と対応もできます。エラーコードのリストについては、Auth のリファレンス ドキュメントをご覧ください。

メールアドレスとパスワードを使用してユーザーのログインを行う

パスワードを使用したユーザーのログイン手順は、新しいアカウントの作成手順と似ています。アプリのログインページで、次の手順に沿って操作します。

  1. ユーザーがアプリにログインしたら、そのユーザーのメールアドレスとパスワードを signInWithEmailAndPassword に渡します。
    firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    ログインしたユーザーの詳細情報を取得する方法については、下記の「次のステップ」をご覧ください。

    ここではエラーの検出と対応もできます。エラーコードのリストについては、Auth のリファレンス ドキュメントをご覧ください。

次のステップ

ユーザーが初めてログインすると、新しいユーザー アカウントが作成され、ユーザーがログインに使用した認証情報(ユーザー名とパスワード、電話番号、または認証プロバイダ情報)にアカウントがリンクされます。この新しいアカウントは Firebase プロジェクトの一部として保存され、ユーザーのログイン方法にかかわらず、プロジェクトのすべてのアプリでユーザーを識別するために使用できます。

  • アプリでユーザーの認証ステータスを把握するには、Auth オブジェクトにオブザーバーを設定することをおすすめします。これによって、ユーザーの基本的なプロフィール情報を User オブジェクトから取得できます。ユーザーの管理についての記事をご覧ください。

  • Firebase Realtime Database と Cloud Storage のセキュリティ ルールでは、ログイン済みユーザーの一意のユーザー ID を auth 変数から取得し、それを使用してどのデータをユーザーからアクセス可能にするか制御できます。

既存のユーザー アカウントに認証プロバイダの認証情報をリンクすることで、ユーザーが複数の認証プロバイダを使用してアプリにログインできるようになります。

ユーザーのログアウトを行うには signOut を呼び出します。

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}).catch(function(error) {
  // An error happened.
});

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。