我在使用OAuth身份验证时遇到问题。问题是OAuth身份验证在普通浏览器上正常运行,但它不适用于第三方应用程序的Web视图,如LINE或Facebook的Messenger。当第三方应用的网络视图发生时,当用户点击"使用google"登录时,Google会立即显示错误第403页错误:" disallowed_useragent"。 (当我尝试通过Messenger将链接发送到我的朋友时,会发生这种情况。当我的朋友点击链接时,Messenger会在他们的网络视图上打开我的网络应用程序。我的朋友无法点击登录然后)
因此,我进行了一些搜索,发现Google已通过网络视图弃用了OAuth身份验证。这是LINK。
所以我的问题是: 如果检测到Web视图,是否可以强制用户打开普通浏览器? 或者有一些方法可以解决这个问题吗?
我正在使用Firebase身份验证。我的所有代码都使用Firebase SDK进行身份验证firebase-auth.js和firebase.js)
答案 0 :(得分:0)
Google限制来自webviews和iframe的身份验证,它允许使用safari webkit。如果您使用safari用户代理覆盖用户代理,那么它将起作用。 一旦它可行,试试这个
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");