我正在关注Android官方文档中的this article,以确定设备/用户拨打我的后端服务器。
文章陈旧,但最近已经修订。现在已弃用GoogleAuthUtil.getToken(email, scope)
,我使用较新的API替换了该部分:
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.build()
链接文章有一个名为" Magic Happens"的部分,其中说:
通常,当您要求OAuth令牌时,使用该设备的人 看到了一个挑战,问他们是否可以使用他们的身份获得 在一些资源或其他资源。但在这种情况下,系统会查看 范围参数中的服务器端客户端ID,注意到它在 与您的Android应用程序相同的项目,并为您提供令牌 纠缠用户;他们已经同意与你建立关系, 控制该项目的开发人员。
因此,我希望requestIdToken()
方法从不提示用户使用任何权限对话框,但我看到向用户显示了帐户选择对话框。 可以使用GoogleSignIn.getLastSignedInAccount()
进行一次性提示 ,但我希望根本没有提示。我的应用没有Google登录选项,并且要求他们分享他们的Google帐户可能对他们来说似乎不合理。
我误解了这篇文章吗?还是过时了?