您无法从此屏幕登录,因为此应用不符合 Google 的嵌入式 webview 政策

问题描述 投票:0回答:4

我正在开发一个电子商务网站。我们的网站提供使用 google 帐户注册的选项(使用 OAuth)。

我们的网站是响应式的,可以使用移动设备访问,但它不是嵌入式的,我们没有任何 Andriod 或 iOS 应用程序。

今天我从我们的一位用户那里收到以下错误。这就是我得到的全部信息,但听起来她正在尝试注册我们的网站,当她收到以下错误时:

您无法从此屏幕登录,因为此应用不符合要求 与 Google 的嵌入式 webview 政策。如果这个应用程序有一个网站,您 可以打开网络浏览器并尝试从那里登录。

我检查了这个Google页面,上面写着:

Google Identity 团队不断致力于改进 Google 账户安全,为我们创造更安全、更有保障的体验 用户。作为这项工作的一部分,我们最近推出了一种新的安全 浏览器策略禁止嵌入式浏览器中的 Google OAuth 请求 通常称为嵌入式 Web 视图的库。全嵌入式 自 2021 年 9 月 30 日起,网络视图将被屏蔽。

这很奇怪,因为今天是 9 月 29 日! 不完全确定此错误是否是由于 Google 对 OAuth 的更改所致?不知道如何解决这个问题?

webview oauth-2.0 oauth google-oauth google-openid
4个回答
8
投票

Google 自 2016 年以来已宣布并阻止嵌入式 Web 视图,这可能是此错误的原因。

如错误页面中所述,要求用户通过在系统浏览器中访问网站来打开您的应用程序。您的用户可能正在尝试使用在嵌入式网络视图中打开链接的应用程序来访问您的网站。建议您的用户使用系统浏览器登录可以解决这个问题。


0
投票

在移动应用程序中,最佳解决方案是将用户重定向到Google安全策略指南中指定的本机浏览器,并让他们使用

SFSafariViewController
完成注册:

iOS - 最佳解决方案

 let config = SFSafariViewController.Configuration()
 let safari = SFSafariViewController(url: url, configuration: config)
 viewController.present(safari, animated: true)

如果您无法做到这一点并且确实需要在

WebView
(Android) 或
WkWebView
(iOS) 中处理登录,您可以同样手动更改 userAgent:

检查最新的userAgent并手动添加

iOS - 不是最佳解决方案

     let config = WKWebViewConfiguration()
     config.applicationNameForUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Mobile/15E148 Safari/604.1"
     let webView = WKWebView(frame: .zero, configuration: config)

安卓

webView.getSettings().setUserAgentString(System.getProperty("http.agent"));

0
投票

对于任何遇到

Error 403: disallowed_useragent
但您的应用程序甚至不使用 Webview 的人。尝试从 Play 商店更新 Android System Webview,它解决了我的问题。

来自 Google 文档

如果您收到“403 disallowed_useragent”错误,则该应用程序使用嵌入式 WebView。一些开发人员使用 WebView 来帮助在应用程序中显示 Web 内容。嵌入式 WebView 会使您的安全面临风险,因为它们可能会让第三方访问和更改您与 Google 之间的通信。

为了确保您的帐户安全,Google 不再允许嵌入 WebView 截至 2021 年 9 月 30 日。


0
投票

访问被阻止:授权错误

[email protected] 您无法从此屏幕登录,因为此应用不符合 Google 的安全浏览器政策。如果此应用程序有网站,您可以打开网络浏览器并尝试从那里登录。

您可以让应用程序开发人员知道此应用程序不符合 Google 的安全浏览器政策。了解有关此错误的更多信息 如果您是 Garena Free Fire 的开发人员,请参阅错误详细信息。 错误 403:disallowed_useragent

© www.soinside.com 2019 - 2024. All rights reserved.