これがとても大変でした
やり方は2種類ありました
- カスタムファンクション
- REST API
どちらも試しましたが
最終的にはREST APIの方にしました。
参考にした記事 https://zenn.dev/nocodelab/articles/f02484ced61a63
とにかく、この記事にかかれているようにやりました。
(この記事を書いてくださった方に感謝!!)
また友人の方がこれに感じて具体的な手順を動画にしてくださいました
とてもわかりやすい動画ですので
APIが初めての方でも取り組めると思います。
私もこの動画の手順に従い、すべて完了。いざテストへ!!
ところが・・・
ところが・・・
ところが・・・
ところが・・・
新しいメールアドレスへの認証メールがきているのに それをクッリクしても 私のFirebase Authenticationのメールアドレスが更新されませんでした。
何回もテストしましたが
実は新しいメールアドレスへの認証メールがきているのに
それをクッリクしても
私のFirebase Authenticationのメールアドレスが更新されませんでした。
私はなぜうまくいかないのか・・
調べたところ 「Re-authentication(再認証)の必要性」でした。
もう一度ログインして それからメールアドレスの変更をしたら成功しました。
なぜ再認証が必要だったのか
Firebase Authenticationでは、メールアドレスの変更やパスワードのリセット、アカウントの削除といったセキュリティ上非常に重要な操作を行う際、ユーザーが本当にそのアカウントの持ち主であることを確認するために、直近のログイン情報を要求します。
これは、もし誰かがあなたのスマホを一時的に手に入れたとしても、すぐにメールアドレスやパスワードを変えられないようにするための大切なセキュリティ対策なんです。
あなたの場合、メールアドレス変更の操作を行う際に、前回のログインから一定時間が経過していたため、Firebaseが「本当に本人?」と確認のために再認証を求めていたわけですね。一度ログインし直すことで、最新の認証情報がFirebase側に提供され、メールアドレスの変更が許可された、という流れです。

①メールアドレスを変更するには、事前に一度ログアウト → 再ログインが必要です。
②新しいメールアドレスを入力してください。
③新しいメールに認証メールが届くので、リンクをクリックして認証してください。
これを書き添えて解決としました。