在Android应用程序上获取id令牌并在后端服务器上验证它(如何使用id令牌?)

2024-01-08

我正在开发一个 Android 应用程序,它使用来自我自己的 REST API 服务器的数据。我想使用 Firebase 身份验证,因为它允许用户以非常简单的方式使用 Google、Facebook、Twitter...登录。

但我不知道如何使用 ID 令牌:

  • 由于 ID 令牌有过期日期,我是否应该对客户端应用程序中的每个请求调用 getToken 方法,以便确保每次都发送有效令牌?
  • 每次收到客户端应用程序的请求时,是否应该在服务器中调用 verifyIdToken?

我不知道这些方法(getToken 和 verifyIdToken)在幕后做什么,并且因为它们是异步的,所以我担心它们在每次调用时都会向 Firebase 服务器发出请求。所以我认为在每个请求中向 Firebase 服务器发出 2 个请求并不是正确的方法......


getToken() 和VerifyIdToken() 都被设计为针对每个传出/传入请求调用。

1) 虽然 getToken() 是异步的,但 Firebase Android SDK 实际上将当前 Firebase 用户令牌缓存在本地存储中。只要缓存的令牌仍然有效(即发出后一小时内),getToken() 就会立即返回该令牌。仅当缓存的令牌过期时,SDK 才会从远程 Firebase 服务器获取新令牌。

2)VerifyIdToken()也针对性能进行了优化。它缓存 Firebase 令牌公共证书(有效期 6 小时),用于验证本地计算机上的令牌签名。除了下载公共证书之外,不涉及任何 RPC。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Android应用程序上获取id令牌并在后端服务器上验证它(如何使用id令牌?) 的相关文章

随机推荐