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

标签 firebase token firebase-authentication verify

我正在考虑使用 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/

相关文章:

android - 在 Android 上使用 Firebase Analytics 时出现 SERVICE_VERSION_UPDATE_REQUIRED 错误

c# - 如何在Unity中调用Firebase电子邮件登录任务中的函数?

node.js - 使用 Firebase Auth 和 Express 验证社交登录?

android - 某些用户的 Firebase 读/写权限

python - GeoPoint 类型的对象不是 JSON 可序列化的

javascript - 如何让登录用户在 firestore 中创建文档(SDK Web 版本 9 模块)

android - firebase 电话身份验证失败并出现 MISSING_CLIENT_IDENTIFIER

Android ) 首次启动时出现 GCM token 计时问题

token - 在 yacc 中跳过标记

javascript - 在 form.submit 方法上添加标题问题