我从我的应用程序退出当前用户时遇到问题
我使用的方法如下:
.... onpressed:_signOut //jump to function void _signOut() { FirebaseAuth.instance.signOut(); FirebaseUser user = FirebaseAuth.instance.currentUser; //print('$user'); runApp( new MaterialApp( home: new LoginPage(),) ); }
所以现在当我按下按钮时,它应该签出用户并将它们重定向到主页,他们将不得不再次登录,但是,重定向发生但用户数据仍然会被保存,所以当我再次按下按钮时它会自动使用最后一个帐户重新登录.如何删除用户数据,以便应用程序在每次注销后尝试登录时询问他们的凭据?
我觉得我错过了页面之间的联系以及他们的行为如何相应地改变的东西,但它是什么?
Future<String> _testSignInWithGoogle() async { final GoogleSignInAccount googleUser = await _googleSignIn.signIn(); final GoogleSignInAuthentication googleAuth = await googleUser.authentication; final FirebaseUser user = await _auth.signInWithGoogle( accesstoken: googleAuth.accesstoken,idToken: googleAuth.idToken,); assert(user.email != null); assert(user.displayName != null); assert(!user.isAnonymous); assert(await user.getToken() != null); return 'signInWithGoogle succeeded: $user'; }
class LoginPage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text("Login"),backgroundColor: Colors.blue,),body: new Container( child: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[ new IconButton( icon: new Icon(Icons.account_Box,color: Colors.red),onpressed: _signIn,iconSize: 80.0,new Text("Google Signin") ],) ) ) ); } }
更新:将_signOut()方法更改为异步,如下所示:
Future <LoginPage> _signOut() async{ await FirebaseAuth.instance.signOut(); return new LoginPage(); }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。