2016-06-18 21 views
10

匿名認証を使用してユーザーがログインせずにアプリケーションを使用できるようにしていますが、Firebaseはこれらの匿名ユーザーIDを無期限に保持しているようです。自動的にこれらをパージしたり、何らかの種類の有効期限ルールを設定する方法はありますか?これらの使い捨てIDは永遠に生き残って、プロバイダーからの実際のユーザーデータを混乱させたくありません。しばらくしてFirebaseの匿名ユーザーを削除します

+0

http://stackoverflow.com/a/39909854/2254886私はあなたの人生を容易にするかもしれない解決策を見つけました。 – Ryan

+0

lol good one mate – rex

+1

私はここにあなたの質問への答えとしてそれを掲示しましたが、私は複数の場所にそれを置くので、コミュニティはそれを削除しました。おそらく私は複数の投稿に単語のための答えの単語を投稿したからです。私はちょうど答えが違うように変更し、再転記しました。削除される可能性がありますが、これは技術的に異なる回答になっているため、これに関するルールはわかりません。私はシステムや何かを騙そうとしていない、私はただ人々に解決策を見てほしい。 – Ryan

答えて

0

匿名ユーザーは、匿名ユーザーにアップグレードする前の出発点となります(匿名ユーザーが自分のカートにアイテムを追加した後、チェックアウト、Googleまたは電子メール/パスワードへのアップグレードこの場合はおそらくユーザーのカートを失いたくはありません)。説明したように、これは匿名ユーザーからアップグレードされたユーザーにデータを永続化する場合に便利です。匿名ユーザーをパージする場合は、自動化された方法はありません。ただし、匿名ユーザーにサインアウトするか、匿名以外のユーザーにサインインするとすぐに、匿名ユーザーの状態は失われます。

4

残念ながら、これは "メモリリーク"(ユーザーリーク?)です。匿名ユーザーに強制的に変換させる妥当な方法はないので、これらの匿名ユーザーIDはすぐに特定の目的を果たさないゾンビになります)。さらに、1人の実際のユーザーが匿名ユーザーとしてサインインすることがあります(忘れてしまったことに、もう一度、既に電子メールを以前のインカネーションにリンクした後で、電子メールにリンクしようとすると挫折します)。全体として、私は、現在の匿名ユーザーの実装が非現実的であること、または少なくとも理想的ではないことがわかります。

今のところ、匿名ユーザーにサインインするために、特定のユーザー/デバイスにランダムであるがユニークな電子メールアドレスを割り当てる予定です。これは、匿名サインインを使用する代わりに無効になります。私の意見では、ログアウト時に匿名ユーザIDを削除するようFirebaseに指示する設定が必要です(あの時点では無意味です)。さらに、有効期限(トークン/ etcを保存するなど)まで、同じ匿名ユーザーIDを使用して、再度サインインできるようにすると便利です。最後に、すでに使用されている電子メールをリンクする試み確認ステップを経て匿名ユーザーIDと既存の電子メール/パスワードユーザーIDをマージするだけです。

1

一括削除する方法はありませんが、しかし、次のトリックは私の仕事:

を私はMacro Recorderを使用し、それが魅力のように働きました。私のコンソールにユーザーを削除して、何度か繰り返して500回繰り返すように設定して歩いていきました。

2

Firebaseのadmin APIを使用して、プログラムでユーザーを削除できます。 Firebaseはそのためのクエリを提供しないため、データベースにユーザリストを保存する必要があります。

関連する問題