如何在身份验证上获取idtoken

时间:2019-04-22 16:20:01

标签: firebase flutter firebase-authentication

我只需要在用户身份验证后打印用户的ID令牌。 我在扑朔迷离中使用Firebase的电话身份验证。

FirebaseAuth.instance.currentUser().then((user) {
            if (user != null) {
              var idtoken = user.getIdToken().toString();
              print("Firebase uid: "+idtoken);}}

如何更正此问题

2 个答案:

答案 0 :(得分:1)

基于https://firebase.google.com/docs/reference/js/firebase.User.html#getidtoken,您需要处理来自getTokenId()方法调用的承诺。

您的代码变为:

FirebaseAuth.instance.currentUser().then(user => {
        if (user != null) {
           user.getIdToken().then(token => {
             //handle token
           }
        }
});

答案 1 :(得分:0)

与async-await相同

final tokenResult = await FirebaseAuth.instance.currentUser();
final idToken = await tokenResult.getIdToken();
final token = idToken.token;