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

标签 php mobile oauth google-oauth embedded-browser

Google 不再允许嵌入 Web View ,因为它是 OAuth 登录的 disallowed_useragent。对于大多数情况,这完全没问题,并且有一个解决方法。但是,我遇到过这样的情况:这会阻止网站使用 Web 服务器 OAuth 实现。

问题:

Nginx PHP 服务器运行 Google PHP SDK,使用其 O-Auth 实现。除了嵌入浏览器之外,这对所有东西都适用。通常这是可以的,但是,如果用户尝试在使用嵌入式浏览器的应用程序中注册我们的网站,我们会收到 disallowed_useragent 错误(请参见底部图片)。这在 Android Facebook Messenger 中似乎不是问题,但可以在 iPhone 7 Plus Facebook Messenger 上复制。

当前研究:

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

问题:

当某些用户可能使用这些嵌入式浏览器时,如何实现 Google Oauth,而不需要用户采取额外的手动操作(例如在 Safari/Chrome 中打开)?

enter image description here

最佳答案

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

How should I implement Google Oauth when some users may be using these embedded browsers, without making the user to take an extra action?

你真的不能。如果有人使用 Facebook Messenger 中的嵌入式浏览器(嵌入式浏览器)来打开您的身份验证链接,则该链接将不起作用。据我所知,没有办法强制或超越 Facebook Messenger 或任何其他使用其自己的嵌入式浏览器的应用程序。同样,这只是我的观点,但有很多应用程序已经开始强制用户使用这些嵌入式浏览器。人们可能会质疑它们的安全性如何,最好使用真正安装的浏览器。您认为这就是 Google 启用此功能的原因吗?

I would like to avoid going down the road of detecting the user-agent web-side and force the user to open the link in Safari.

我不知道这对我来说听起来是一个相当不错的解决方案。可能感觉有点过度杀戮,但如果它有效,那就去做吧。

关于php - 适用于嵌入式浏览器中网站的 Google OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42640820/

相关文章:

php - 事件类不显示声明的 css

php - 根据每件商品的总金额来优化您的搜索。 PHP 与 MYSQL

php - facebook oauth 无法注销不接受权限的用户

oauth - 小工具 OAuth2 授权

javascript - core-ui-select 重写 URL 后不起作用

PHP MySQL 显示数据库中具有正确 ID 的图像

java - 在 Android 应用程序中设置最小堆大小的目的是什么?

javascript - 如何使 ionic 应用程序在移动和 PC 浏览器上使用?

html - 网站的 Apple Touch 图标

oauth - 使用现有成员数据库将 oAuth 添加到现有 ASP.NET MVC 4 站点