Flutter Web谷歌登录切换账号实现方案咨询(google_sign_in_web)
关于google_sign_in_web实现多账号切换的问题
google_sign_in_web 0.10.2支持多账号添加与切换功能,这依赖于谷歌OAuth授权流程本身的特性,插件已经集成了这一能力。
具体实现方式很简单:
- 当已有登录用户时,直接调用
_googleSignIn.signIn(),谷歌的授权弹窗会自动列出当前浏览器已登录的所有谷歌账号,用户可以选择切换到其他账号,或是添加新账号完成登录。 - 你的现有代码中已经监听了
onCurrentUserChanged,切换账号后该监听器会捕获到新的GoogleSignInAccount实例,自动更新_currentUser状态,无需额外修改监听逻辑。 - 如果需要先登出当前账号再选择新账号,也可以先调用
_googleSignIn.signOut(),再调用signIn(),不过通常直接调用signIn()就能触发账号选择器。
举个简单的按钮触发示例:
ElevatedButton( onPressed: () async { try { await _googleSignIn.signIn(); } catch (error) { print(error); } }, child: const Text('切换账号'), )
内容的提问来源于stack exchange,提问作者user3808307
相关产品推荐
相关产品推荐

