ログイン前に描いていた絵の所有権を移転する
要はGyazoと同じことがしたい
問題は、どうセキュリティを担保するか
実装案
匿名ログインの際に、秘密のトークンを生成しておく
ローカルとFirestoreに保存する
Firestoreに保存した分は、誰からも読めない
Cloud FunctionsでリクエストしたユーザーのIDが分かれば話が単純かも
(これでとりあえず進める)
メモ
トークンを生成して保存するのは、ログイン処理の直前
移行するかどうかを確認するのは、ログインの直後 (または次回のページロード時)
ただし、なんらかの原因でログイン後に移行を確認せずにページを閉じてしまった場合を考慮しておく
将来リダイレクトでログインを実装した場合にも問題を起こさないため
なので、LocalStorageへの保存は必須
onAuthStateChangedで、トークンがあるかどうかをチェックして、トークンがあれば移行を確認する
移行すべきデータが1件もない場合もある!
トークン保存時にそれを確認したい
ただ、これ以上ログイン前の処理を増やしたくない...気がする
データがあるかどうかのチェックとトークン保存を、Functionsでやるか?
非同期に走らせることができるし
とりあえずはフロントエンドで愚直にやってみる
実際どれくらい遅いか分からないしな
やってみた結果: ほとんど分からない