我已经开始在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.1
和firebase_auth@4.1.1
1.我在Firebase上启用了Phone登录方式,并添加了+44 7123 123 456作为测试号码,代码为000000
1.我已经添加了Push notification
和Background modes
功能以及Background fetch
和Remote 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开发人员,我不认为我实际上需要做所有这些。
2条答案
按热度按时间nuypyhwy1#
1.确保在AppDelegate.swift中设置了FirebaseApp.configure()
1.将APNS令牌类型设置为AuthAPNSTokenType. unknown。将从应用捆绑包中的预配配置文件检测实际令牌类型。
1.在Runner.entitlements文件中将aps-environment值从“development”更改为“unknown
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密钥。