Firebase Authenticationを利用してアカウント削除を実装しました。
実行してみたところ下記エラーが発生したので、その原因と対処法について記載します。(ちなみに、成功することもある)
Loading code...
目次
環境
- React
19.0.0 - Next.js(App Router)
15.1.5 - TypeScript
- ログイン機能:Firebase Authentication
- Toast通知:react-toastify
エラー:Firebase: Error (auth/requires-recent-login). が発生する
アカウント削除を実装し実際にクリックしてみると・・・

この通りエラーが発生する(※文頭の「失敗」はconsole.logで自分で付与しているため表示されている)

Firebase: Error (auth/requires-recent-login). の原因
直近でログイン履歴がないとユーザー情報の操作(削除や更新)ができないとのこと。
Firebase: Error (auth/requires-recent-login). の対処法
今回は、以下の流れで対応することにしました
- アカウント削除
- 該当エラーになった場合:
再ログインを促すメッセージを表示→強制ログアウト→ログイン画面に遷移 - 再ログイン後、アカウントを削除

コード
最終的にこのようなコードになりました。
/component/auth/DeleteUser.tsx
Loading code...
ユーザーを再認証する方法もある
今回はアカウントの削除なので、ログインし直しが必要なフローにしましたが、ユーザーを再認証させる方法もあります。
https://firebase.google.com/docs/auth/web/manage-users?hl=ja#re-authenticate_a_user
メールアドレスやパスワード変更を実装する際には、こちらの方法の方が適切な気がします🤔





