我正在使用以下代码在Flutter应用程序中以Firebase作为后端注册新用户,但是当我尝试将其存储在Firestore数据库中时,我无法在我的应用程序中检索令牌ID,该数据库将其存储为{{ 1}}。
null
我在日志中收到有关tokenId的信息
无效的参数:'Future <'IdTokenResult'>'的实例
答案 0 :(得分:0)
如官方文档getIdToken()中所述,它实际上返回了一个Promise,因此您将无法直接访问该值。您将需要等待该值被加载,然后他们将对其进行管理。您将需要按照以下代码示例进行处理:
FirebaseAuth.instance.currentUser().then(user => {
if (user != null) {
user.getIdToken().then(token => {
//handle token
}
}
});
如果您想要更直接的方法,那么下面的一行也应该为您工作。
var token = await FirebaseAuth.instance.currentUser().getIdToken();
尽管此代码未经测试,但我相信它们应该可以帮助您兑现承诺,您应该拥有价值并将其保存在数据库中不会再遇到任何问题。
让我知道信息是否对您有帮助!