Flutter firebase_auth中的无效应用程序凭据/令牌不匹配

pkmbmrz7  于 2023-01-21  发布在  Flutter
关注(0)|答案(2)|浏览(170)

我已经开始在Flutter中基于official documentation设置Firebase Phone身份验证,不幸的是,无论我如何尝试,我都会在verifyPhoneNumber方法的verificationFailed回调中得到一个FirebaseAuthException,其值如下:

code: "invalid-app-credential"
credential: null
email: null
message: "Token mismatch"
phoneNumber: null
plugin: "firebase_auth"
stackTrace: null
tenantId: null

我创建了一个简单的存储库来重现这个问题:https://github.com/peternagy1332/basic_phone_auth
1.我使用flutterfire configure将应用程序添加到现有的Firebase项目中,并在那里创建IOS应用程序。
1.我添加了firebase_core@2.1.1firebase_auth@4.1.1
1.我在Firebase上启用了Phone登录方式,并添加了+44 7123 123 456作为测试号码,代码为000000
1.我已经添加了Push notificationBackground modes功能以及Background fetchRemote notifications选项。
1.我将GoogleService-Info.plist中的REVERSED_CLIENT_ID添加为URL Scheme
1.在苹果开发者页面上,我用Apple Push Notifications service (APNs) service生成了一个新的密钥,并将其作为APNs Authentication Key上传到Firebase。
官方文档的设置部分指向this documentation。这表明Swift代码可能需要额外的修改,但这真的不清楚。我是一个Flutter开发人员,而不是一个本地IOS开发人员,我不认为我实际上需要做所有这些。

nuypyhwy

nuypyhwy1#

1.确保在AppDelegate.swift中设置了FirebaseApp.configure()

override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        FirebaseApp.configure() 
        GeneratedPluginRegistrant.register(with: self)
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
    }

1.将APNS令牌类型设置为AuthAPNSTokenType. unknown。将从应用捆绑包中的预配配置文件检测实际令牌类型。

override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let firebaseAuth = Auth.auth()
        firebaseAuth.setAPNSToken(deviceToken, type: AuthAPNSTokenType.unknown)
    }

1.在Runner.entitlements文件中将aps-environment值从“development”更改为“unknown

6bc51xsx

6bc51xsx2#

在一个Flutter应用程序中,我遇到了firebase_auth/invalid-app-credential: Invalid token错误。对我来说,改变游戏规则的是将APNs auth key添加到Firebase中。为了做到这一点:
1 -访问Apple开发者网站,创建Apple推送通知服务(APNs) key,然后下载该服务。
2 -在Firebase > Project Settings > Cloud Messaging > Apple app configuration中上传APNs密钥。

相关问题