【Flutter】Firebase_authのSignUpメソッドは同時にSignInしているのでしょうか?

初めまして、flutter一年生です!初歩的な問題ですが、ご教授いただけると幸いです。

実現したいこと

アプリ起動時にサインインの有無を確認し、サインインの履歴があれば同じ情報でサインイン、なければ匿名サインインする。

前提

使用しているパッケージなど

  • Flutter3.0以降
  • firebase_auth

iosとandroid想定です。

発生している問題・エラーメッセージ

例えば以下のコードでサインイン判定をしているとします。

dart

1final auth = firebaseAuth.instance;2final currentUser = auth.currentUser;3 4if(currentUser != null){5 print('サインインしています');6 } else {7 print('サインアウトしています');8}

ドキュメントなどでは上記方法で、サインイン情報があればcurrentUserに情報があり、なければnullになると記述されていました。
またsignUpWithEmailPasswordだけではサインインしておらず、明示的にsignInWithEmailPasswordを実行しなくてはならないとも記述されていました。
つまりアプリの再起動を行った際に前回のセッションでsignInWithEmailPasswordやsignInAnonymouslyを実行していなければcurrentUserはnullになるはずです。しかしsignUpWithEmailPasswordを使用してサインアップ後、アプリを再起動するとなぜかcurrentUserには情報が格納されており、コンソールに「サインインしています」と表示されます。結局のところsignUpWithEmailPasswordはサインインも行っているのか行っていないのかどちらなのでしょうか?また他にサインイン状況を管理する方法はありますでしょうか?

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント