使用 Xamarin.Forms 和 .net Standard 进行 Firebase 电子邮件/密码身份验证 (VS2017)

2024-04-28

Firebase 电子邮件/密码身份验证是否可以使用通用代码 .net 标准的 Android 和 IOS 通用代码进行开发? 我已经设计了具有 .XAML 格式的简单登录页面,但我没有找到任何与 Firebase 身份验证与 Xamarin.Forms 和 .net 标准代码共享集成相关的示例。 如果这个策略可行的话可以给我提供集成示例将有助于进一步理解。


是的,这绝对是可能的。
由于只有特定于平台的 Xamarin.Firebase NuGet 包,因此我们必须创建一个简单的抽象层,如下所示:

public interface IFirebaseAuthenticator
{
    Task<string> LoginWithEmailPassword(string email, string password);
}

每个平台都必须单独实现此接口。 安卓实现:

public class FirebaseAuthenticator : IFirebaseAuthenticator
{
    public async Task<string> LoginWithEmailPassword(string email, string password)
    {
        var user = await FirebaseAuth.Instance.
                        SignInWithEmailAndPasswordAsync(email, password);
        var token = await user.User.GetIdTokenAsync(false);
        return token.Token;
    }
}

iOS 实现:

public class FirebaseAuthenticator : IFirebaseAuthenticator
{
    public async Task<string> LoginWithEmailPassword(string email, string password)
    {
        var user = await Auth.DefaultInstance.SignInAsync(email, password);
        return await user.GetIdTokenAsync();
    }
}

现在您可以简单地使用IFirebaseAuthenticator在XF级别。欲了解更多详细信息,您可以查看关于它的详细文章 https://smellyc0de.wordpress.com/2018/03/26/firebase-authentication-in-xamarin-forms/并且它的源代码是可用的here https://github.com/yuv4ik/XFFirebaseAuthExample.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Xamarin.Forms 和 .net Standard 进行 Firebase 电子邮件/密码身份验证 (VS2017) 的相关文章

随机推荐