相关疑难解决方法(0)

Firebase Android身份验证失败:expired_token(身份验证令牌已过期)

我遇到Android Firebase Auth使用com.google.gms:google-services:3.0.0和的问题com.google.firebase:firebase-auth:9.0.1.

使用Firebase(Google或Facebook)验证后1小时,我收到以下错误消息:

W/PersistentConnection: pc_0 - Authentication failed: expired_token (Auth token is expired)

为什么Firebase令牌在1小时后过期以及如何延长此有效期?

UPDATE

我仍然遇到此问题,Firebase令牌在1小时后过期.现在我收到以下消息: W/PersistentConnection: pc_0 - Authentication failed: invalid_token (Invalid claim 'kid' in auth header.)

我感谢任何帮助.

android google-authentication facebook-authentication firebase-authentication

13
推荐指数
1
解决办法
1万
查看次数

Firebase身份验证:一小时后无法刷新管理员自定义令牌

我认为Firebase Admin SDK缺少一个非常重要的功能(或者可能是其文档)。

TL; DR:如何使用Admin SDK刷新自定义令牌?

该文档(https://firebase.google.com/docs/auth/admin/manage-sessions)表示:

Firebase身份验证会话的寿命很长。每次用户登录时,用户凭据都会发送到Firebase身份验证后端,并交换Firebase ID令牌(JWT)和刷新令牌。Firebase ID令牌寿命很短,并且持续一个小时;刷新令牌可用于检索新的ID令牌。

好。但是如何?没有提及如何用新的自定义令牌替换刷新令牌。关于如何撤消刷新令牌等有很多文档...

但是,有一个REST api函数,其内容为(https://firebase.google.com/docs/reference/rest/auth/#section-refresh-token

将刷新令牌交换为ID令牌您可以通过向securetoken.googleapis.com端点发出HTTP POST请求来刷新Firebase ID令牌。

但是,您从此API调用获得的access_token(JWT)也不被接受。而且JWT的格式甚至不相似。以下是检索(解码)的自定义令牌的两个示例:使用Admin SDK的admin.auth()。createCustomToken(uid)方法

{
  "uid": "9N5veUXXXXX7eHOLB4ilwFexQs42",
  "iat": 1521047461,
  "exp": 1521051061,
  "aud": "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
  "iss": "XXX@appspot.gserviceaccount.com",
  "sub": "XXX@appspot.gserviceaccount.com"
}
Run Code Online (Sandbox Code Playgroud)

ii。与https://securetoken.googleapis.com/v1/token?key=[API_KEY]通话

{
  "iss": "https://securetoken.google.com/XXX",
  "aud": "XXX",
  "auth_time": 1521047461,
  "user_id": "9N5veUXXXXX7eHOLB4ilwFexQs42",
  "sub": "9N5veUXXXXX7eHOLB4ilwFexQs42",
  "iat": 1521051719,
  "exp": 1521055319,
  "email": "jabbar@gmail.com",
  "email_verified": false,
  "firebase": {
    "identities": {
      "email": [
        "jabbar@gmail.com"
      ]
    },
    "sign_in_provider": "password"
  }
}
Run Code Online (Sandbox Code Playgroud)

有关此主题的问题很多。也许Firebase团队的某人可以一劳永逸地回答它。见下面的链接

谢谢你的时间!!

firebase firebase-authentication

8
推荐指数
2
解决办法
2629
查看次数