Firebase 电子邮件验证不适用于 ActionCodeSetting

2023-12-05

我正在尝试实现对用户电子邮件的验证(使用电子邮件模板中的默认验证 URL),以及 ActionCodeSetting URL(动态链接)以将用户带回应用程序。我对 Firebase 的 ActionCodeSetting 电子邮件验证应该如何工作感到困惑。我已阅读文档的每个可用页面,但我仍然不清楚如何正确配置“继续 URL”以不抢占和覆盖默认验证 URL。

我做了什么:

  1. 我使用自动生成的电子邮件验证链接测试了电子邮件验证。有效。
  2. 然后,我添加了一个 ActionCodeSetting URL,该 URL 使用添加到 XCode 项目的关联域中的域。这可以让用户在单击验证链接后返回到应用程序。
  3. 问题:电子邮件验证不再有效。

这是我已经实现的代码:

var actionCodeSettings = ActionCodeSettings.init()
                actionCodeSettings.handleCodeInApp = true
                let user = Auth.auth().currentUser
                let urlString = "https://blaproject.page.link/zCB4"
                actionCodeSettings.setIOSBundleID(Bundle.main.bundleIdentifier!)
                actionCodeSettings.setAndroidPackageName("com.example.android", installIfNotAvailable:true, minimumVersion:"12")

                Auth.auth().currentUser?.sendEmailVerification(with: actionCodeSettings, completion: { (error) in
                    print("verification email sent")
                    print("action code setting URL is: \(String(describing: actionCodeSettings.url))")
                })

以下是 Firebase 控制台中电子邮件模板的默认验证 URL:

https://blaproject-ea9d6.firebaseapp.com/__/auth/action?mode=&oob代码=

这是上面代码发送的验证 URL:

所以我的问题是,为什么此 URL 不验证用户的电子邮件,然后使用继续 URL(以及关联的域)来触发应用程序打开?它仅触发应用程序打开,而不验证用户的电子邮件。

感谢您提供的任何提示来帮助我理解我不理解的内容:)


当链接触发您的应用程序打开时。你需要解析oobCode来自深层链接。您可以使用 FDL 客户端库来获取深层链接。关于深层链接的格式以及如何解析代码可以参考以下文档:https://firebase.google.com/docs/auth/custom-email-handler

获得代码后,您需要使用auth.applyActionCode(code)API。这将验证电子邮件。

核实后即可拨打电话user.reload()更新emailVerified用户的财产。你也可以强制user.getIdToken(true)如果您使用 Firebase 安全规则,则使用更新后的已验证电子邮件强制刷新令牌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 电子邮件验证不适用于 ActionCodeSetting 的相关文章

随机推荐

  • 在AWS lambda中创建utils.py

    I had a def hello 功能在我的home file py文件 我创建了一个home common utils py文件并将函数移到那里 现在 我想将其导入到我的文件中file py 我是这样导入的 from utils imp
  • iPhone中有系统级后台队列进程吗?

    我需要保存一个大文件 有时需要很长时间才能完成 用户可能只是关闭应用程序 我想知道iPhone SDK是否可以接手这个未完成的大任务 看来iPhone自带的邮件系统可以后台发送 我准备了一封电子邮件 单击 发送 然后立即关闭邮件应用程序 在
  • 使用 Excel VBA 创建工作表并根据特定列中的唯一项目移动数据

    我熟悉编程 但不熟悉 VBA 或 Excel 对象模型 我发现处理起来非常令人沮丧 我拥有的是一张带有列标题的数据 根据数据类型的不同 标题的数量也不同 因此我需要找到一个特定的列 在所有工作表中 该列并不总是位于同一位置 因此我无法对其进
  • Python 简单指数平滑

    我从 www nasdaq com 下载了 TESLA 股票 下载 CSV 文件后 我意识到我需要使用 Microsoft Excel 2016 转换 CSV 我使用 数据 选项卡 并单击文本到列 现在标题很清楚了 它们是 日期 收盘价 成
  • 在 Woocommerce 中获取自定义产品属性

    在 Woocommerce 中 我试图获取产品自定义属性值 但失败得很惨 我什么也没得到 所以我尝试 global woocommerce post product res get post meta product gt id print
  • CMake 设置默认搜索路径?

    我只是不想每次需要库时都设置环境变量 更不用说搜索的路径根本不标准化 至少在 Windows 上 一般来说 Find cmake 不会指定任何与 Windows 相关的位置 有没有某种方法可以使 CMake 搜索指定目录 强制配置错误的 F
  • 在Java中求多项式的根

    我需要找到一个 近似的 数值的 解勒让德多项式 我尝试了几个Java库 但没有一个有我正在寻找的东西 最接近的是commons math 它甚至有用于在拉盖尔求解器 但它没有公开该方法 是否有现有的解决方案或者我需要实施自己的解决方案 您可
  • Xamarin 中的调用目标引发了异常

    这是代码 运行它看看有什么问题 gt https github com x0axz CustomRenderer 在我的 Xamarin 应用程序中 有一个适用于 Android 的自定义相机渲染器 它是从ViewModel通过Messag
  • 如何在Python中导入类型提示的类?

    我有一个代码 from pandas import DataFrame def func df DataFrame gt DataFrame 因为我实际上并没有在代码中创建 DataFrame 对象 所以我想做 from typing im
  • 在其中创建 Angular 生命周期挂钩的 Highcharts 实例

    我目前正在使用 Angular 7 高图表API 我使用以下方法集成了 Highcharts官方 Github 链接 有一个callbackFunction在 Highcharts 中我们可以使用它来获取图表实例 但是 我还没有弄清楚两件事
  • 如何选择要在 TensorBoard 的嵌入选项卡中查看的检查点?

    简短的问题 如何选择在 TensorBoard 的嵌入选项卡中查看哪个检查点 问题的较长版本 我想用 TensorBoard 可视化词嵌入 为此 在阅读完官方教程 mirror 我添加了以下代码 embedding writer tf su
  • 调用托管属性的 getter 时出现 NPE

    我正在使用 Hibernate 学习 Spring 并使用 JSF 作为前端框架创建一个电影租赁应用程序 我的注册 bean 中有一个应用程序范围的托管属性 它是视图范围的 在里面register 方法将用户详细信息插入数据库中 我调用服务
  • C 代码中的内联汇编语句和适用于 ARM Cortex 架构的扩展 ASM

    我正在尝试编译以下两段代码ARM编译器5对于 Cortex A 微处理器 Part 1 static inline void cp15 write sctlr uint32 t value asm mcr p15 0 0 c1 c0 0 r
  • jQuery 与 ASP.NET WebForms - 禁用文本框

    另一个 jQuery 新手问题 我做错了什么 我有一些由 ASP NET 3 5 Webforms 呈现的 HTML 标记 如下所示
  • 更新 Android 联系人提供程序中的联系人图像

    我创建一个应用程序来读取 更新 删除联系人详细信息 这是更新 Contact Image 时出现的问题 当应用程序外部的设备添加新联系人时 没有图像 那么我们就无法更新联系人图片 我的更新代码是 ops add ContentProvide
  • 使用一个全局资源在 ASP.NET Web 表单中进行本地化

    我想要一些这样的资源文件 Mui resx Mui fr resx Mui es resx 我希望能够在我的代码隐藏中做这样的事情 Label1 Text Mui Hello 在我的 aspx 中是这样的 有人知道该怎么做吗 是否可以 对的
  • 如何从 VB.NET 打开 Outlook“新邮件”窗口

    我有一个场景 用户可以从网格中进行选择 已将文件上传到本地文件夹 当用户按 发送 时 应用程序应打开 Outlook 新邮件消息 窗口 其中选择的文件作为附件 用户选择的文件 来自网格 任何帮助将不胜感激 Imports System Di
  • 如何在 J2ME 中修改 XML 的值?

    假设有一个XML in my J2ME应用
  • CImg 的编译错误

    我是第一次使用 CImg 库 在使用仅包含 CImg h 的简单测试程序时出现编译错误 这是为什么 我怎样才能解决这个问题 程序代码 include headers CImg h using namespace cimg library i
  • Firebase 电子邮件验证不适用于 ActionCodeSetting

    我正在尝试实现对用户电子邮件的验证 使用电子邮件模板中的默认验证 URL 以及 ActionCodeSetting URL 动态链接 以将用户带回应用程序 我对 Firebase 的 ActionCodeSetting 电子邮件验证应该如何