谷歌宣布他们"将不再允许在嵌入式浏览器中向谷歌提出OAuth请求,称为'网络视图'".
在Android中,来自WebViews的请求获得一个标题HTTP_X_REQUESTED_WITH
,该标题设置为应用程序的包名称.虽然这可以被覆盖,但是可以使用WebView向服务器隐藏我们正在请求的内容.我不知道任何其他默认方式来做到这一点.
有没有办法检测服务器端 - 无论客户端做什么,请求来自Android WebView.这是如何由Google完成的?
没有直接回答您的问题(抱歉),但关于您引用的WebView for OAuth的弃用:即使您找到了避免在OAuth流程中检测到WebView的方法,这样做可能与Google API服务相反:用户数据政策,特别是"不要误导谷歌有关应用程序的操作环境"一节.所以我不建议这样做.
通常使用OAuth的自定义标签(例如通过AppAuth for Android)可以带来更好的用户体验,因为用户可能已经登录Google,允许他们审核您的请求,而无需再次登录.这也是一种更安全的体验.这是迁移的目标 - 为最终用户提供更安全,更实用的OAuth体验:-)