私はすでに認証システムを持っています
アプリにすでにサインイン実装があり、それを使用してFirebaseバックエンドサービスで認証する場合は、カスタム認証を使用します。これには、次のいずれかを使用するアプリが含まれます。
- カスタムパスワードベースのシステムなど、カスタムビルドのソリューション。
- Auth0やOktaなどのサードパーティのID管理サービス。
- Google、Facebook、AppleなどのフェデレーションIDプロバイダーとの既存の統合。 (フェデレーションIDをまだサポートしていないが、サポートしたい場合は、次のセクションを参照してください。)
カスタム認証では、選択したシステムでユーザーにログインし、バックエンドでユーザーのFirebaseトークンを作成してから、クライアントからのトークンを使用してFirebaseで認証します。
iOS + 、 Android 、 Web 、 Flutter 、 Unity 、またはC++のドキュメントを参照してください。
Firebaseを使用して認証システムを構築したい
新しいアプリを作成する場合、または既存のアプリにログインを追加する場合、Firebaseには、認証バックエンドを自分で作成しなくても安全な認証を実装するのに役立つライブラリとサービスがあります。 Firebase Authenticationは、パスワード、フェデレーションIDプロバイダー、電子メールリンク、およびテキストメッセージを使用してサインインするための完全なバックエンドソリューションです。
使いやすいドロップインソリューションが欲しい
アプリに認証を追加する最も速くて簡単な方法は、ドロップインUIライブラリであるFirebaseUIAuthを使用することです。 FirebaseUIは、FirebaseAuthenticationでサポートされているすべてのサインインメソッドの完全なユーザーフローを実装します。
FirebaseUI Authはドロップインソリューションであるため、ニーズを満たさない可能性のある特定のUXがあります。 UXを変更したい場合は、オープンソースであるライブラリをフォークして、独自のバージョンを使用できます。ただし、大幅に異なるサインインフローの場合は、次のセクションで説明するように、FirebaseSDKを使用して独自のフローを実装することをお勧めします。
iOS 、 Android 、またはWeb用のFirebaseUIAuthドキュメントを参照してください。
サインインエクスペリエンスを完全に制御したい
アプリのログインエクスペリエンスをより細かく制御するために、独自の認証フローを実装し、FirebaseSDKを使用してFirebaseの認証サービスを操作できます。たとえば、独自のメールアドレスとパスワードフローまたはGoogleサインインフローを作成し、ユーザーのメールアドレスとパスワードまたはGoogleIDトークンをFirebaseに渡してユーザーを認証します。
FirebaseAuthenticationSDKのドキュメントをご覧ください。
Firebaseサービス | |
---|---|
メールアドレスとパスワードのサインイン | iOS + | Android | Web |フラッター| Unity | C ++ |
電話番号のサインイン | iOS + | Android | Web |フラッター| Unity | C ++ |
メールリンクサインイン | iOS + | Android | Web |フラッター| Unity | C ++ |
フェデレーションID | |
グーグル | iOS + | Android | Web |フラッター| Unity | C ++ |
フェイスブック | iOS + | Android | Web |フラッター| Unity | C ++ |
アップル | iOS + | Android | Web |フラッター| Unity | C ++ |
ゲームをする | Android | Unity | C ++ |
ゲームセンター | iOS + |
GitHub | iOS + | Android | Web |フラッター| Unity | C ++ |
マイクロソフト | iOS + | Android | Web | Unity | C ++ |
ツイッター | iOS + | Android | Web |フラッター| Unity | C ++ |
Yahoo | iOS + | Android | Web | Unity | C ++ |
豊富なプレサインイン体験を構築したい
ユーザーが匿名認証を使用して実際にサインインする前に、アプリのサインイン機能を使用できるようにすることができます。匿名の「サインイン」を使用して、実際のアカウントのように使用できる一時的なシングルセッションアカウントを作成します。次に、ユーザーがサインインまたはサインアップした後、一時アカウントを実際のアカウントにリンクして、中断したところから続行できるようにします。
匿名認証は、カスタム認証またはFirebaseの認証サービスと組み合わせて使用すると効果的です。
iOS + 、 Android 、 Web 、 Flutter 、 Unity 、またはC++のドキュメントを参照してください。
バックエンドからFirebaseサービスにアクセスしたい
サーバーからFirebaseサービスにアクセスするために、Firebase認証を使用する必要はありません。代わりに、 AdminSDKを使用してください。 Admin SDKを初期化するときは、特定のユーザーではなくFirebaseプロジェクトを表し、プロジェクトのリソースへのフルアクセスを許可するサービスアカウントのクレデンシャルで認証します。