【问题标题】:auth/user-token-expired error in custom firebase authentication自定义 Firebase 身份验证中的 auth/user-token-expired 错误
【发布时间】:2021-02-11 11:15:19
【问题描述】:

我目前正在使用 Firebase 自定义身份验证,最近我开始注意到收到了 auth/user-token-expired 错误消息

用户的凭据不再有效。用户必须重新登录。

在客户端上,无需对用户帐户进行任何重大更改。我可以做些什么来找出这个问题的原因以及纠正它的可能方法,以便在用户使用应用程序时不会在某些尴尬的状态下发生此类注销?

【问题讨论】:

  • this 有帮助吗?

标签: javascript firebase firebase-authentication


【解决方案1】:

客户端代码可以调用User.getIdToken(forceRefresh)来强制刷新令牌。

getIdToken ( forceRefresh ? : boolean ) : Promise < string >

将用于向 Firebase 服务识别用户的 JSON Web 令牌 (JWT) 返回。

如果尚未过期,则返回当前令牌。否则,这将刷新令牌并返回一个新令牌。

参数

  • 可选的forceRefresh布尔值
    无论令牌是否过期,都强制刷新。

Retrieve ID tokens on clients

当用户或设备成功登录后,Firebase 会创建一个相应的 ID 令牌,以唯一标识他们并授予他们访问多个资源的权限,例如 Firebase 实时数据库和云存储。您可以重复使用该 ID 令牌来识别自定义后端服务器上的用户或设备。要从客户端检索 ID 令牌,请确保用户已登录,然后从已登录用户处获取 ID 令牌:

firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
 // Send token to your backend via HTTPS
 // ...
}).catch(function(error) {
 // Handle error
});

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 2020-04-01
    • 2022-12-10
    • 2019-11-22
    • 2016-12-16
    • 2021-08-28
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多