无密码电子邮件身份验证Firebase,动态链接(FDL)

时间:2018-07-25 21:39:52

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

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

对于应该如何构造此动态链接,尤其是深度链接,我有些困惑。我浏览过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")
        }
    })

1 个答案:

答案 0 :(得分:0)

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

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

  1. 删除应用
  2. 重新启动手机
  3. 重新安装应用

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