如何将新的 Firebase 自定义身份验证最长到期时间设置为 1 小时来实施用例?
How to implement a use case with the new Firebase Custom Authentication maximum expiration time set to 1 hour?
自定义身份验证令牌及其到期时间:
在每个令牌 1 小时 的 限制之前,我在每个客户注册时为他们的服务器创建一个自定义令牌。该令牌将在管理仪表板(前端)上用于更改设置和服务器端设置检索。
之前的工作流程:
客户购买后 → 我的服务器 → 创建有效时间段(例如 6 个月)的客户令牌并将其发送给客户 → 客户 validates/activates 通过将令牌添加到他们的服务器来产品。
- 客户服务器: 使用Token激活产品。然后使用令牌将设置从 Firebase 检索到服务器端。
- 客户的管理仪表板:令牌从服务器端传递到管理仪表板(前端)。前端进行身份验证,客户现在可以更改设置。
考虑到新的 1 小时令牌限制,我的工作流程应该如何?
例如
• 为服务器端(在Google 云项目管理中为客户服务器提供凭据)和前端使用不同的令牌?
• 通过在我的服务器中构建端点在令牌过期时刷新令牌?
使用PHP
谢谢
如果我没看错 - 最好为每个带有到期时间戳字段的客户服务器使用一个令牌。如果您不打算检查每个请求的令牌是否过期,请进行定期处理,这将在令牌过期后禁用自定义服务器并将它们从启用的令牌集合中删除。它允许您只检查令牌是否在收集中,或者如果令牌过期则禁用客户服务器。
在新的 Firebase 中,自定义令牌仅供客户端使用。
我相信您可以使您的用例正常工作的一种方法是从您的客户端处理所有数据库连接逻辑。这样做的步骤如下所示:
- 在您的客户注册您的服务时为其分配一些特殊凭据(例如 username/pwd 对)。
- 形成客户的管理仪表板,如果客户使用您的后端凭据登录,为他们创建一个自定义令牌,并将其发送回管理仪表板。
- 从那里调用 signInWithCustomToken(customToken)。
- 现在对数据库执行所有必要的读写操作,让您的客户管理他们的设置。
如果您需要他们的服务器直接访问数据库,那么在 Google 云项目管理中为客户服务器提供凭据将是一个有效的选择,但服务帐户会授予他们对整个数据库的特权访问权限,以及您应用程序的其他部分,因此只有在您完全信任您向其提供这些凭据的服务器时才这样做。
自定义身份验证令牌及其到期时间: 在每个令牌 1 小时 的 限制之前,我在每个客户注册时为他们的服务器创建一个自定义令牌。该令牌将在管理仪表板(前端)上用于更改设置和服务器端设置检索。
之前的工作流程: 客户购买后 → 我的服务器 → 创建有效时间段(例如 6 个月)的客户令牌并将其发送给客户 → 客户 validates/activates 通过将令牌添加到他们的服务器来产品。
- 客户服务器: 使用Token激活产品。然后使用令牌将设置从 Firebase 检索到服务器端。
- 客户的管理仪表板:令牌从服务器端传递到管理仪表板(前端)。前端进行身份验证,客户现在可以更改设置。
考虑到新的 1 小时令牌限制,我的工作流程应该如何? 例如 • 为服务器端(在Google 云项目管理中为客户服务器提供凭据)和前端使用不同的令牌? • 通过在我的服务器中构建端点在令牌过期时刷新令牌?
使用PHP 谢谢
如果我没看错 - 最好为每个带有到期时间戳字段的客户服务器使用一个令牌。如果您不打算检查每个请求的令牌是否过期,请进行定期处理,这将在令牌过期后禁用自定义服务器并将它们从启用的令牌集合中删除。它允许您只检查令牌是否在收集中,或者如果令牌过期则禁用客户服务器。
在新的 Firebase 中,自定义令牌仅供客户端使用。 我相信您可以使您的用例正常工作的一种方法是从您的客户端处理所有数据库连接逻辑。这样做的步骤如下所示:
- 在您的客户注册您的服务时为其分配一些特殊凭据(例如 username/pwd 对)。
- 形成客户的管理仪表板,如果客户使用您的后端凭据登录,为他们创建一个自定义令牌,并将其发送回管理仪表板。
- 从那里调用 signInWithCustomToken(customToken)。
- 现在对数据库执行所有必要的读写操作,让您的客户管理他们的设置。
如果您需要他们的服务器直接访问数据库,那么在 Google 云项目管理中为客户服务器提供凭据将是一个有效的选择,但服务帐户会授予他们对整个数据库的特权访问权限,以及您应用程序的其他部分,因此只有在您完全信任您向其提供这些凭据的服务器时才这样做。