在移动浏览器上通过 angularfire 登录到谷歌时出现错误“403 disallowed_useragent”

Sér*_*lho 5 firebase firebase-authentication angularfire2 angular

我正在 angular4 中使用 angularfire2 v4.0.0-rc.2 开发一个项目并将其发布在 firebase 上。

使用 facebook 和 google 登录都可以在桌面浏览器和原生 android 应用程序上运行。

当我尝试通过移动浏览器在 chrome 中登录时,出现以下错误: 在此处输入图片说明

我发现了很多关于谷歌阻止 webViews 访问的帖子,但没有一个真正回答关于如何在没有不特定于 firebase 的解决方法的情况下解决问题的问题。

使用带有弹出窗口和重定向的 angularfire signIn 会发生错误。

有什么想法吗?

小智 4

我在 Google 登录(实际上还有 Facebook 登录)方面也遇到了类似的问题。

具体来说,当有人在 Facebook Messenger 应用程序(iOS 和 Android)中共享链接并使用应用内浏览器单击该链接时,我会收到相同的 403 错误。

我找到的最佳解决方法是检测用户代理 ( navigator.userAgent) 并查看它的字符串中是否包含“Messenger”,然后显示一条消息,要求他们在普通浏览器中打开。

如果有一种方法可以让这些存在此问题的应用内浏览器正常工作,或者可以在普通浏览器中打开而不需要用户找到该功能,那就更好了。

if (window.navigator.userAgent.includes('Messenger')) {
  console.log('User agent includes Messenger');
} else {
  console.log('User agent does not include Messenger');
}
Run Code Online (Sandbox Code Playgroud)