StackOverflow 上有很多关于此问题的帖子,但没有一个为 Web 应用程序提供解决方法,以便在嵌入式浏览器(如 iOS 上的 Facebook/Facebook Messenger)中通过 Google Web Auth 登录服务;但我发现 Pinterest 的网络登录与 Google 按钮似乎可以正常工作,所以我想知道是否有人知道如何让它工作。
几年前,Google 禁止从 webview 登录 Google , Auth0 也发表了一篇有关解决方法的博客文章,但这一切似乎都集中在本机应用程序上,而不是提供 Google 作为登录选项的 Web 应用程序。
但我公司的应用程序是一个网络应用程序,我们希望当有人在 Facebook Messenger/Facebook 帖子上分享我们网站的链接时,用户可以使用 Google 登录,即使他们没有弹出本机 Safari 浏览器。根据上述文档,这似乎是不可能的 - 但实际上我发现 Pinterest 的“使用 Google 登录”按钮确实有效!所以看来有一种方法可以让 Google 登录正常工作(不确定他们是否与 Google 达成了特殊协议,或者他们是否正在做我们/Auth0 也可以做的事情)。
重现步骤:
https://community.auth0.com为了证明似乎确实有一种方法可以在野外完成此操作:
我正在开发一个作为HTA实现的应用程序.我有一系列链接,我想在系统的默认Web浏览器中打开.<a href="url" target="_blank">无论默认浏览器如何,使用都会在IE中打开链接.
有没有办法使用默认浏览器?使用JavaScript是一种选择.
Android和IOS设备均具有检测Guest Wifi网络上的强制门户的机制。每当检测到强制门户时,这些设备就会启动嵌入式浏览器以显示强制门户。
我的强制门户网站允许我的访客wifi使用其Google身份验证凭据,以允许访问我的wifi。
门户网站会触发带有Google服务的OAuth 2.0,并获取用户个人资料。
一切正常,不幸的是,Google决定于4月22日停止在嵌入式浏览器中支持OAuth 2.0。
https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html
据我所知,在强制门户检测过程中,没有办法强迫IOS或Android设备启动真正的浏览器。
由于无法控制此嵌入式浏览器,我必须允许我的访客使用其Google凭据使用哪些选项?如果没有其他选择,我将不得不迁移到目前没有此限制的Facebook身份验证模块。
谢谢威廉