BIS Tech
BIS Tech

Reputation: 19434

Is it possible to delete currentUser firebase authentication user?

I used firebase_auth package to work with flutter. And I used phone authentication to sign in. Everything is working well. But when signout user is not deleted on firebase.

Is it possible to delete firebase user?

 RaisedButton(
    onPressed: () async {
         await FirebaseAuth.instance.signOut();
    }
 )

I tried this way, but error is coming..

delete called null

    _auth.onAuthStateChanged.listen((currentUser)=>{
             currentUser.delete()
}).onError((e)=>print("Error is $e"));

Upvotes: 4

Views: 5774

Answers (2)

Serdar Polat
Serdar Polat

Reputation: 4390

Yes. You must use FirebaseAuth.instance.currentUser.delete() method before (on) signOut() method.

RaisedButton(
    onPressed: () async {
        FirebaseAuth.instance.currentUser.delete();
        await FirebaseAuth.instance.signOut();
    }
)

Upvotes: 10

Frank van Puffelen
Frank van Puffelen

Reputation: 598728

You can't delete the current user after they've signed out, because at that point there is no current user anymore.

But you can prevent this whole chicken-and-egg problem by simply deleting the user without signing out. This should be all that is needed for that:

currentUser.delete()

You can call this operation "logging out" for your users of course, but in code you're simply deleting their account.

Upvotes: 2

Related Questions