Firebase Authenticationのメリットおよび注意点
Firebase Authenticationのメリットと注意点は以下の通りです。
メリット1:構築にかかる工数の削減
認証機構に独自性が必要ない場合、FirebaseUIを利用し、Firebase Authenticationを使用することで、短時間で認証機構を実装することができます。Firebaseとの連動を行いたい場合などは、カスタム認証設定を利用することで独自アカウントログイン後にFirebaseサービスにアクセスすることができます。
メリット2:認証のためのサーバー用意などが不要に
独自に認証システムを構築する場合、セキュアな認証データを格納しておくためのインフラを用意する必要があります。これらをFirebase Authentication側で肩代わりしてくれるため、インフラエンジニアのアサインや、設定を行うための時間を削減できます。
メリット3:独自で認証システムを構築しないことによる、セキュリティリスクの低減
独自システムでの認証にあたっては、0から自社側で様々なセキュリティリスクを考慮し、システムを用意していく必要があります。Firebaseが対応してくれる範囲であれば、メンテナンスに関する工数も抑えることができます。
注意点:実装は慎重に
FirebaseAuthenticaionでは、ユーザーアカウントの作成、ログイン、削除などが比較的シンプルな方法で実行できます。しかし、SDK側の基本の設定から変更する箇所や、自身で実装を行う箇所についてはよくリスクを考慮して実装してください。
導入時の実装パス
Firebase Authenticationの実装方法は、公式ドキュメントに主に2つ記載されています。
FirebaseUI Authを利用する
FirebaseUI Authを利用する場合、以下の3ステップで導入をすすめることができます。
- Firebaseコンソールでサインイン方法を設定する
- FirebaseUI オプションを設定してサインイン UI をカスタマイズする
- FirebaseUI を使用してログイン フローを実行する
Firebase SDK Authenticationを利用する
FirebaseUI Authを利用せず、SDKを使用して実装を進める場合には、2の工程でUI部分の構築を行う必要があります。利用したいサインイン方法に合わせて、入力を行います。
- サインイン方法を設定する
- サインイン方法のUIフローを実装する
- エンドユーザーの認証情報をFirebase Authentication SDKに渡す
Firebase Authenticationを使用した認証機能を導入することで、アプリのユーザーアカウント機能の構築やセキュリティの向上が期待できます。最新の情報はFirebase Authenticationのドキュメントにありますので、実装時には最新情報を確認するようにしてください。
おわりに
第5回は以上となります。第6回では、Firebaseが提供する2つのデータベース(Realtime Database、Cloud Firestore)について解説します。