📧

[Flutter × FirebaseAuth] メールアドレスの変更

2022/07/29に公開

はじめに

FirebaseAuthでメールアドレス変更の実装メモ

updateProfile メソッドを使用して、ユーザーの基本的なプロフィール情報(ユーザーの表示名とプロフィール写真の URL)を更新できます。」

https://firebase.google.com/docs/auth/web/manage-users?hl=ja

手順

1.signInWithEmailAndPassword

前回ログイン時から一定時間経過しているとエラーとなるため、先にログイン処理を実行

FirebaseAuth.instance.signInWithEmailAndPassword(email: email!, password: password!);

2.updateEmail

updateEmailを実行

FirebaseAuth.instance.currentUser!.updateEmail(newEmail!);

結果

手順1、2でメールアドレスが変更ができる
ざっくり以下コード

  // 変更前のemailは別途取得しておく必要あり
 String? email;
  
  // 変更後のemail
  String? newEmail;
  TextEditingController newEmailController = TextEditingController();

  // パスワード
  String? password;
  TextEditingController passwordController = TextEditingController();
  
  // ①update()の前に実行しログイン
  Future login() async {
    password = passwordController.text;
    await FirebaseAuth.instance.signInWithEmailAndPassword(email: email!, password: password!);
  }

  // ②login()後に実行
  Future update() async {
    newEmail = newEmailController.text;
    await FirebaseAuth.instance.currentUser!.updateEmail(newEmail!);
  }

Discussion