📧
[Flutter × FirebaseAuth] メールアドレスの変更
はじめに
FirebaseAuthでメールアドレス変更の実装メモ
updateProfile メソッドを使用して、ユーザーの基本的なプロフィール情報(ユーザーの表示名とプロフィール写真の URL)を更新できます。」
手順
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