【问题标题】:How to add LinkedIn OAuth 2.0 authentication in iOS swift?如何在 iOS swift 中添加 LinkedIn OAuth 2.0 身份验证?
【发布时间】:2019-08-09 19:30:03
【问题描述】:

我已经使用 Mobile SDK 实现了 LinkedIn 身份验证。但移动 SDK 身份验证现在不起作用。在 LinkedIn 的网站上,他们提到“我们的 JavaScript 和移动软件开发工具包 (SDK) 将停止工作。开发人员将需要直接从他们的应用程序迁移到使用 OAuth 2.0。”

但他们没有给出实施 OAuth 2.0 身份验证的确切步骤。

我已经参考了许多网站和 StackOverflow 问题,但我没有根据 LinkedIn 的当前问题获得实施此问题的确切步骤。

当 LinkedIn 没有这么多问题时,StackOverflow 上给出的所有答案都是旧的。我也在 LinkedIn 帮助论坛上问过这个问题,但他们建议我在 StackOverflow 上问一个问题。

那么任何人都可以建议我实施 OAuth 2.0 的好教程或步骤吗?

我试过下面的代码:

linkedInHelper.login(from: self, loadingTitleString: "Loading", completion: { (token) in
                    let alertVC = UIAlertController(title: "Success", message: "Your access token is : \(token)!", preferredStyle: .alert)
                    alertVC.addAction(UIAlertAction(title: "Ok", style: .default, handler: { _ in
                        alertVC.dismiss(animated: true, completion: nil)
                    }))
                    self.present(alertVC, animated: true, completion: nil)
                }, failure: { (error) in
                    print(error.localizedDescription)
                }) {
                    print("Cancel")
                } 

但是,它仍然无法正常工作。这给了我一个错误“糟糕,出了点问题。redirect_uri 与注册值不匹配”。

根据一些教程,我也尝试过以下代码:

let linkedinCredentilas = [
    "linkedInKey": "",
    "linkedInSecret": "",
    "redirectURL": "myapp://"
]

let linkedInConfig = LinkedInConfig(linkedInKey: linkedinCredentilas["linkedInKey"]!, linkedInSecret: linkedinCredentilas["linkedInSecret"]!, redirectURL: linkedinCredentilas["redirectURL"]!)

但我不知道重定向 URL 应该是什么。

我只是想在身份验证后将用户重定向到我的应用程序。我不想将用户重定向到任何网站。那么,在这种情况下,我应该提到什么作为重定向 URL?

【问题讨论】:

标签: ios swift authentication linkedin linkedin-api


【解决方案1】:

你在做3-legged OAuth2 or 2-legged OAuth2吗?

OAuth2 的第一步始终是create an OAuth2 Application。在 LinkedIn 上,这是一个两步过程。首先添加应用,然后添加回调 URL:

完成此操作后,您可以使用 Oauth2 流。有几个不错的 OAuth2 库,包括 OAuthSwift

LinkedIn 有一个example here

【讨论】:

  • 如果我不想将用户重定向到任何网站,那么我应该添加什么作为重定向 URL?我只是想将用户重定向回我的应用程序。
  • @swapnilpatel 没关系。如果您使用的是 WKWebView,您可以拦截回调 URL 并存储结果。
  • 所以我必须使用WKWebView?我必须在 WKWebView 中打开的第一个 URL 应该是什么?
  • 我已经在 LinkedIn 中创建了应用程序。但是我应该在我的 iOS 应用程序中做些什么呢?你能告诉我更多细节吗?
猜你喜欢
  • 2018-01-28
  • 2017-10-13
  • 2014-12-05
  • 2012-11-08
  • 2017-06-08
  • 2023-03-07
  • 2023-03-13
  • 2021-05-12
  • 2014-12-27
相关资源
最近更新 更多