我正在使用Nuget包Xamarin.Firebase.Auth。
在我的Firebase控制台中,我设置了我的电子邮件地址验证链接,以匹配我的应用中的动态链接。当动态链接打开时,
FirebaseAuth.Instance.CurrentUser
设置为点击该链接的用户,但其IsEmailVerified
值为false。即使我调用:
let user = FirebaseAuth.Instance.CurrentUser
do! user.ReloadAsync() |> Async.AwaitTask
let refreshedUser = FirebaseAuth.Instance.CurrentUser
用户的IsEmailVerified
标志仍为false,我找不到将其设置为true的方法。
答案 0 :(得分:1)
看起来我误解了电子邮件地址验证链接。我需要使用Firebase控制台中给出的默认值,但我需要从代码库提供动态链接。以下行将添加continueUrl
查询参数,该参数将在用户验证后调用我的动态链接:
let actionCodeSettings = ActionCodeSettings.NewBuilder().SetUrl("https://my.dynamic.link.com/userverified").Build()
do! user.SendEmailVerificationAsync(actionCodeSettings) |> Async.AwaitTask
这完全是我的错误,但如果有人犯了类似的错误,我会留下答案。
ADDENDUM :您仍需在更改完成之前重新加载当前用户。以下几行就足够了:
let user = FirebaseAuth.Instance.CurrentUser
do! user.ReloadAsync() |> Async.AwaitTask