javascript - 如何实现将新的 Firebase 自定义身份验证最大过期时间设置为 1 小时的用例?

标签 javascript php firebase workflow firebase-authentication

自定义身份验证 token 及其过期时间: 在每个 token 的 1 小时限制之前,我在每个客户注册时为他们的服务器创建了一个自定义 token 。该 token 将在管理仪表板(前端)上用于更改设置和服务器端设置检索。

之前的工作流程: 客户购买后 → 我的服务器 → 创建一段有效时间(例如 6 个月)的客户 token 并将其发送给客户 → 客户通过将 token 添加到其服务器来验证/激活产品。

  • 客户服务器:​使用 token 激活产品。然后,该 token 用于将设置从 Firebase 检索到服务器端。
  • 客户的管理仪表板: token 从服务器端传递到管理仪表板(前端)。前端进行身份验证,客户现在可以更改设置。

考虑到新的 1 小时 token 限制,我的工作流程应该如何? 例如 • 服务器端(在 Google Cloud 项目管理中为客户服务器提供凭据)和前端拥有不同的 token ? • 在 token 过期时通过在我的服务器中构建端点来刷新 token ?

使用 PHP 谢谢

最佳答案

在新版 Firebase 中,自定义 token 只能由客户端使用。 我相信您可以使用例发挥作用的一种方法是从客户端处理所有数据库连接逻辑。执行此操作的步骤如下所示:

  1. 当客户注册您的服务时,为其分配一些特殊凭据(例如用户名/密码对)。
  2. 形成客户的管理信息中心,如果客户在您的后端使用该凭据登录,请为他们创建自定义 token ,并将其发送回管理信息中心。
  3. 从那里调用signInWithCustomToken(customToken)。
  4. 现在执行数据库所需的所有读取和写入操作,以便您的客户管理他们的设置。

如果您要求客户服务器直接访问数据库,那么在 Google Cloud 项目管理中为客户服务器提供凭据将是一个有效的选择,但服务帐号将为他们提供对整个数据库以及可能的其他数据库的特权访问权限您的应用程序的一部分,因此只有在您完全信任您向其提供这些凭据的服务器时才执行此操作。

关于javascript - 如何实现将新的 Firebase 自定义身份验证最大过期时间设置为 1 小时的用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38038806/

相关文章:

javascript - 动态创建 HTML 元素

javascript - 从 Base64 编码的图像中获取尺寸

php - 为什么此上传文件代码在 CakePHP 中不起作用

reactjs - React-redux 与 re-base-firebase。好主意?

javascript - Firebase 资源耗尽(例如检查配额)的 blaze 计划

javascript - 发送序列化数据与 json 数据

出现 PHP 错误但代码仍然正确执行

javascript - 使用 serializeArray,尝试从 ajax 插入多个输入,每个输入都有 ID

ios - 在 Cloud Firestore 中如何获取所有符合 child 某些条件的项目

android - Snapshot Listener 如何处理离线数据?