我正在考虑使用 Firebase 来执行 identity verification .我是 JWT 的新手,所以如果这是一个明显的问题,我深表歉意,但我不明白验证是如何完成的。看来FirebaseAuth.getInstance().verifyIdToken(idToken)
异步工作,因为结果是通过监听器获得的。我知道有些 certificates按描述使用 here ,并且这些证书会定期轮换。这是否意味着每次我调用 verifyIdToken()
时我的后端服务器和 Firebase 服务器之间都需要联网? ?这不是问题吗?
最佳答案
为了验证 Firebase ID token ,需要检索 Firebase Auth 公共(public)证书(网络请求),并且这些证书会定期轮换。这些是确保 Id token 未被篡改所必需的。首先解析 JWT,检查加密 token 的算法是否与预期匹配,然后使用获得的公钥验证签名,最后验证 JWT 声明以确保 token 未过期。
关于firebase - Firebase 服务器端 verifyIdToken() 在幕后做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40752739/