如何使用新的Firebase自定义身份验证最长到期时间设置为1小时来实现用例?

时间:2016-06-26 13:09:48

标签: javascript php firebase workflow firebase-authentication

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

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

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

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

使用PHP 感谢

2 个答案:

答案 0 :(得分:2)

在新的Firebase中,自定义令牌仅供客户使用。 我认为您可以使用例工作的方法是处理客户端内的所有数据库连接逻辑。执行此操作的步骤如下所示:

  1. 在客户注册服务时为其分配一些特殊凭据(例如用户名/密码对)。
  2. 构建客户的管理信息中心,如果客户使用该凭据登录后端,请为其创建自定义令牌,然后将其发送回管理信息中心。
  3. 从那里调用signInWithCustomToken(customToken)。
  4. 现在执行数据库所需的所有读写操作,让您的客户管理他们的设置。
  5. 如果您需要服务器直接访问数据库,那么为Google Cloud项目管理中的客户服务器提供凭据将是一个有效的选项,但是服务帐户会授予他们对整个数据库以及可能的其他数据库的特权访问权限应用程序的一部分,所以只有在完全信任您提供这些凭据的服务器时才这样做。

答案 1 :(得分:1)

如果我没有做好 - 最好使用一个令牌为每个客户服务器使用到期时间戳字段。如果您没有检查每个请求上的令牌是否已过期,请进行定期过程,这将在令牌过期后禁用自定义服务器并将其从启用的令牌集合中删除。它允许您只检查该令牌是否在收集中,或者如果令牌已过期,则禁用客户服务器。