2016-06-18 18 views
10

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

+0

http://stackoverflow.com/a/39909854/2254886 fand ich eine Lösung, die Ihnen das Leben leichter machen könnte. – Ryan

+0

lol gut ein Kumpel – rex

+1

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

Antwort

0

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.

4

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.

1

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.

2

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.

Verwandte Themen