Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 捕获401并刷新Firebase Id令牌_Android_Firebase_Firebase Authentication_Httpclient_Retrofit2 - Fatal编程技术网

Android 捕获401并刷新Firebase Id令牌

Android 捕获401并刷新Firebase Id令牌,android,firebase,firebase-authentication,httpclient,retrofit2,Android,Firebase,Firebase Authentication,Httpclient,Retrofit2,我的应用程序使用Firebase通过电话号码对用户进行身份验证,这是从数字迁移而来的。 我将来自Firebase的idToken添加到我的呼叫中。 我在我的httpclient上使用拦截器监听401是否被盗用,如果是,我就注销 我注意到一小时后401出现了,所以我在我的应用程序类中添加了一个额外的TokenListener。当它改变时,我更新我的令牌来签署我的呼叫。 它起作用了,但并非完美无缺,有时会抛出401,而我仍然将用户注销 我正在我的拦截器中编写一些东西来从用户获取IdToken,但是调

我的应用程序使用Firebase通过电话号码对用户进行身份验证,这是从数字迁移而来的。 我将来自Firebase的idToken添加到我的呼叫中。 我在我的httpclient上使用拦截器监听401是否被盗用,如果是,我就注销

我注意到一小时后401出现了,所以我在我的应用程序类中添加了一个额外的TokenListener。当它改变时,我更新我的令牌来签署我的呼叫。 它起作用了,但并非完美无缺,有时会抛出401,而我仍然将用户注销

我正在我的拦截器中编写一些东西来从用户获取IdToken,但是调用firebaseUser.getIdToken()是异步的。所以我开始把事情弄复杂了,我想


谁能给我指一下正确的方向吗?您的工作流程是什么?

您正朝着正确的方向前进。您可能需要做的一件事是根据ID令牌验证失败的原因稍微更改您的逻辑。您可以自己检查过期字段。如果令牌已过期,请在重试调用之前返回触发检索过程的其他代码