首页 > 解决方案 > 将 Firebase 与自定义身份验证 (JWT) 结合使用

问题描述

我目前有一个完全运行的前端(Swift、iOS)和后端(node.js)。我现在正在研究我的应用程序某些部分的实时更新,我决定使用 Firebase,因为它允许我快速部署并在以后轻松扩展。

但是,由于我已经有一个完整的后端设置,它对用户进行身份验证并发送回一个令牌 (JWT),我想知道如何对 Firebase 使用相同的身份验证。想法是根据用户 ID 在 Firebase 中设置自定义规则,并使用此用户 ID(它只是一个常规 ID,例如我的用户 ID 是 1,而不是 UUID)在实时数据库和 Firestore 中创建集合。

我已经阅读了关于自定义令牌的文档,但我有几个问题:

标签: firebasefirebase-realtime-databasegoogle-cloud-firestorefirebase-authenticationjwt

解决方案


JWT 需要使用 Google 提供的一组不同的密钥生成,以便 Firebase 验证 JWT。您不能使用由现有服务器上的另一组密钥签名的现有 JWT。

但是您可以做的是使用您现有的用户 ID 并在为现有系统签名密钥的同时使用 Google 的密钥对其进行签名,最终得到 2 个您传递给客户的 JWT。


推荐阅读