Firebase:我什么时候应该使用 refreshToken?

Firebase: When should I use refreshToken?

根据 Firebase 文档,刷新令牌仅适用于需要显式刷新令牌的高级场景。

在什么情况下我应该使用该令牌,使用它有什么好处?

1
2
3
4
private afAuth: AngularFireAuth

this.afAuth.auth.currentUser.getIdToken()
.then(idToken => // Gives me a different token from key name called pa);

另外,我不确定 refreshToken 和从 getIdToken() 返回的令牌之间的区别。目前,我将后者用于 HTTP 请求。

注意:getIdToken 返回一个用于向 Firebase 服务识别用户的 JWT 令牌。


刷新令牌:

A refresh token for the user account. Use only for advanced scenarios that require explicitly refreshing tokens.

GetIdToken:

Returns a JWT token used to identify the user to a Firebase service.
Returns the current token if it has not expired, otherwise this will refresh the token and return a new one.

refreshtoken用于以下情况:

当前用户的访问令牌被刷新。这种情况可能发生在以下情况:

  • 访问令牌过期:这是一种常见情况。刷新令牌用于获取一组新的有效令牌。
  • 用户更改密码:Firebase 发出新的访问和刷新令牌,并使旧令牌过期。出于安全原因,这会自动使用户的令牌过期和/或在每台设备上注销用户。

  • 用户重新认证:某些操作要求用户的凭据是最近颁发的;此类操作包括删除帐户、设置主电子邮件地址和更改密码。不要注销用户然后再次登录用户,而是从用户那里获取新凭据,并将新凭据传递给 User 对象的 reauthenticate 方法。

  • more info here: https://firebase.google.com/docs/auth/users