【问题标题】:Flutter: Sending Email Verification code through FlutterFire?Flutter:通过 FlutterFire 发送电子邮件验证码?
【发布时间】:2021-01-16 19:49:02
【问题描述】:

FlutteFire 文档中,它说“Firebase 将向用户发送一封带有唯一代码的自动电子邮件。然后可以通过 applyActionCode() 方法输入此代码。您可以先检查是否代码通过使用 checkActionCode() 方法是有效的”但是当我发送电子邮件验证时,它会显示一个链接。

在 Firebase 控制台上的电子邮件模板中,它仍然显示电子邮件链接。

我希望能够发送代码,只是因为我认为它可以提供更好的用户体验。我该怎么做才能让电子邮件验证改为发送代码?我到处找,找不到任何有用的东西。

【问题讨论】:

    标签: firebase flutter firebase-authentication


    【解决方案1】:

    在撰写本文时,您无法提取 Firebase Auth 生成的 oobCode 值。

    如果你想使用这个代码,你需要从对应于这个URL的网页中的Query String中提取它(注意你可以在模板中调整这个URL,使它指向另一个你控制的URL ,例如由您的应用公开)。

    【讨论】:

    • 嗨 Renaud,感谢您的回复。在 flutterfire 文档中,看起来正在发送的唯一代码类似于“123456”(一个 6 位数字字符串),但正如您所指出的,它可能是电子邮件验证链接中包含的 oobCode .我想为了解决我的问题,我必须创建一个自定义 URL 来处理这个问题?
    • "我必须创建一个自定义 URL" => 是的。查看firebase.google.com/docs/auth/custom-email-handler 以获得更多指导。
    • 是的,我已经多次访问该页面,希望有更好的解决方案来使用代码而不是链接来处理电子邮件验证,但可惜我猜没有。我想我误解了 flutterfire 文档,谢谢 Renaud!
    • 请注意,即使使用 Admin SDK,您也无法获取 oobCode,只能获取链接(使用 admin.auth().generateEmailVerificationLink()
    • 你知道有哪些资源在 Flutter 中通过电子邮件验证实现了无缝用户体验吗?我只是希望能够发送验证电子邮件,然后在用户通过验证后自动重定向到我的应用程序内的主页。即使在 stackoverflow 上,我也看到人们使用带重新加载的计时器,这似乎更像是一种解决方法,而不是一个干净的解决方案。
    猜你喜欢
    • 2020-12-12
    • 2021-08-20
    • 2016-09-28
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 2020-07-16
    相关资源
    最近更新 更多