Firebase服务器端verifyIdToken()在幕后做了什么?

时间:2016-11-22 22:23:02

标签: firebase token firebase-authentication verify

我考虑使用Firebase来执行identity verification。我是JWT的新手,所以我很抱歉这是一个显而易见的问题,但我不明白验证是如何实际完成的。似乎FirebaseAuth.getInstance().verifyIdToken(idToken)异步工作,因为结果是通过监听器获得的。我了解某些certificates按照here所述使用,并且这些证书会定期轮换。这是否意味着我的后端服务器与Firebase服务器每次时间之间需要建立联网?我将调用verifyIdToken()?这不是问题吗?

1 个答案:

答案 0 :(得分:4)

为了验证Firebase ID令牌,需要检索Firebase Auth公共证书(网络请求),并定期轮换这些证书。这些是确保Id令牌未被篡改所必需的。首先解析JWT,检查加密令牌的算法是否与预期的匹配,然后使用获得的公钥验证签名,最后验证JWT声明确保令牌未过期。