不能够在颤抖中获得令牌ID

时间:2020-06-03 03:32:33

标签: firebase flutter google-cloud-firestore firebase-authentication

我正在使用以下代码在Flutter应用程序中以Firebase作为后端注册新用户,但是当我尝试将其存储在Firestore数据库中时,我无法在我的应用程序中检索令牌ID,该数据库将其存储为{{ 1}}。

null

我在日志中收到有关tokenId的信息

无效的参数:'Future <'IdTokenResult'>'的实例

1 个答案:

答案 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();

尽管此代码未经测试,但我相信它们应该可以帮助您兑现承诺,您应该拥有价值并将其保存在数据库中不会再遇到任何问题。

让我知道信息是否对您有帮助!