【问题标题】:Passwordless Email Auth Firebase, Dynamic Links (FDL)无密码电子邮件身份验证 Firebase、动态链接 (FDL)
【发布时间】:2019-01-02 19:32:55
【问题描述】:

我正在尝试通过 Firebase 为我的 iOS 应用设置无密码电子邮件身份验证。我正在使用发送 signInLink 方法,它需要 actionCodeSettings 并反过来需要一个 url。我发现这个 url 必须是在 Firebase 上创建的动态链接。我已进入 firebase 控制台并将域列入白名单,但是当我尝试在控制台上创建动态链接时,我收到 “创建新动态链接时发生错误”。。 p>

我有点困惑,我应该如何构建这个动态链接,尤其是深层链接。我已经浏览了 Firebase 的文档,添加了一个虚拟 App Store ID 和 App 前缀(正如 Firebase 支持人员告诉我的那样),但我似乎无法在这背后得到正确的诊断

如果我尝试发送登录电子邮件,则没有问题,但当我点击链接时,我收到 400 错误,提示 “在此服务器上找不到请求的 URL”

谁能帮我解决这个问题?

actionCodeSettings.handleCodeInApp = true
    actionCodeSettings.url = URL(string: String(format: "my_dynamic_link", email.text!))
    actionCodeSettings.setIOSBundleID(Bundle.main.bundleIdentifier!)
    actionCodeSettings.setAndroidPackageName("", installIfNotAvailable: false, minimumVersion: "12")

Auth.auth().sendSignInLink(toEmail: email.text!, actionCodeSettings: actionCodeSettings, completion: { error in
        if error != nil {
            print("Link Error: " + (error?.localizedDescription)!)
            let castedError = error as NSError?
            let FBError = AuthErrorCode(rawValue: (castedError?.code)!)
            switch FBError {
            case .invalidEmail?:
                print("invalid email")
            case .emailAlreadyInUse?:
                print("in use")
            default:
                print("Create User Error: \(error!)")
            }
        }
        else {
            print ("No Error")
        }
    })

【问题讨论】:

  • 所以澄清一下,在 Firebase 控制台中,当您转到“动态链接”选项卡时,您会在那里看到一个链接,还是说“开始”?
  • 它显示了我的白名单域,其中有一个空表,上面写着“您在此域中没有动态链接”
  • 好的,当您获取链接并在 https://[your.link.here]/apple-app-site-association 等浏览器中访问该链接时,您是否可以看到您的应用身份证详细?如果我让您执行您已经采取的步骤,我深表歉意。
  • 转到浏览器中的链接会产生 400 错误。一旦我选择了链接,我的应用程序 ID 就不会出现在 URL 中。我假设这是因为没有设置实际的动态链接。我已将域列入白名单,但不确定为什么设置链接总是返回错误。域是否需要特定类型的设置?
  • 所以您是说从计算机上的浏览器转到链接,同时在链接末尾添加“/apple-app-site-association”会产生 400?因为如果我不将“/apple-app-site-association”包含到路径中,我会得到 400,但如果我包含它则不会。如果你包含它,你应该得到 App Site Association

标签: swift firebase firebase-authentication firebase-dynamic-links


【解决方案1】:

您可以尝试按照 7:54 (https://youtu.be/KLBjAg6HvG0?t=474) 的 Firecasts 视频“iOS 上的 Firebase 动态链接入门 - Pt.1 (Firecasts)”中提到的故障排除步骤进行操作。

我遇到了同样的问题,之后一切正常:

  1. 删除应用程序
  2. 重启我的手机
  3. 重新安装应用程序

目前漏洞雷达 (http://www.openradar.me/radar?id=4999496467480576) 仍处于打开状态。

【讨论】:

    猜你喜欢
    • 2018-11-11
    • 2019-05-20
    • 2019-03-15
    • 2019-07-13
    • 1970-01-01
    • 2016-10-13
    • 2013-07-11
    • 2021-11-21
    • 2018-09-10
    相关资源
    最近更新 更多