Flutter Google Sign In 7.1.1版本Hosted Domain功能无法正确过滤邮箱列表问题求助
Flutter Google Sign In 7.1.1版本Hosted Domain功能无法正确过滤邮箱列表问题求助
各位开发者朋友好,我最近把项目里的Google Sign In包升级到了7.1.1版本,碰到了一个很困扰的问题:明明在初始化Google Sign In时指定了hostedDomain为自定义域名customdomain.com,但触发登录弹窗后,还是会显示所有关联的邮箱(比如@gmail.com或者其他域名的邮箱),完全没按照预期只过滤出customdomain.com域名的邮箱。
下面是我当前的实现代码:
final gsi = GoogleSignIn.instance; final scopes = ["profile","email"]; await gsi.initialize( hostedDomain: "customdomain.com", serverClientId: BaseKey.googleSignInServerApiKey, clientId: BaseKey.googleSignInApiKey, ); googleUser = await gsi.authenticate(scopeHint: scopes);
我已经确认在Google Cloud控制台正确配置了这个自定义域名,而且之前版本(具体版本记不清了)这个功能是正常工作的,升级后就出问题了。有没有朋友遇到过类似情况,或者能给我一些排查方向?
我自己尝试过的排查步骤:
- 检查了Google Cloud控制台中OAuth 2.0客户端ID的配置,确认hosted domain已经正确添加
- 清理了项目的build缓存,重新编译运行
- 尝试在安卓、iOS设备上分别测试,问题都存在
目前想到的临时替代思路:
如果暂时无法解决弹窗过滤的问题,可以在用户登录成功后,手动检查用户邮箱的域名是否符合要求,如果不符合就提示并退出登录:
if (googleUser?.email != null && !googleUser!.email.endsWith('@customdomain.com')) { await gsi.signOut(); // 提示用户只能使用指定域名的邮箱登录 }
希望有经验的朋友能帮忙指点一下,谢谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

