我正在考虑使用Firebase来执行实名认证。我是JWT的新手,所以如果这是一个显而易见的问题,我很抱歉,但我不明白验证实际上是如何完成的。似乎FirebaseArt. getInstance().verifyIdToken(idToken)
是异步工作的,因为结果是通过侦听器获得的。我知道一些证书如这里所述使用,并且这些证书是定期轮换的。这是否意味着每次我调用verfyIdToken()
时,我的后端服务器和Firebase服务器之间都需要联网?这不是问题吗?
为了验证FirebaseID令牌,需要检索Firebase Auth公共证书(网络请求)并定期轮换这些证书。需要这些证书来确保Id令牌没有被篡改。首先解析JWT,检查加密令牌的算法以查看它是否与预期的匹配,然后使用获得的公钥验证签名,最后验证JWT声明,确保令牌没有过期。