準備
- Firebase を JavaScript プロジェクトに追加します。
- プロジェクトのサーバーキーを取得します。
- プロジェクトの設定の [サービス アカウント] ページに移動します。
- [サービス アカウント] ページの [Firebase Admin SDK] セクションの一番下にある [新しい秘密鍵を生成] をクリックします。
- 新しいサービス アカウントの公開鍵 / 非公開鍵のペアが、お使いのパソコンに自動的に保存されます。認証サーバーにこのファイルをコピーします。
Firebase で認証する
- ユーザーがアプリにログインしたら、そのユーザーのログイン認証情報(たとえば、ユーザー名とパスワード)を認証サーバーに送信します。サーバーにより認証情報が確認され、認証情報が有効な場合はカスタム トークンが返されます。
- 認証サーバーからカスタム トークンを受信したら、
signInWithCustomToken
に渡してユーザーのログインを行います。firebase.auth().signInWithCustomToken(token).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
次のステップ
ユーザーが初めてログインすると、新しいユーザー アカウントが作成され、ユーザーがログインに使用した認証情報(ユーザー名とパスワード、電話番号、または認証プロバイダ情報)にアカウントがリンクされます。この新しいアカウントは 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.
});