使用 JS API 时,使用 Linkedin 登录不会在 iOS Safari 上触发回调
Sign in with Linkedin doesn't trigger callback on iOS Safari when using the JS API
我通过 JS API 在网站上使用 SignIn with Linkedin。它在我测试过的少数桌面浏览器(Chrome 和 FF Windows,MacOS 上的 Safari)和稍微过时的 Android Chrome 上运行良好。但它在 iOS Safari 上失败(我使用 iOS 7)。
问题是在 iOS Safari 上,作为参数传递给 IN.User.authorize
的回调未执行。
该行看起来像这样:IN.User.authorize(this._getProfileData, this);
_getProfileData
在上述桌面浏览器和 Android Chrome 上执行,但不在 iOS Safari 上执行。
甚至可以在没有 iOS 的情况下重现此问题:通过 Chrome 的开发人员工具,在 iPhone 和 iPad 的设备模式下。
有什么线索吗?
不幸的是,LinkedIn 的 JS SDK 与 iOS 5+ 不兼容,因为 Javascript 在跨 window 通信过程中暂停的方式。您将需要回退到服务器端 REST 调用以确保 100% 的平台兼容性。
自 2019 年 5 月 1 日起,此功能不再有效:https://engineering.linkedin.com/blog/2018/12/developer-program-updates
Sign In with LinkedIn: Sign In with LinkedIn enables members to choose
a more convenient way to log-in to third party apps and allows those
apps to learn more about their new user. This API will only recognize
a new “Lite Profile” permission, which supports a reduced set of
member profile fields. See the documentation for more details.
和
SDKs: Our JavaScript and Mobile Software Development Kits (SDKs) will
stop working. Developers will need to migrate to using OAuth 2.0
directly from their apps.
我通过 JS API 在网站上使用 SignIn with Linkedin。它在我测试过的少数桌面浏览器(Chrome 和 FF Windows,MacOS 上的 Safari)和稍微过时的 Android Chrome 上运行良好。但它在 iOS Safari 上失败(我使用 iOS 7)。
问题是在 iOS Safari 上,作为参数传递给 IN.User.authorize
的回调未执行。
该行看起来像这样:IN.User.authorize(this._getProfileData, this);
_getProfileData
在上述桌面浏览器和 Android Chrome 上执行,但不在 iOS Safari 上执行。
甚至可以在没有 iOS 的情况下重现此问题:通过 Chrome 的开发人员工具,在 iPhone 和 iPad 的设备模式下。
有什么线索吗?
不幸的是,LinkedIn 的 JS SDK 与 iOS 5+ 不兼容,因为 Javascript 在跨 window 通信过程中暂停的方式。您将需要回退到服务器端 REST 调用以确保 100% 的平台兼容性。
自 2019 年 5 月 1 日起,此功能不再有效:https://engineering.linkedin.com/blog/2018/12/developer-program-updates
Sign In with LinkedIn: Sign In with LinkedIn enables members to choose a more convenient way to log-in to third party apps and allows those apps to learn more about their new user. This API will only recognize a new “Lite Profile” permission, which supports a reduced set of member profile fields. See the documentation for more details.
和
SDKs: Our JavaScript and Mobile Software Development Kits (SDKs) will stop working. Developers will need to migrate to using OAuth 2.0 directly from their apps.