我们正在开发一个系统,其中客户端(移动应用程序)主要与 node.js 后端通信,有时直接与 firebase 通信。
其中一项功能是点对点消息传递,我们在客户端使用 ChatSDK 来集成 Firebase。我们在理解使用 ChatSDK 的自定义身份验证时遇到了一些困难。
我们希望用户能够使用 ChatSDK 注册和登录(电子邮件、Facebook、Google)。我们的后端使用 admin sdk 的 verifyToken 函数对客户端调用进行身份验证。令牌每小时过期 - 客户端是否应该每小时获取一个新令牌?刷新令牌如何在这里发挥作用?
我们的服务器上有一个端点,可以使用 createCustomToken(uid) 函数生成自定义令牌。用户是否应该先向 chatSDK 注册,然后使用这个端点来获取令牌?这是一个安全问题,人们只需要用户的 id 来获取令牌以通过 HTTP 端点访问敏感数据吗?
1)我们如何单独从chatSDK中获取Token?2) 用户如何确保它始终具有与 node.js 后端通信的有效令牌?