首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Express backend带有Firebase身份验证和我自己的数据库来持久化用户

Express backend带有Firebase身份验证和我自己的数据库来持久化用户
EN

Stack Overflow用户
提问于 2021-08-08 16:30:12
回答 1查看 133关注 0票数 1

我正在创建一个系统,其中React中的客户端将实现Firebase身份验证,因此Firebase将signIn用户,但我有一个带有Express的后端服务器,我需要在我自己的数据库(postgresql)中使用这些用户。我可以在后端使用firebase-admin来验证客户端针对每个请求发送的令牌,并从该令牌中提取用户数据及其uid。这样我就可以用这些信息在我自己的数据库中创建一个用户。

问题是,因为我没有在自己的服务器上处理用户注册,所以我必须在身份验证中间件中添加一个验证。每次用户向服务器发出请求时,后端都会验证令牌(使用firebase-admin),并检查该用户是否已存在于我自己的数据库中,因为如果不存在,则创建该用户。

我想看看是否有其他方法来处理这个问题,因为每个请求不仅要验证令牌,还要查询数据库以查找用户。

EN

回答 1

Stack Overflow用户

发布于 2021-08-08 18:06:28

在后端代码中验证ID令牌几乎是所有Firebase后端服务处理它的方式。他们接收ID令牌,从项目请求公钥,解码令牌,然后验证用户是否有权执行他们正在执行的操作。

但是,您似乎希望在某个共享数据库中为用户创建一条记录,我通常建议您不要这么做,因为这会影响可伸缩性。大多数Firebase后端服务缓存的唯一内容是项目密钥(因为这些密钥需要昂贵的HTTP查找)和最近编码/解码的令牌对。但每台服务器上都有单独的缓存,因此这与在数据库中拥有您想要的共享状态有很大的不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68702703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档