在使用JS API时,使用Linkedin登录在iOS Safari上不会触发回调。

8
我在一个网站上使用LinkedIn的JS API进行登录,Chrome和Windows上的FF(Firefox)以及MacOS上的Safari等少数桌面浏览器可以正常工作,但在略微过时的Android Chrome上也可以正常工作。但是,在iOS Safari上(我使用的是iOS 7),它失败了。
问题在于在iOS Safari上,传递给IN.User.authorize的回调不会被执行。
代码行看起来像这样:IN.User.authorize(this._getProfileData, this); _getProfileData在上述桌面浏览器和Android Chrome上被执行,但在iOS Safari上不执行。
甚至可以通过Chrome的开发人员工具在iPhone和iPad的设备模式下重现此问题。
有什么线索吗?
2个回答

4

很不幸,由于Javascript在跨窗口通信过程中被暂停的方式,LinkedIn的JS SDK与iOS 5+不兼容。为了确保100%的平台兼容性,您需要回退到服务器端REST调用。


4
+1 - 这是一个非常重要的警告,应该在LinkedIn JS SDK文档中清楚地说明,以免人们浪费数天的时间来将其作为解决方案实施(就像我一样),最终发现它在iOS上无法工作。文档仅仅说SDK支持Safari 5+,这种支持/文档太差了,LinkedIn。 :-/ - Javid Jamae

0

自2019年5月1日起,以下内容已不再适用:https://engineering.linkedin.com/blog/2018/12/developer-program-updates

使用领英登录:使用领英登录使会员能够选择更方便的方式登录第三方应用程序,并允许这些应用程序了解有关其新用户的更多信息。此API仅识别新的“Lite Profile”权限,该权限支持减少的成员个人资料字段集。有关详细信息,请参阅文档。

SDK:我们的JavaScript和移动软件开发工具包(SDK)将停止工作。开发人员需要迁移到直接从其应用程序中使用OAuth 2.0。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接