代码之家  ›  专栏  ›  技术社区  ›  Rob Lyndon

xamarin android firebase实现:重新加载后isemailverified仍为false

  •  2
  • Rob Lyndon  · 技术社区  · 8 年前

    我正在处理nuget包xamarin.firebase.auth。

    在我的FireBase控制台中,我已经设置了电子邮件地址验证链接,以匹配应用程序中的动态链接。当动态链接打开时,

    FirebaseAuth.Instance.CurrentUser
    

    设置为单击链接的用户,但其 IsEmailVerified 值为假。即使我调用:

    let user = FirebaseAuth.Instance.CurrentUser
    do! user.ReloadAsync() |> Async.AwaitTask
    let refreshedUser = FirebaseAuth.Instance.CurrentUser
    

    用户的 已验证IseMailVerified 旗子仍然是假的,我找不到一种方法将它设置为真。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Rob Lyndon    8 年前

    看起来我误解了电子邮件地址验证链接。我需要使用firebase控制台中给出的默认值,但是我需要从codebase提供动态链接。下一行将添加 continueUrl 查询参数,它将调用我的动态链接 之后 已验证用户:

    let actionCodeSettings = ActionCodeSettings.NewBuilder().SetUrl("https://my.dynamic.link.com/userverified").Build()
    do! user.SendEmailVerificationAsync(actionCodeSettings) |> Async.AwaitTask
    

    这完全是我的错误,但如果有人犯了类似的错误,我会把答案留在这里。

    附录 :在进行更改之前,您仍然需要重新加载当前用户。以下几行就足够了:

    let user = FirebaseAuth.Instance.CurrentUser
    do! user.ReloadAsync() |> Async.AwaitTask