Instagram WebView 阻止 FB 登录

Posted

技术标签:

【中文标题】Instagram WebView 阻止 FB 登录【英文标题】:Instagram WebView blocking FB Signin 【发布时间】:2017-05-08 19:53:00 【问题描述】:

我在公司的 Instagram 简历部分有一个链接。当 ios 用户单击该链接并通过 Instagram WebView 重定向到我公司的网站时,用户无法通过 Facebook 连接到他们的帐户。它只是在他们通过 FB 登录后将他们重定向回同一页面。此问题不会在 android 和网络浏览器上发生 - 只有在应用内浏览器中才会发生。

我尝试使用一个函数来检测用户从 Instagram 重定向的带有 window.location.url 的 URL,因为我们的 Instagram 应用程序上的链接上有一个特定的“Instagram”参数。但是,应用内浏览器似乎没有检测到 window.location.url..

真的坚持这个问题,想知道是否有人遇到过类似的事情。

【问题讨论】:

【参考方案1】:

大多数社交身份验证的开箱即用方式通常是弹出一个窗口。

大多数 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

【讨论】:

【参考方案2】:

https://shoploganpaul.com/account/login 是我发现的一个例子。您可以在哪里使用 Instagram 原生浏览器,但仍可以通过 Facebook 登录。

我认为最大的不同是,在移动设备上,我们尝试打开一个新页面来登录 Facebook,但结果卡住了,然后完全停止了 Instagram 体验。另一方面,https://shoploganpaul.com/account/login 似乎将其加载到现有窗口中,并且可以成功运行。

【讨论】:

以上是关于Instagram WebView 阻止 FB 登录的主要内容,如果未能解决你的问题,请参考以下文章

json FB-的Instagram-网络挂接 - 淋巴结 - 例如

使用 Instagram 的嵌入 url 时 Webview 无法显示

Android WebView 不显示图片 Instagram 嵌入

将 instagram 嵌入 Android WebView

在 Instagram 中发布图片

Instagram 是不是会阻止来自某些 IP 的 CDN URL 请求?