web-dev-qa-db-de.com

Was passiert mit anonymen Firebase-Benutzern?

Ich möchte wissen, was mit den Benutzern meiner App geschieht, für die ich die anonyme Anmeldemethode verwendet habe.

Die Firebase-Dokumentation ist wirklich SCHLECHT und hat nicht alles erklärt und erwartet, dass der Entwickler es selbst herausfindet. Ich habe in der alten Versionsdokumentation festgestellt, dass eine anonyme Sitzung abläuft, basierend auf der Ablaufzeit, die in der Registerkarte Login & Auth festgelegt wurde. Aber selbst dort wurde nicht erwähnt, dass dies bedeutet, dass nur die Sitzung endet oder dass die Benutzer-ID auch von meiner entfernt wird App-Benutzerliste oder was genau ist passiert?

Ich fand diese Antwort aber es ist wirklich nicht akzeptabel. Die Anzahl anonymer Benutzer wird sehr, sehr schnell zunehmen, wenn Sie eine Web-App erstellen und alles schwer machen. Ich kann nicht einmal die Anzahl meiner App-Benutzer in meinem Dashboard sehen !!!!! Also was soll ich tun? Soll ich ein Dashboard für meine Daten selbst entwickeln oder sollte das das Firebase-Team tun? Zumindest für die Verwaltung von Benutzern sollte ich mehr Macht haben, als nur Benutzer mit ihrer E-Mail zu suchen, und wenn Sie eine benutzerdefinierte Anmeldung verwenden, können Sie dies auch nicht tun.

23
Ali

Anonyme Benutzer verfallen nicht und es gibt derzeit keine automatisierte Methode, um sie zu löschen.

Firebase entfernt sie nicht automatisch, da sie nicht wirklich weiß, ob ein Benutzer noch Daten speichert, die mit diesem Login verknüpft sind - nur der App-Ersteller. Stellen Sie sich vor, Sie spielen ein Puzzlespiel auf Ihrem Handy und kommen zu Stufe 100. Wenn Sie nächstes Jahr zu Stufe 101 wechseln, sind alle Fortschritte verloren. Firebase kann nicht einfach davon ausgehen, dass ein Benutzer für ein Jahr inaktiv ist, was bedeutet, dass das Konto entfernt werden kann.

Es gibt jedoch ein paar Tools, die helfen sollten.

1) Admin SDK & Firebase CLI List-Benutzer. 

2) Verknüpfen mehrerer Authentifizierungsanbieter

3) Auth State Persistence

Sobald Sie Ihre Benutzer auflisten, können Sie überprüfen, ob es keinen anderen Anbieter gibt, der kürzlich nicht verwendet wurde, keine Daten gespeichert hat und sie löschen

Besser wäre es jedoch sicherzustellen, dass pro Benutzer nur ein Konto erstellt wird. Wenn Sie ein anonymes Konto erstellen, um Benutzern zu helfen, Daten zu speichern, bevor Sie sich anmelden, möchten Sie möglicherweise eine Verknüpfung mit einem Authentifizierungsanbieter (wie Google oder E-Mail) anfordern. Wenn Sie das Konto verknüpfen, anstatt ein neues zu erstellen, vermeiden Sie die Aufgabe der aktiven Benutzer.

Im Allgemeinen sollten Sie auch sicherstellen, dass die Auth-Statuspersistenz verwendet wird, um sicherzustellen, dass nicht mehr Konten erstellt werden, als erforderlich sind. Durch das Erstellen eines Kontos pro neuen Besucher anstelle eines Kontos pro Mal, wenn ein Nutzer wiederholt Ihre Seite besucht, wird das Benutzerwachstum erheblich reduziert.

6
Kiana

In meinem Fall verwende ich die anonyme Anmeldemethode zur Authentifizierung ohne Wissen des Benutzers. Jedes Mal, wenn der Benutzer die App verlässt, löschen Sie den anonymen Benutzer durch - 

FirebaseAuth.getinstance().currentuser?.delete()

Es erfolgt keine Stapelung anonymer Benutzer und begrenzt die Anzahl anonymer Benutzer in der App

2
Anshul Garg

Wenn Sie möchten, dass anonyme Benutzer aus Ihrer Benutzerliste entfernt werden, müssen Sie einen Dienst schreiben, der dies für Sie erledigt.

Da Firebase keine Möglichkeit bietet, registrierte Benutzer aufzulisten, müssen Sie sicherstellen, dass Sie eine Art Benutzerliste in der Datenbank speichern. Sie können dann die node.js admin sdk verwenden, um Benutzerdaten abzurufen , zu überprüfen, ob der Benutzer anonym ist , und find , wenn der Benutzer erstellt wurde Aus Leistungsgründen möchten Sie diese Informationen möglicherweise in einem speziellen Bereich Ihrer Datenbank speichern und alle auf einmal abrufen. Sobald Sie einen veralteten anonymen Benutzer identifiziert haben, können Sie leicht gelöscht werden .

0
nloewen