到目前为止,我使用firebase已经2年了,我一直不清楚如何处理firebasse身份验证令牌过期。
我使用的是安卓系统,一旦我使用FirebaseAuth.getInstance().signInWithCustomToken(token);
interanally firebase就会收到这样的消息:
{
"t":"d",
"d":{
"r":5,
"b":{
"s":"ok",
"d":{
"auth":{
"uid":"test",
"token":{
"exp":1592230969,
"user_id":"test",
"iat":1592227369,
"sub":"test",
"aud":"test",
"auth_time":1592227369,
"iss":"https://securetoken.google.com/igibo-b0b27",
"firebase":{
"identities":{
},
"sign_in_provider":"custom"
}
},
"provider":"custom",
"user_id":"test"
},
"expires":1592230969
}
}
}
}
在此请求之后,对FirebaseAuth.getInstance().getCurrentUser()
的任何后续调用都将返回有关此经过身份验证的用户的信息。
在这个json中,这个auth令牌在某个时候会过期,这是很清楚的,但我不清楚它的firebase行为是什么……
令牌过期后,FirebaseAuth.getInstance().getCurrentUser()
会返回null吗?
firebase是否会自动续订令牌,使其永不过期?
如果我需要手动监控和重新验证令牌,我该怎么做?
如果不调试,我甚至在任何地方都找不到过期信息。
发布于 2020-06-15 22:29:28
Firebase身份验证令牌在创建后数小时内过期。Firebase SDK在大约55分钟后自动刷新令牌,这意味着您通常不需要自己做任何事情。仅当令牌无法刷新时,当前用户才会变为null,例如,如果帐户已在服务器上被禁用。
https://stackoverflow.com/questions/62389267
复制相似问题