防止多个设备通过 Swift 使用同一个 Firebase 帐户

Ant*_*nyZ 6 ios firebase swift firebase-authentication

我正在使用 Swift 和 Firebase 构建一个 iOS 应用程序进行身份验证,需要避免来自不同设备的同一帐户的多个连接。我在这里阅读了一些其他帖子,但没有找到关于为什么这不起作用的明确答案。我首先尝试使用以下代码检查当前用户是否为零(由于异步调用,它始终显示为零)。

    if Auth.auth().currentUser == nil { 
    // ...
    }
Run Code Online (Sandbox Code Playgroud)

我还尝试在我的 viewDidLoad() 中使用 addStateDidChangeListener() 回调函数,虽然它在发生登录时触发,但它仍然不返回任何当前连接的会话或显示当前用户已登录时我使用不同设备上的相同凭据。

    Auth.auth().addStateDidChangeListener { (auth, user) in
    // ...
    }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来检查我尝试登录 firebase 的帐户当前是否已登录(或未从上一个会话中退出)?