Firebase电话身份验证失败

时间:2018-06-27 12:24:15

标签: ios swift firebase firebase-authentication

我想使用Phone Auth进行Firebase登录。 在开发过程中,我无法访问设备和Apple开发人员帐户,因此我使用

来实现此功能
  

reCAPTCHA验证

但是出现以下错误

  

{“错误”:{“代码”:403,“消息”:“此ios客户端的请求   应用程序被阻止。“,”错误“:[{”消息“:”来自   这个ios客户端应用程序是   被阻止。“,” domain“:” global“,” reason“:” forbidden“}],” status“:” PERMISSION_DENIED“}}}

我已经实现了它,如文档中所示。

下面是AppDelegate.swift中的代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    FirebaseApp.configure()
    return true
}

// For iOS 9+
func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
    if Auth.auth().canHandle(url) {
        return true
    }
    return false
    // URL not auth related, developer should handle it.
}

下面是ViewController.swift中的代码:

@IBAction func didTapSignUp(_ sender: Any) {
    PhoneAuthProvider.provider().verifyPhoneNumber("+919637892151", uiDelegate: nil) { (verificationId, error) in
        if let error = error {
            // It always comes here
            print(error.localizedDescription)
        }
        if let verificationId = verificationId {
            print(verificationId)
            UserDefaults.standard.set(verificationId, forKey: "authVerificationID")
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我关注了this answer,它起作用了。

“将Google控制台中的API密钥密钥限制设置为NONE”

我很困惑,因为如果您应该将bundleId设置为“密钥限制”>“应用程序限制”,那么只有NONE起作用,它的目的是什么?