Firebase用户名/密码身份验证-一次仅允许一台设备登录

时间:2019-04-09 16:41:31

标签: android firebase firebase-authentication

我在Android应用中使用Firebase用户名/密码身份验证。但这似乎允许任何数量的设备使用单个用户名/密码登录。有没有办法将登录限制在单个设备(或数量有限的少数设备)上?

我正在寻找的是这样的东西。当新设备使用现有的用户名/密码登录时:

   a) validate the username and password

   b) sign-out all devices currently signed in with that username/password

   c) then sign-in the new device

我看到了有关撤消刷新令牌(https://firebase.google.com/docs/auth/admin/manage-sessions)的信息-可以用于实现上述目的吗?

或者,是否可以限制同时登录的次数?

现在我不使用任何数据库-希望使用不需要使用数据库的解决方案

2 个答案:

答案 0 :(得分:0)

我认为没有数据库是不可能的,因为默认情况下,firebase不提供任何限制或获得用户活动会话的方法。 您可以做的是,登录后可以维护用户在不同设备上的登录历史记录,还可以通过撤消该设备的刷新令牌来注销。 Revoke refresh token

希望这会有所帮助!

答案 1 :(得分:0)

撤销刷新令牌

FirebaseAuth.getInstance().revokeRefreshTokens(uid);

撤销时,用户将注销,并提示重新进行身份验证。