Firebase帐户创建后如何使用生成的accessToken?

时间:2018-07-25 04:14:37

标签: firebase firebase-authentication

使用如下所示的电子邮件和密码创建用户后,

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});

firebase这样返回我创建的用户对象:

{
  "uid": "huuX6OwdbfNvthORiDzNV6seo3D3",
  "displayName": null,
  "photoURL": null,
  "email": "qqq2@yahoo.com",
  "emailVerified": false,
  "phoneNumber": null,
  "isAnonymous": false,
  "providerData": [
    {
      "uid": "qqq2@yahoo.com",
      "displayName": null,
      "photoURL": null,
      "email": "qqq2@yahoo.com",
      "phoneNumber": null,
      "providerId": "password"
    }
  ],
  "apiKey": "qqqwwweee",
  "appName": "[DEFAULT]",
  "authDomain": null,
  "stsTokenManager": {
    "apiKey": "qqqwwweee",
    "refreshToken": "AGdpqewb4UYbr5Uo5",
    "accessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4OWY",
    "expirationTime": 1532487232918
  },
  "redirectEventId": null,
  "lastLoginAt": "1532483591000",
  "createdAt": "1532482346000"
}

然后,每次我使用signInWithEmailAndPassword方法时,它都会生成新的accessTokenrefreshToken

但是我想使用accessToken,直到它对已创建的用户到期为止,我可以使用哪种方法来验证此令牌的用户。因此,我不需要每次都进行用户登录。

为此提供了方法吗?

1 个答案:

答案 0 :(得分:0)

您正在访问用户的内部。这些内容可能会发生变化。您应该依赖正式记录的API。 accessToken基本上是Firebase ID令牌的内部名称。正确的方法是调用user.getIdToken()。如果未过期,这将返回缓存的令牌,或者为您刷新后台令牌。