Android 如何在firebase应用程序中实现单设备登录?

Android 如何在firebase应用程序中实现单设备登录?,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我正在使用firebase开发应用程序,我想确定用户是否使用设备登录,然后其他设备是否应该注销。怎么做?我可以根据他们的FCM令牌跟踪它吗?我不知道怎么做FCM令牌并不是每台设备唯一的,它可能会改变,这就是为什么会有更新 我正在考虑一种方法,用布尔值和fcm令牌将用户的uuid存储在firebase数据库中 USERUUID: loggedIn : true Token : his_fcm_token 当用户登录时,你检查他的标志是否为真,这意味着他登录了另一台设备 使用他的f

我正在使用firebase开发应用程序,我想确定用户是否使用设备登录,然后其他设备是否应该注销。怎么做?我可以根据他们的FCM令牌跟踪它吗?我不知道怎么做

FCM令牌并不是每台设备唯一的,它可能会改变,这就是为什么会有更新

我正在考虑一种方法,用布尔值和fcm令牌将用户的uuid存储在firebase数据库中

USERUUID:
    loggedIn : true
    Token : his_fcm_token
当用户登录时,你检查他的标志是否为真,这意味着他登录了另一台设备

使用他的fcm并向旧设备发送数据通知以注销
然后将数据库中的fcm令牌更新为新设备的令牌。

我遇到了一个类似的问题,我这样解决了它:

每次登录时,我都会得到设备的Mac地址,并将其存储在每个用户的数据库中。 当用户第一次登录时,该字段将为空,否则,它将包含一个值(mac地址)

对于每个登录,请检查数据库中该用户的mac地址,并处理这些情况:

1-当用户有mac地址时,您可以检查它与设备mac地址是否相等,如果相等,则是同一设备,并让他进入

2-如果存储的mac地址不同,则他已从其他设备登录,您需要将他从其他设备注销,然后存储当前mac地址。让他登录

这应该足以让你知道该怎么做


我希望这会有所帮助。

如何确保恶意用户不会只是对应用程序代码进行反向工程。每次都会传递相同的MAC地址值?我没有。它必须是服务器端的。但那是我当时唯一能想到的(容易的)事情。我只是新开发人员:)。请让我们知道实现这一目标的最佳方式