🌟

FireBaseAuth signInWithEmailAndPassword でinvalid-credentialが発生する時の解決策

に公開

FireBaseAuth の signInWithEmailAndPassword でログインをしようとした時に FirebaseAuthException: code=invalid-credential, message=The supplied auth credential is malformed or has expired. のエラーが出る時の対処法

初めまして!!現在スタートアップでのインターンと同時に個人開発しているmekkと申します!
今回が初めてのZenn記事投稿ですが頑張っていきたいと思います。
もしアプリ開発などで相談があれば連絡ください!

エラー発生状況

以前は以下のコードで
FirebaseAuthのcreateUserWithEmailAndPasswordで一度サインアップしたemailアドレスで
、違ったパスワードでサインインをしようとし過ぎたところ、

flutter:  FirebaseAuthException: code=invalid-credential, message=The supplied auth credential is malformed or has expired.

が正しいパスワードでサインインしても発生していた。(firebase console上にちゃんとメールは表示されている)

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

解決方法

firebase consoleのAuthentication-設定タブにある、
メール列挙保護(推奨)
のチェックを外す。

まとめ

今回自分はパスワード間違った状態でメールでログインを試み過ぎたことでこれでブロックされて無理だったのかもしれません。
invalid-credentialでは多くの原因でスローされてそうなので、一例として参考にしていただければ幸いです。

参考記事

https://stackoverflow.com/questions/77744141/why-is-my-firebase-authentication-error-code-invalid-authentication-instead-of
https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection?hl=ja

Discussion