Rah*_*hul 2 cross-platform firebase xamarin.forms firebase-authentication
Firebase 电子邮件/密码身份验证是否可以使用通用代码 .net 标准的 Android 和 IOS 通用代码进行开发?我已经设计了具有 .XAML 格式的简单登录页面,但我没有找到任何与 Firebase 身份验证与 Xamarin.Forms 和 .net 标准代码共享集成相关的示例。如果这个策略可行的话可以给我提供集成示例将有助于进一步理解。
是的,这绝对是可能的。
由于只有特定于平台的 Xamarin.Firebase NuGet 包,因此我们必须创建一个简单的抽象层,如下所示:
public interface IFirebaseAuthenticator
{
Task<string> LoginWithEmailPassword(string email, string password);
}
Run Code Online (Sandbox Code Playgroud)
每个平台都必须单独实现此接口。安卓实现:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
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();
}
}
Run Code Online (Sandbox Code Playgroud)
IFirebaseAuthenticator现在您可以简单地在 XF 级别上使用。有关更多详细信息,您可以查看有关它的详细文章,其源代码可在此处找到。
| 归档时间: |
|
| 查看次数: |
4226 次 |
| 最近记录: |