Ich arbeite an einer eckigen App und verwende Firebase, um meine Benutzer zu authentifizieren. Ich würde gerne wissen, wie ich verhindern könnte, dass meine Benutzer ihren Account anderen Leuten geben. Ich möchte auch verhindern, dass Benutzer dasselbe Konto verwenden, um sich von verschiedenen Geräten gleichzeitig anzumelden. Ich habe einige sehr gute Tutorials gefunden, um ein Anwesenheitssystem zu erstellen, aber dieses System verhindert nicht, dass dasselbe Konto von vielen verschiedenen Leuten auf verschiedenen Geräten benutzt wird. Ich konnte überprüfen, ob ein Benutzer versucht, ein Konto zu verwenden, das bereits verwendet wird (online), aber ich kann es nicht schaffen, einen dieser Benutzer abzumelden (mit einem alreaydy Online-Konto ..). Ich habe versucht, auth.signout() in der signInwithemailAndPassword() -Methode aufzurufen, aber es funktioniert nicht, es gelingt mir nicht, die Benutzer abzumelden. Vielen Dank für Ihre Hilfe. Was ich brauche, ist ein Schnipsel, denn theoretisch ist alles sehr einfach.Firebase: dasselbe Konto auf mehreren Geräten verhindern
Antwort
Da Sie nicht angegeben haben, welche Sprache Sie verwenden, werde ich nur Swift verwenden, aber die Prinzipien hinter dem, was ich hier dargelegt habe, sind für alle Sprachen gleich.
Werfen Sie einen Blick auf this question. Es scheint, dass Firebase das, wonach Sie suchen, nicht direkt unterstützt. Sie können jedoch Folgendes tun:
Erstellen Sie einen Baum in Ihrer Datenbank, der einen booleschen Wert für Benutzer-Signs speichert.
SignedIn: {
uid1: {
"signedIn": true
}
uid2: {
"signedIn": false
}
.....
}
Ich gehe davon aus, wo einige nach der Authentifizierung Sie den Bildschirm ändern. Sie möchten nun eine zusätzliche Abfrage durchführen, bevor Sie dies tun. Wenn der Benutzer bereits angemeldet ist, können Sie eine Warnmeldung anzeigen, andernfalls können Sie einfach wie gewohnt fortfahren.
func alreadySignedIn() {
if let uid = Auth.auth().currentUser?.uid {
Database.database().reference().child("SignedIn").child(uid).observeSingleEvent(of: .value, with: { snap in
if let dict = snap.value as? [String: Any] {
if let signedIn = dict["signedIn"] as? Bool {
if signedIn {
// display an alert telling the user only one device can use
// there account at a time
}
else {
// change the screen like normal
}
}
}
})
}
}
Natürlich verhindert dies nur, dass das Konto zur gleichen Zeit "freigegeben" wird. Sie können eine strengere Richtlinie festlegen, wenn Sie die Anmeldung nur anhand einer Geräte-ID zulassen. Zum Beispiel könnten Sie get the device id und nur auf diesem Gerät anmelden. Sie müssten Benutzern erlauben, das zu aktualisieren, wenn sie ein neues Gerät erhalten, aber wenn Sie Ihre Konten wirklich sperren möchten, könnte dies eine bessere Option sein.
- 1. Mixpanel Alias auf mehreren Geräten
- 2. Verhindern der Anmeldung von mehreren Geräten in yii2 framework
- 3. git hub - dasselbe Konto verschiedene Repository
- 4. Speichern von Daten von mehreren Geräten in derselben Firebase-Datenbank?
- 5. Ereignis auf ausgewählten Google-Kalender für dasselbe Konto erstellen
- 6. senden Push-Benachrichtigung mit Firebase unter mehreren Android-Geräten
- 7. Wie verhindere ich, dass Benutzer dasselbe Konto teilen? (ASP.NET MVC)
- 8. Firebase-Authentifizierung für ein Konto mit mehreren verschiedenen E-Mails
- 9. Firebase temporäre ban Konto
- 10. Problem mit App Auto-Update auf mehreren Android-Geräten mit dem gleichen Google-Konto
- 11. Konto in Firebase auf Android löschen
- 12. Firebase-Konto Abfragen
- 13. SQLite zur Registrierung auf mehreren Geräten- Android
- 14. Android-App auf mehreren Geräten ausführen?
- 15. gleichzeitige Outlook Erinnerungen auf mehreren Geräten
- 16. broswerSnyc funktioniert nicht auf mehreren Geräten
- 17. Native Constant Layout auf mehreren Geräten reagieren
- 18. Installieren Sie apk auf mehreren Android-Geräten
- 19. Wie behandelt man das Synchronisieren von Themen auf mehreren Geräten in Firebase?
- 20. Broadcast Audiostream zu mehreren Geräten
- 21. Verhindern dasselbe untergeordnete Fenster mehrmals in MDI-Formular
- 22. Google Analytics für iOS Track zu mehreren Konto für dasselbe Ereignis
- 23. verhindert iPhone App-Nutzer von in in mehreren Geräten Anmeldung
- 24. Verknüpfung Firebase zu einem neuen Konto
- 25. iOS AWS Cognito-Authentifizierung mit mehreren Geräten
- 26. iOS Link zwei Firebase Konto
- 27. Firebase - Benutzerauthentifizierung verhindern
- 28. Firebase Push-Benachrichtigung von PHP MYSQL Server funktioniert nicht auf mehreren Geräten
- 29. Nachrichten von mehreren Geräten kombinieren
- 30. So verhindern Sie anonyme Schlüssel auf Firebase?
TY DoesData inspirierte mich, eine Lösung in angular2 zu implementieren – cedric123