首页 > 解决方案 > 在 Firebase 身份验证 Xamarin 中访问 UID 时出错

问题描述

我正在将 Firebase 身份验证合并到我的 Xamarin 应用程序中。Firebase 文档说这表明我可以在完成 CreateUser() 方法(https://firebase.google.com/docs/auth/ios/start)后在完成方法中访问新用户的 UID。我的 Xamarin 解决方案中的 IOS 项目中有以下代码:

Auth.DefaultInstance.CreateUser(email, password, (AuthDataResult authResult, Foundation.NSError error) => {

    authResult.User.GetIdToken((string token, Foundation.NSError error1) => 
    {
        Console.WriteLine("Token Is");
        Console.WriteLine(token);
    });

});

当该方法触发时,它会说“authResult”为 Null。具体来说,上述方法会抛出以下异常:

System.NullReferenceException 已引发对象引用未设置为对象的实例。

如何访问用户的 UID?

标签: iosiphonexamarinfirebase-authentication

解决方案


如果创建用户时出错,authResult.User将是null. 所以你需要在你的代码中检查它:

Auth.DefaultInstance.CreateUser(email, password, (AuthDataResult authResult, Foundation.NSError error) => {
  if (error == null) {
    authResult.User.GetIdToken((string token, Foundation.NSError error1) => {
        Console.WriteLine("Token Is");
        Console.WriteLine(token);
    });
  }
});

推荐阅读