我在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)的信息-可以用于实现上述目的吗?
或者,是否可以限制同时登录的次数?
现在我不使用任何数据库-希望使用不需要使用数据库的解决方案。
答案 0 :(得分:0)
我认为没有数据库是不可能的,因为默认情况下,firebase不提供任何限制或获得用户活动会话的方法。 您可以做的是,登录后可以维护用户在不同设备上的登录历史记录,还可以通过撤消该设备的刷新令牌来注销。 Revoke refresh token
希望这会有所帮助!
答案 1 :(得分:0)
撤销刷新令牌
FirebaseAuth.getInstance().revokeRefreshTokens(uid);
撤销时,用户将注销,并提示重新进行身份验证。