Skip to content

Latest commit

 

History

History
90 lines (75 loc) · 4.26 KB

auth.md

File metadata and controls

90 lines (75 loc) · 4.26 KB

Auth

You can use Firebase Authentication to allow users to sign in to your app using one or more sign-in methods, including email address and password sign-in, and federated identity providers such as Google Sign-in and Facebook Login.

Installation

Nuget

NuGet

Install-Package Plugin.Firebase.Auth

Setup

#if IOS
  FirebaseAuthGoogleImplementation.Initialize();
#elif ANDROID
  FirebaseAuthGoogleImplementation.Initialize("your-google-request-id-token");
#endif
  • The googleRequestIdToken can be accessed at the Google API Console (make sure to use the Client-ID of the Web client)

iOS specifics

  • Enable keychain entitlement in Entitlements.plist:
  <dict>
    <key>keychain-access-groups</key>
    <array>
      <string>$(AppIdentifierPrefix)my.fancy.app</string>
    </array>
  </dict>
  • In case you are using Authentication via Google, add an url scheme to your apps Info.plist:
  <key>CFBundleURLTypes</key>
  <array>
    <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>com.googleusercontent.apps.123456-abcdef</string>
      </array>
    </dict>
  </array>

Android specifics

  • Make sure you have added the SHA-1 fingerprint matching the keystore you've used for signing the app bundle to the android project settings in the firebase console:

firestore_poco.png

  • Call FirebaseAuthImplementation.HandleActivityResultAsync(requestCode, resultCode, data); from MainActivity.OnActivityResult(...)
  • If you are on version 2.0.5 or later, add the following package to your project's .csproj file to prevent build errors:
  <PackageReference Include="Xamarin.AndroidX.Browser" Version="1.6.0.2" />

For more specific instructions take a look at the official Firebase documentation

Usage

Take a look at the documentation for the AdamE.Firebase.iOS.Auth packages, because Plugin.Firebase's code is abstracted but still very similar.

Since code should be documenting itself you can also take a look at the following classes:

Release notes

  • Version 3.0.0
    • Swapped Xamarin.Firebase.iOS.Auth (native SDK 8.10.0) for AdamE.Firebase.iOS.Auth (native SDK 10.24.0)
  • Version 2.0.7
    • Added AddAuthStateListener to FirebaseAuth (PR #246)
  • Version 2.0.6
    • Fix dates in android AuthTokenResultWrapper (issue #244)
  • Version 2.0.5
    • Bump up Xamarin.Firebase.Auth from 121.0.8 to 122.2.0 (issue #131)
  • Version 2.0.4
    • Separating Auth.Google into its own package (PR #210)
  • Version 2.0.3
    • Return FirebaseUser in FirebaseAuthImplementation.CreateUserAsync(email, password) method (issue #183)
  • Version 2.0.2
    • Bump up Xamarin.Google.iOS.SignIn from 5.0.2.3 to 5.0.2.4 (issue #158)
  • Version 2.0.1
    • Remove unnecessary UseMaui property from csproj files
    • Readd net6.0 tfm