我在我公司的Instagram生物部分有一个链接。当iOs用户点击该链接并通过Instagram WebView重定向到我公司的网站时,用户无法通过Facebook连接到他们的帐户。它只是在通过FB登录后将它们重定向回同一页面。这个问题不会发生在Android或网络浏览器上 - 只有当它出现在应用内浏览器中时才会发生。
我尝试使用一个函数来检测用于从Instagram重定向用户的window.location.url的URL,因为我们Instagram应用程序上的链接有一个特定的Instagram'参数就可以了。但是,它看起来并不像应用内浏览器正在检测window.location.url ..
真的坚持这个问题,并且想知道是否有人遇到类似的东西。
答案 0 :(得分:2)
大多数社交身份验证开箱即用的方式通常会弹出一个窗口。
大多数iOS原生应用程序(我遇到的)如Reddit或Instagram都不允许弹出窗口。
解决方案是使用一页流进行身份验证。
例如,如果您正在使用Facebook身份验证,而不是使用身份验证按钮弹出窗口对话框进行身份验证,则会将当前window.location
替换为
https://www.facebook.com/v2.10/dialog/oauth?client_id={app-id}&redirect_uri={redirect-uri}
用户成功获得权限后,redirect_uri
会将用户重定向回您的网站,并提供可用于检索访问令牌的参数
请参阅Facebook文档以供参考 https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
答案 1 :(得分:1)
https://shoploganpaul.com/account/login是我发现有效的例子。您可以使用Instagram本机浏览器,但仍然可以通过Facebook登录。
我认为最大的区别是,在移动设备上,我们尝试打开一个新页面登录Facebook,然后卡住,然后完全停止Instagram体验。另一方面,https://shoploganpaul.com/account/login似乎将其加载到现有窗口中,并且它可以成功运行。