Firebase Authentication を使用すると、ユーザーがアプリにログインする際に、メールアドレスとパスワードによるログイン、フェデレーション ID プロバイダ(Google ログインや Facebook ログインなど)などの複数のログイン方法を使用できるようになります。このチュートリアルでは、Firebase Authentication を使って、メールアドレスとパスワードによるログインをアプリに追加する方法から始めます。
アプリを Firebase に接続する
Firebase SDK をインストールします。説明に従って、ウェブページに構成コードを貼り付けてください。
新しいユーザーを登録する
新規ユーザーがメールアドレスとパスワードを使用してアプリに登録できるフォームを作成します。ユーザーがフォームに入力したら、ユーザーから提供されたメールアドレスとパスワードを検証し、それらを createUserWithEmailAndPassword
メソッドに渡します。
firebase.auth().createUserWithEmailAndPassword(email, password) .then((user) => { // Signed in // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
既存のユーザーをログインさせる
既存のユーザーがメールアドレスとパスワードを使用してログインできるフォームを作成します。ユーザーがフォームに入力したら、signInWithEmailAndPassword
メソッドを呼び出します。
firebase.auth().signInWithEmailAndPassword(email, password) .then((user) => { // Signed in // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
認証状態オブザーバーを設定し、ユーザーデータを取得する
ログインしているユーザーに関する情報が必要なアプリのページごとに、グローバル認証オブジェクトにオブザーバーをアタッチします。このオブザーバーは、ユーザーのログイン状態が変わるたびに呼び出されます。
onAuthStateChanged
メソッドを使用してオブザーバーをアタッチします。ユーザーが正常にログインしたら、オブザーバーでユーザーに関する情報を取得できます。
firebase.auth().onAuthStateChanged((user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/firebase.User var uid = user.uid; // ... } else { // User is signed out // ... } });
次のステップ
他の ID プロバイダと匿名ゲスト アカウントのサポートを追加する方法を学びます。