0

我的目标是阻止多个登录用户。我不希望这是客户端,像onDisconnect和onConnect值,但与服务器检查。我碰到这样的回答:“复制此文件到您的验证服务器” - Firebase自定义验证

How to prevent simultaneous logins of the same user with Firebase?

还告诉我,创建自定义的身份验证系统。当我按照文档(https://firebase.google.com/docs/auth/ios/custom-auth),我需要“将此文件复制到您的验证服务器”(3c)。我将如何做到这一点?我只是使用Firebase和我的小iOS应用程序。我想管理这两件事的一切,中间没有服务器,这可能吗?或者只能通过其他服务器上传此文件?

如果上述事情是不可能的,我怎么才能检查服务器是否真的登录?我正在使用云端函数,但我没有遇到用户登录的触发器。请勿使用onDisconnect/onConnect回答,我希望它在服务器端。如果用户已经登录,则用户可能无法登录。谢谢:)

回答

1

实施自定义身份验证要求您有一个安全的位置来为识别每个用户的自定义标记添加铭记。只有客户端代码才能安全地做到这一点,因为这意味着每个人都可以声称自己是他们想要的人。

虽然你可以use Cloud Functions for Firebase来实现一个安全的后端而不需要启动你自己的服务器,但我强烈建议不要这样做,只是为了防止用户从多个位置登录。

谈论安全拆分这两个步骤时,这一点很重要:

  1. 认证 - 证明是他们是谁
  2. 授权的用户 - 经过验证的用户能够使用您的应用

很少有理由让用户无法证明他们是谁。您的担心似乎是让他们无法使用来自多个位置的应用程序。要做到这一点,可能更容易跟踪每个用户在哪里使用已经从using Firebase Database's presence system的应用程序。

另见:

+0

玉以及你是firebaser毕竟!我只是害怕他们的所有漏洞,删除该行代码(onConnect&onDisconnect),重新运行一个破解的版本导致多个登录...但也许我是overthinking :) –