【问题标题】: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 令牌返回

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    刷新令牌:

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

    GetIdToken:

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

    refreshtoken 用于以下情况:

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

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

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

    更多信息在这里:https://firebase.google.com/docs/auth/users

    【讨论】:

    • 感谢您的回复。 refreshTokenonTokenRefresh() 之间有什么关系?我不明白。我相信getToken() 已被弃用。
    • 我已经更新了答案,@JeffMinsungKim 另一个完全错误,我以为你在谈论另一个令牌。
    • 谢谢,彼得。我知道你在谈论不同的东西!现在一切都说得通了 :) 所以我真的不必在我的代码中使用 refreshToken 吗? firebase 会处理令牌吗?还是我仍然错过了什么?
    • 是的,根据我现在搜索的内容,getIdToken() 它将为您提供刷新的令牌,因此无需使用refreshToken (stackoverflow.com/questions/38233687/…) 是的,根据此链接(firebase.google.com/docs/auth/users ) 似乎 firebase 会处理令牌
    • 太棒了!再次感谢彼得。帮了我很多:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 2012-09-22
    • 1970-01-01
    • 2016-11-01
    • 2012-12-23
    • 2021-07-13
    • 1970-01-01
    相关资源
    最近更新 更多