Firebase

認証機能の利用

Authenticationの設定

(1)Firebaseの画面で「Authentication」をクリックします。

(2)「始める」をクリックします。

(3)「メール / パスワード」の行をクリックします。

(4)上のトグルをオンにし、「保存」をクリックします。

authモジュール

ユーザー登録やログインなどの認証に関する機能はfirebaseパッケージのauthモジュールで提供されます。authモジュールの参照は以下のように取得します。

const auth = firebase.auth();

ユーザー名とパスワードを指定してユーザーの登録を行うにはauthモジュールのcreateUserWithEmailAndPasswordメソッドを呼び出します。なお、createUserWithEmailAndPasswordメソッドを呼び出すとPromiseが返され、thenメソッドにコールバックを登録することで作成されたユーザーの情報を取得できます。

    auth.createUserWithEmailAndPassword(email, password);

ユーザー登録を行うと同時にログインが行われ、「認証状態が変更された」というイベントが送信されます。authモジュールに用意されているonAuthStateChangedメソッドでイベントハンドラを登録するとこのイベントを受け取り、「アプリの状態(state)」に反映することができます。

    // イベントハンドラにはログインしたユーザの情報が渡される
    // ログアウトすると引数の値がnullで同じようにイベントハンドラが呼び出される
    auth.onAuthStateChanged(user => {
this.setState({user});
});

ログインはユーザー登録とほぼ同じで、signInWithEmailAndPasswordメソッドを呼び出すことによりログインが行われます。ログインすることによりonAuthStateChangedメソッドで登録したイベントハンドラが呼び出されます。

    auth.signInWithEmailAndPassword(email, password);