gpt4 book ai didi

firebase-authentication - 私有(private)服务器的 Firebase 身份验证

转载 作者:IT老高 更新时间:2023-10-28 12:37:47 25 4
gpt4 key购买 nike

我正在开发一个 Flutter 应用,并希望使用 Firebase 身份验证服务让我的用户能够使用以下方式注册/登录:

  • 电子邮件/通行证
  • 谷歌
  • Facebook

我有一个带有 MySQL 数据库的 lumen 后端 REST 服务器。

问题:通过大量的 firebase 文档,我无法理解这应该如何工作的整个流程。

我可以使用该应用成功创建用户,并且他们会出现在 Firebase 控制台中,但是,我不知道如何使他们能够安全地与我的后端服务器通信。

我希望 Firebase 像 AWS cognito 那样发布访问和刷新 token ,用于我在应用程序和后端之间的私有(private)通信。相反,它发出一个“ID token ”,即 JWT token ,应在后端进行验证。但是验证后我该怎么办?

如何将我的数据库中的用户链接到经过身份验证的用户?存储在数据库中以映射到经过身份验证的用户的东西是什么?

我是否必须通过 Admin SDK 生成自定义 token ?

或者ID Token是应该在每个请求上从客户端传递到后端然后验证的东西?但是,我应该从这个 ID token 到我的数据库中放入什么来将经过身份验证的用户与他们的数据联系起来?

最佳答案

这就是我现在的做法。效果很好。

  1. 在您的后端服务器上安装 Firebase admin sdk,如果您使用的是 php,以下是我遵循并完美运行的内容:PHP Firebase Admin sdk
  2. 在您的客户端(应用程序)中使用 firebase SDK 获取 firebase idToken,我使用过 Firebase auth package为了这。
  3. idToken 发送到您的后端
  4. 使用 Admin SDK 验证 idToken,如果验证成功,则返回一个 Firebase 用户对象。您可以对其执行各种管理操作(修改、删除、获取不同的数据等)。
  5. 从 Firebase 用户对象中获取 uid
  6. 在您的数据库中存储 uid
  7. 现在,每次经过身份验证的用户向您的后端服务器发出请求时,您都会将 idToken 附加到请求的 header 中。
  8. 每次您验证(参见第 4 步)后端服务器上的 idToken 时,如果验证成功,您提取 uid 以了解要在数据库中查询的用户。

欢迎对此提出任何意见/改进:)

关于firebase-authentication - 私有(private)服务器的 Firebase 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com