2022/07/29
Firebase Authenticationって何?
Firebase Authenticationとは
「Firebase Authentication」はユーザー認証機能を提供し、ユーザ情報をクラウドで保存してくれる、Google運営のサービスです。
できること
Firebase Authenticationを利用することで、アプリケーションにユーザー認証機能を独自で実装することなく、ユーザー認証機能を提供できるようになります。
認証方法には、主に以下が用意されています。
- メールアドレスとパスワードによる認証
- 主要なプロバイダーアカウントによる認証
(Google / Twitter / Facebook / Github / Apple / Yahoo! / Microsoft 等) - 匿名認証
- カスタム認証
- 電話番号認証
認証の仕組み
アプリへのユーザーのログインを行うには、まずユーザーから認証情報を取得します。認証情報には、ユーザーのメールアドレスとパスワードや、フェデレーション ID プロバイダの OAuth トークンなどがあります。次に、取得した認証情報を Firebase Authentication SDK に渡します。Google のバックエンド サービスによって認証情報が検証され、クライアントにレスポンスが返されます。
ログインが成功すると、ユーザーの基本的なプロフィール情報にアクセスしたり、他の Firebase サービスに保存されているデータへのユーザーのアクセスを制御したりできます。提供された認証トークンを使用して、独自のバックエンド サービスでユーザーの ID を検証することもできます。
メリット1.
ユーザー認証システムを独自で実装しないこと
ユーザー認証システムを独自で実装する場合、気をつけなければならないことはいくつもあります。
- パスワードのハッシュ化
- ユーザ情報が登録されたDBとのやりとり
- レスポンス内容
などなど。
やることは沢山あります。実装をする際に思わぬバグを埋め込んでしまうリスクもあります。
これらの処理をFirebase Authenticationにまかせることで多くのメリットが生まれます。
メリット2.
今後増え続けるログイン方法やデバイスに対応するための工数削減
ユーザー認証システムを独自で実装する場合、今後新しいサービスやデバイスが生まれてきた時に、その際に手間をかけてシステム対応を行う必要があります。
Firebase Authenticationを利用することで、そういった面倒な処理を肩代わりしてくれるため、工数の削減にも繋がります。
メリット3.
重要情報をクラウドに預けることによる安全性の向上
ユーザー認証システムを独自で実装する場合、メールアドレスやパスワードなどの個人情報を保管する必要があり、漏洩させないための対策など大きな責任を負う必要があります。
Googleなど信頼のおける事業者に管理を委ねることで、独自で管理するよりもセキュアな環境を構築することができます。
まとめ
今回はFirebase Authenticationの概要とその仕組みについて解説しました。Firebase Authenticationの便利さについて少しでも実感いただけたら幸いです。認証機能を一から実装するのは非常に工数がかかり、さらにセキュリティレベルの担保なども難しいと言えます。そのため、オールインワンで対応が可能なFirebase Authenticationを使いましょう。
Author Profile
スターフィールド編集部
SHARE