google-cloud-platform - 由于嵌入式浏览器不存在,Google 想要阻止 OAuth 登录
问题描述
今天我收到了来自 Google 的以下电子邮件:
谨此通知您,自 2021 年 1 月 4 日起,Google 将停止支持从嵌入式浏览器框架登录 Google 帐户。 我们检测到您的一个或多个 OAuth 客户端使用了嵌入式浏览器框架,这可能在 2021 年 1 月 4 日或之后被屏蔽。请检查您在以下 Google OAuth 客户端 ID 中对 Google 帐户授权流程的使用情况,并在 2021 年 1 月 4 日之前进行任何必要的更改:
这很奇怪,因为我的 B2C Web 应用程序既没有加载到嵌入式浏览器中,也没有加载到 Web 视图中。它甚至不是使用嵌入式浏览器或 Web 视图的移动应用程序。根本没有用户可以登录的嵌入式浏览器或 Web 视图。我的 Web 应用程序只是一个简单的公共 B2C“网站”,它做了两件事:
- 用户可以通过 Google OAuth(Google Sign-In for Websites)登录
- 通过 cronjob 使用 OAuth 令牌通过离线访问使用 YouTube 数据 API 自动检索 YouTube 数据
所以我想知道为什么我会收到这封电子邮件。非常感谢您的建议,因为 Google 计划限制/阻止我的 Google API clientID 并且我有点担心网站会中断。
更新1:
- 在我的开发环境中,我在 localhost 上测试 Google OneTap 登录已经有半年了。也许这可能是原因?
- 我还使用 HotJar.com 屏幕录制来优化我的网站。HotJar Javascript 动态生成不可见的 html iframe。也许这可能是一个原因?
更新 2:
关于此主题
的Google 博客文章描述了“浏览器必须启用 JavaScript”和“浏览器必须在用户代理中清楚地标识自己”才能进行 OAuth 登录。
我想知道使用离线访问令牌对 YouTube 数据 API 的服务器端 API 调用是否被视为 OAuth 登录(基本上是这样)。但是离线访问是针对 API 访问进行的,无需用户交互(浏览器)。所以我认为这不应该是问题,但谁知道......
解决方案
更新:在 Google Analytics 上,我们看到我们的一些用户正在使用“Android Webview”登录,这可能是这些警告电子邮件的原因。不过,我们仍在研究它。
我们收到了相同的电子邮件,我们感到困惑。
我们在 Android 和 iOS 上有一个 Cordova 应用程序,多年来一直使用本机身份验证流程,所以我们认为这不是问题。
我们还有一个带有标准 Google 登录的配套网站。
欢迎提出想法