Plugin.Firebase.Auth.Google 3.1.0

dotnet add package Plugin.Firebase.Auth.Google --version 3.1.0                
NuGet\Install-Package Plugin.Firebase.Auth.Google -Version 3.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Plugin.Firebase.Auth.Google" Version="3.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plugin.Firebase.Auth.Google --version 3.1.0                
#r "nuget: Plugin.Firebase.Auth.Google, 3.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Plugin.Firebase.Auth.Google as a Cake Addin
#addin nuget:?package=Plugin.Firebase.Auth.Google&version=3.1.0

// Install Plugin.Firebase.Auth.Google as a Cake Tool
#tool nuget:?package=Plugin.Firebase.Auth.Google&version=3.1.0                

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.1.0
    • Update to .net8
  • 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
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-ios18.0 is compatible.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.1.0 141 11/9/2024
2.0.0 999 10/18/2023