Ich benutze anonyme Auth, um meinen Benutzern zu erlauben, die App zu benutzen, ohne sich anzumelden. Firebase scheint jedoch diese anonymen Benutzer-IDs für immer zu behalten. Gibt es eine Möglichkeit, diese automatisch zu löschen oder eine Art Ablaufregel festzulegen? Ich möchte nicht, dass diese One-Time-Use-IDs für immer leben und die tatsächlichen Benutzerdaten von Providern durcheinander bringen.Löschen anonymer Firebase-Benutzer nach einer Weile
Antwort
Anonyme Benutzer können ein Ausgangspunkt sein, bevor Sie sie auf einen nicht anonymen Benutzer upgraden (denken Sie an eine E-Commerce-Website, wo ein anonymer Benutzer Dinge in seinen Warenkorb und dann beim Auschecken, Upgrades auf Google oder E-Mail/Passwort hinzufügt) Benutzer; in diesem Fall möchten Sie wahrscheinlich nicht den Einkaufswagen des Benutzers verlieren). Wie erläutert, könnte dies nützlich sein, wenn Sie Daten von einem anonymen Benutzer für einen aktualisierten Benutzer beibehalten möchten. Wenn Sie anonyme Benutzer bereinigen möchten, gibt es dafür keinen automatisierten Weg. Sobald Sie jedoch den anonymen Benutzer abmelden oder einen nicht anonymen Benutzer anmelden, geht der Status des anonymen Benutzers verloren.
Leider ist dies ein "Speicherleck" (Benutzerleck?) Da es keinen vernünftigen Weg gibt, einen anonymen Benutzer zum Konvertieren zu zwingen, werden diese anonymen Benutzer-IDs bald zu Zombies, die keinem bestimmten Zweck dienen (den ich mir vorstellen kann)). Darüber hinaus kann sich ein einzelner Benutzer (vergessen) auch als anonymer Benutzer anmelden, nachdem er seine E-Mails bereits mit einer früheren Inkarnation verknüpft hat und dann frustriert wird, wenn er versucht, eine Verknüpfung zu seiner E-Mail herzustellen. Insgesamt finde ich die aktuelle anonyme Benutzerimplementierung unpraktisch oder zumindest weit vom Ideal entfernt.
Momentan plane ich, eine Email-Adresse zu haben, die zufällig ist, aber einzigartig für einen bestimmten Benutzer/Gerät, um anonyme Benutzer zu signieren, anstatt die eingebaute anonyme Anmeldung (die deaktiviert ist) zu benutzen. Meiner Meinung nach muss es eine Einstellung geben, die Firebase anweist, eine anonyme Benutzer-ID beim Abmelden zu löschen (sie sind sowieso zu diesem Zeitpunkt nutzlos) und/oder nach einer vordefinierten Zeit. Darüber hinaus kann es nützlich sein, sich mit der gleichen anonymen Benutzer-ID bis zur Ablaufzeit erneut anmelden zu können (z. B. durch Speichern eines Tokens/etc.). Zuletzt sollte versucht werden, eine bereits verwendete E-Mail zu verknüpfen Verbinden Sie einfach die anonyme Benutzer-ID mit der vorhandenen E-Mail-/Passwort-Benutzer-ID durch einen Bestätigungsschritt.
Es gibt keine Möglichkeit zu Massen löschen, jedoch der folgende Trick für mich gearbeitet:
habe ich Macro Recorder und es funktionierte wie ein Charme. Habe gerade ein paar Iterationen in der Konsole von mir aufgenommen, die Benutzer gelöscht haben, habe es 500 mal wiederholen lassen und bin weggegangen.
Sie können Firebases admin API verwenden, um Benutzer programmatisch zu löschen. Sie müssen eine Benutzerliste in Ihrer Datenbank speichern, da Firebase dafür keine Abfrage bereitstellt.
- 1. RelayCommand funktioniert nach einer Weile
- 2. WMI-Fehler nach einer Weile
- 3. Stuck in einer Weile Schleife nach Gabelung
- 4. Gridview Thumbnails verschwinden nach einer Weile
- 5. IE7 beendet die Netzwerkanforderungen nach einer Weile
- 6. Filterung funktioniert nicht nach einer Weile
- 7. Arduino funktioniert nicht nach einer Weile
- 8. GAE-Kanäle funktioniert nicht nach einer Weile
- 9. Ich werde nach einer Weile aus dem OpenShift-Server geworfen
- 10. Apache poi Stil Einstellung stoppt nach einer Weile
- 11. Smack 4.1.0 GCM CCS reagiert nicht mehr nach einer Weile
- 12. Python-TCP-Server reagiert nicht mehr nach einer Weile
- 13. Warum mein BroadcastReceiver nach einer Weile nicht mehr empfängt
- 14. Zeppelin funken intterpreters wirft java.lang.StackOverflowError nach einer Weile
- 15. iOS Hintergrund Standort Updates nach einer Weile aufhören
- 16. Auto-Commit-Änderungen nach einer Weile mit einem Verbindungspool TRUE
- 17. HTTPWebRequest & Nach einer Weile, 400 (Bad Request) startet
- 18. Qt qpixmap gibt nach einer Weile null zurück
- 19. Android Studio: nicht bearbeitet Dateien nach einer Weile
- 20. Skript wird nach einer Weile aussterben, kein Timeout/Speicherproblem
- 21. iPhone: Nach einer Weile haben alle Animationen aufgehört
- 22. Javascript aktivieren ein deaktiviertes Textfeld nach einer Weile
- 23. Chrome: Onaudioprocess hört auf, nach einer Weile aufgerufen zu werden
- 24. PHP AMQP Verbraucher reagiert nicht nach einer Weile
- 25. Problem mit Linq innerhalb einer Weile-Header
- 26. Erstellen einer neuen Div während einer Weile Loop
- 27. anonymer Namensraum
- 28. Löschen einer Gruppe nach Pandas groupby
- 29. ConflictingBeanDefinitionException auch nach dem Löschen einer Klasse
- 30. Ungültiger anonymer Typ member declarator - Anonymer Typ + Nullable-Operator
http://stackoverflow.com/a/39909854/2254886 fand ich eine Lösung, die Ihnen das Leben leichter machen könnte. – Ryan
lol gut ein Kumpel – rex
Ich habe es als eine Antwort auf Ihre Frage hier, aber die Gemeinschaft gelöscht, weil ich es in mehrere Spots lol. Wahrscheinlich, weil ich die Antwort Wort für Wort auf mehr als einen Beitrag geschrieben habe. Ich habe gerade die Antwort geändert und anders geschrieben. Es könnte gelöscht werden, aber ich bin mir der Regel nicht sicher, da es technisch eine andere Antwort ist. Ich versuche nicht, das System auszutricksen oder irgendetwas, ich möchte nur, dass die Leute die Lösung sehen. – Ryan