使用LinkedIn的iOS 9 SDK通过webview而不是LinkedIn的移动应用程序进行身份验证

时间:2015-11-09 05:16:31

标签: ios linkedin

我的iOS应用程序目前为用户提供登录和注册LinkedIn帐户的选项。我正在将此项目用于LinkedIn日志和OAuth:LinkedInOAuth

随着iOS 9的更新,我的应用程序现在偶尔崩溃,当用户尝试使用该项目通过LinkedIn登录时,运行时异常 WebThread(18):EXC_BAD_ACCESS(code = 1,address = 0x8)

为了解决这种偶然的崩溃,我转向使用的project的更新版本符合ios 9和linkedin的ios 9 SDK。

问题在于,虽然这个新项目解决了WebThread崩溃问题,但它现在要求用户下载LinkedIn的应用程序(如果他们没有),以便使用LinkedIn登录我的应用程序。

之前的项目从未有过这样的要求,并且会提供一个允许任何拥有linkedin帐号的人登录的网页视图。

我的问题是,我想知道是否可以在ios 9中使用LinkedIn进行身份验证,而无需用户下载移动应用程序?我希望能够在简单地呈现webvew的同时更新旧项目以符合ios 9。谢谢!

1 个答案:

答案 0 :(得分:2)

我们上周才对此进行了讨论(当时你的问题没有答案,但很高兴现在更新你 - 也就是说,如果你在此期间没有解决这个问题)。

在搜索了几个来源后,我发现了这个:

  

移动与服务器端访问令牌

     

目前,没有可用于交换它们的机制。如果你   需要可以在移动和服务器端使用的令牌   在环境中,您需要实现传统的OAuth 2.0   iOS环境中的解决方案,以获取可能的令牌   在两种情况下均可使用。

来自:https://developer.linkedin.com/docs/ios-sdk-auth

前提是通过移动解决方案,他们通过他们的应用程序提供单点登录。这有效,但需要他们的应用程序。苹果公司的审批程序已经在这方面采取了两种方式,而且似乎是硬币是否允许这样做(第三方应用程序的要求)。 @ AroundThen没有任何运气,他的应用程序因要求而被拒绝,但是,其他用户*表示Apple在申请过程中没有对此产生负面影响。

或者,它们是使用OAuth2的Web登录过程。这是非移动解决方案的绝佳选择。目前,在移动和Web解决方案之间共享令牌不是默认设置,如果您想共享相同的令牌,他们的解决方案就是上面列出的解决方案。

本质上(并从我的其他答案here复制):

  

您可以测试链接应用的存在:

     
      
  • 如果不存在:直接通过您的应用实施OAuth2
  •   
  • 如果它在那里:使用它或你的OAuth2实现(你可能会错误地使用他们的应用程序来获得你可能需要的应用程序的任何功能之间的链接能力。)
  •   
     

从而避免了要求安装应用程序,但如果是,则使用它。

     

这表明支持远离应用程序的身份验证。

据报道,@ AroundThen已经success with this process

祝你好运!

* 1我目前无法找到他的帖子,但基本上他提供了Apple尝试使用的登录凭据,但是有地方问题因此无法进入,但据推断他们可能已批准它,如果他们曾经的。