tah*_*mis 1 dart firebase-authentication google-signin flutter
我有一个带有多个登录选项(电子邮件和密码、Google 帐户、电话号码)的 flutter 应用程序。用户登录应用程序后,他将拥有一个抽屉。该抽屉内有一个注销按钮,当用户按下该按钮时,应将其注销并将其送回注册页面。所以我一直在使用 firebase auth 的注销实例
await FirebaseAuth.instance.signOut();
但是自从我添加了谷歌登录选项后,我开始面临一个问题,即对于谷歌注销,我需要先断开用户连接await googleSignIn.disconnect();
所以我将这一行添加到注销功能中,如下所示:
Future<void> SignOut() async {
await googleSignIn.disconnect();
await FirebaseAuth.instance.signOut();
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(
builder: (BuildContext context) => AuthPage(),
),
(route) => false,
);}
Run Code Online (Sandbox Code Playgroud)
当用户使用 google 登录时,此按钮工作正常,但如果他使用不同的方法登录,则会引发错误:
未处理的异常:PlatformException(状态,无法断开连接。,null,null)
如何一键处理不同类型的用户退出?
Future<void> SignOut() async {
if (googleSignIn.currentUser != null){
await googleSignIn.disconnect();
await FirebaseAuth.instance.signOut();}
else{
await FirebaseAuth.instance.signOut();}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |