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 嵌入