Contents
追記
拙稿にて解決しました!
最初に試したもの
必要要件
firebase firestore とfirebase auth。
基本仕様
- SNSっぽく会員登録および認証を使う=firebase auth
- 但しログインしていなくても各アカウントのニックネームとか可視範囲がある=firebase firestore
アカウント登録画面の仕様(追々修正した結果)
- メルアド入力
- firebase authの機能で認証メール発信
- メール内URLからアプリを開いたら、仮パスワードにてアカウントを登録
- プロフィール登録画面を強制的に展開するのでパスワードを改めて登録
ハマりどころ
- firebaseに慣れておらずユーザ情報とかfirestoreでよくなくね?と作業を進めるも
- 本来はauthで認証しないでfirestoreを大公開するのはセキュリティ上あまりオススメしていない
- そもそもauthを使わないと認証メールが飛ばせない
- そこで後からauthを使うよう修正
- ユーザの再認証が解っておらず、結果アカウント登録認証メールは飛んだものの、パスワードの設定やアカウント削除ができない
https://firebase.google.com/docs/auth/web/manage-users?hl=ja#re-authenticate_a_user
試行錯誤の結果把握できたfirebase authとfirestoreに置いた可視範囲の使い方
- まずfirebase authでアカウントをよしなに登録
- authで登録したuidをfirestoreのusersコレクションのdocument idにつけるなりして、可視範囲を登録
懸念
ここまで使って思ったのが、先程のユーザの再認証がネックになりうるのではないかと
パスワードを完全に忘れて認証ができない状態に陥ってしまうと、実質何もできない。
だがこのサービスっていかにもパスワード忘れそうなユーザー層な気がw
こんなん悩むの私だけかもしれないが、ほんと悩んだ。
取り敢えずこの正解をなんとか見つけたい。
パスワードを平文で持っちゃ意味ないんだけど、firestoreに持つやつなのか。
まあ誰か解決してる先人がいるかも知れない。ひとまず頭を一瞬切り替えよう。