Googleplayservicescomponents: GetIdTokenAsync is missing in Xamarin.Firebase.Auth v119.2.0

Created on 24 Oct 2020  路  4Comments  路  Source: xamarin/GooglePlayServicesComponents

FirebaseUser.GetIdTokenAsync was working in version 71.1605.4.
In 119.2.0 I just see GetIdToken method which returns Java.Lang.Object instead of C# object of type Firebase.Auth.GetTokenResult.

Relevant information

Packages used:

    <PackageReference Include="Xamarin.Android.Support.v4">
      <Version>28.0.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Android.Support.v7.AppCompat">
      <Version>28.0.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.Auth">
      <Version>119.2.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms" Version="4.8.0.1560" />
    <PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
    <PackageReference Include="Xamarin.Forms.Visual.Material">
      <Version>4.8.0.1560</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" Version="2.2.0.3" />
    <PackageReference Include="Xamarin.AndroidX.Browser" Version="1.2.0.2" />
    <PackageReference Include="Xamarin.Google.Android.Material" Version="1.0.0.1" />
    <PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4" Version="1.0.0.5" />

Xamarin.Android Version:

11.0.2.0

Most helpful comment

@amalsher It appears that was deprecated. You can however, achieve the same result using Xamarin's Gms Task extensions (using Android.Gms.Extensions;):

var tokenResult = await (FirebaseAuth.Instance.CurrentUser.GetIdToken(forceRefresh).AsAsync<GetTokenResult>());

All 4 comments

@amalsher It appears that was deprecated. You can however, achieve the same result using Xamarin's Gms Task extensions (using Android.Gms.Extensions;):

var tokenResult = await (FirebaseAuth.Instance.CurrentUser.GetIdToken(forceRefresh).AsAsync<GetTokenResult>());

Thanks @tstpierre !
Do you know a reason why it was deprecated?

No idea... I just saw it commented out in the source code in this repo and found that .AsAsync to work as a replacement.

Ok, closing this issue as workaround is given.

Was this page helpful?
0 / 5 - 0 ratings