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

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

我正在尝试通过 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")
        }
    })

最佳答案

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

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

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

目前漏洞雷达 ( http://www.openradar.me/radar?id=4999496467480576 ) 仍然开放。

关于swift - 无密码电子邮件身份验证 Firebase、动态链接 (FDL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51528072/

相关文章:

ios - 用核心图形画线

ios - tabbaritem 图像未更改

ios - Firebase iOS GoogleSignIn 无需单击默认登录按钮即可切换

firebase - 新的 Firebase Facebook 登录

ios - 使用 Firebase 电子邮件验证链接登录

java - 我的 Firebase 没有为我的应用程序生成 token

swift - ScrollView 缩放停止让我滚动整个缩放图像

ios - 方法不等到再次运行

firebase - 部署firebase功能时解析触发器错误找不到模块

javascript - 控制台中的 Firebase 无效 api key 错误