适用于嵌入式浏览器中网站的Google OAuth

时间:2017-03-07 05:23:40

标签: php mobile oauth google-oauth embedded-browser

Google不再允许嵌入式网页浏览,因为它是OAuth登录的disallowed_useragent。对于大多数情况,这是完全正常的,并且有一种解决方法。但是,我遇到了这种情况,这会阻止网站使用Web服务器OAuth实现。

问题:

运行Google PHP SDK的Nginx PHP服务器,使用他们的O-Auth实现。这适用于除嵌入式浏览器之外的所有内容。通常情况下这是可以的,但是,如果用户尝试在使用嵌入式浏览器的应用中注册我们的网站,则会出现disallowed_useragent错误(请参见下图)。这在Android Facebook Messenger中似乎不是问题,但可以在iPhone 7 Plus Facebook Messenger上复制。

当前研究:

我试图寻找明确的解决方法。例如。强制链接在主要手机浏览器中打开的方法(例如Safari应用程序),但所有实现都指向应用程序端修复,这是无法通过网站完成的。

问题:

如果某些用户可能正在使用这些嵌入式浏览器,而不让用户采取额外的手动操作(例如在Safari / Chrome中打开),我该如何实施Google Oauth?

enter image description here

1 个答案:

答案 0 :(得分:4)

这个问题非常基于意见,但我会给你我的意见。

  

当某些用户使用这些嵌入式浏览器时,如何在不让用户采取额外操作的情况下实施Google Oauth?

你真的不能。如果有人在Facebook messenger(嵌入式浏览器)中使用嵌入式浏览器打开您的auth链接,则无法正常工作。据我所知,没有办法强迫或过度使用Facebook Messenger或使用其自己的嵌入式浏览器的任何其他应用程序。这只是我的意见,但有很多应用已经开始强迫用户使用这些嵌入式浏览器。人们可以质疑它们的安全性,并且最好使用真正安装的浏览器。你认为这就是为什么google开始启用它的原因吗?

  

我希望避免在检测用户代理网络方面前进,并强制用户在Safari中打开链接。

我不知道这听起来像是一个非常好的解决方案。它可能会像过度杀戮一样,但是如果有效则可以使用它。

相关问题