在angular Firebase应用程序中,如何防止使用相同凭据从不同设备多次登录?
在angular Firebase应用程序中,如何防止使用相同凭据从不同设备多次登录?我可以想到两个选项。一个简单的不那么安全,一个更复杂的更安全:在angular Firebase应用程序中,如何防止使用相同凭据从不同设备多次登录?,angular,firebase,web-applications,Angular,Firebase,Web Applications,在angular Firebase应用程序中,如何防止使用相同凭据从不同设备多次登录?我可以想到两个选项。一个简单的不那么安全,一个更复杂的更安全: 您可以在数据库中创建一个文件夹,用于跟踪已登录的用户。然后,您可以在某人尝试登录之前或之后查询它,并相应地处理事件。当然,这种方式无法防止用户篡改javascript 如果您想确保人们无法绕过您的阻止程序,您可以实施自定义身份验证,在此期间检查服务器上的数据库,并且仅在没有其他人登录时返回令牌 创建一个UUID,并在每次登录时将其注册到数据库中
创建一个UUID,并在每次登录时将其注册到数据库中。 然后检查是否匹配,如果不匹配,则注销。 您可以执行以下操作:
import { v4 as uuid } from 'uuid';
// on login
this.uuidValue = uuid();
//Add to db I would say realtime not firestore
this.doCheck();
//Check like
private doCheck() {
this.checkSub = this.db.object(`uuid/$ID`).valueChanges().subscribe((_uuid: any) => {
if(this.uuidValue !== _uuid) {
//logout
this.checkSub.unsubscribe();