Firebase:我啥时候应该使用 refreshToken?
Posted
技术标签:
【中文标题】Firebase:我啥时候应该使用 refreshToken?【英文标题】:Firebase: When should I use refreshToken?Firebase:我什么时候应该使用 refreshToken? 【发布时间】:2018-07-13 22:04:21 【问题描述】:根据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】:刷新令牌:
用户帐户的刷新令牌。仅用于需要显式刷新令牌的高级场景。
GetIdToken:
将用于向 Firebase 服务识别用户的 JWT 令牌返回。 如果当前令牌尚未过期,则返回当前令牌,否则将刷新令牌并返回一个新令牌。
refreshtoken
用于以下情况:
当前用户的访问令牌被刷新。这种情况可能发生在以下情况:
-
访问令牌过期:这是一种常见情况。刷新令牌用于获取一组新的有效令牌。
用户更改密码:Firebase 发出新的访问和刷新令牌,并使旧令牌过期。出于安全原因,这会自动使用户的令牌过期和/或在每台设备上注销用户。
用户重新认证:某些操作要求用户的凭据是最近颁发的;此类操作包括删除帐户、设置主电子邮件地址和更改密码。从用户那里获取新凭据,然后将新凭据传递给 User 对象的 reauthenticate 方法,而不是注销用户然后再次登录用户。
更多信息在这里:https://firebase.google.com/docs/auth/users
【讨论】:
感谢您的回复。refreshToken
和 onTokenRefresh()
之间有什么关系?我不明白。我相信getToken()
已被弃用。
我已经更新了答案,@JeffMinsungKim 另一个完全错误,我以为你在谈论另一个令牌。
谢谢,彼得。我知道你在谈论不同的东西!现在一切都说得通了 :) 所以我真的不必在我的代码中使用 refreshToken
吗? firebase 会处理令牌吗?还是我仍然错过了什么?
是的,根据我现在搜索的内容,getIdToken() 它将为您提供刷新的令牌,因此无需使用refreshToken
(***.com/questions/38233687/…) 是的,根据此链接(firebase.google.com/docs/auth/users ) 似乎 firebase 会处理令牌
太棒了!再次感谢彼得。帮了我很多:)以上是关于Firebase:我啥时候应该使用 refreshToken?的主要内容,如果未能解决你的问题,请参考以下文章