Firebase ID令牌的到期时间更长

时间:2019-12-18 20:38:47

标签: firebase firebase-authentication google-cloud-functions

我有一个可在后台跟踪用户位置的应用。 每隔几分钟,它就会向Firebase发送一个带有数据的http请求。

因此,我做了一个处理数据(坐标,用户名等)并将其放入数据库的函数。 可以,但是我想要“安全性”,因为每个人都可以在请求中输入随机的用户名。

我了解了ID令牌以验证用户,但是有一个问题:

提供跟踪的程序包不会更改id令牌。例如:我想跟踪三个小时,按开始后,程序包将发送3个小时的位置和我按开始时提供的数据(此处为id令牌)

但是,如果id令牌过期,则程序包将继续提供旧的id令牌。 (因为在关闭应用程序后它无法在后台获取新令牌)

所以我的问题:

是否可以延长id令牌的过期时间?还是还有其他用户验证方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

Firebase身份验证ID令牌的有效期为一小时,并且该持续时间无法更改。您应该做的是每小时刷新一次ID令牌。或者,您可以检查来自端点的响应,该响应指示Admin SDK由于令牌的寿命而无法验证令牌。在这种情况下,客户端可以立即刷新并重试请求。

每个平台的Firebase客户端SDK均具有用于执行刷新的API。由于您没有说明要使用的平台,因此我将为您提供指向Android API的链接。将true传递给getIdToken以强制刷新,或者仅接受刷新提供的内容(将刷新)。其他平台与此类似。