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

时间:2018-02-03 15:35:37

标签: firebase firebase-authentication

根据Firebase documentation,刷新令牌仅适用于需要明确刷新令牌的高级方案

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

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令牌

1 个答案:

答案 0 :(得分:1)

<强> Refreshtoken:

  

用户帐户的刷新令牌。仅用于需要显式刷新令牌的高级方案。

<强> GetIdToken:

  

返回用于向Firebase服务标识用户的JWT令牌。   如果当前令牌尚未过期,则返回当前令牌,否则将刷新令牌并返回新令牌。

refreshtoken用于以下情况:

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

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

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

  4.   

    此处有更多信息:https://firebase.google.com/docs/auth/users