【问题标题】:Refresh the oauth linkedin token刷新 oauth linkedin 令牌
【发布时间】:2014-08-19 04:20:56
【问题描述】:
我正在开发一个通过linkedin 使用登录的iOS 应用程序。我正在使用 Web 视图让用户登录并从linkedin 获取令牌。如果我理解正确,我收到的令牌在短期内有效,因此我需要使用现有令牌调用linkedin 以获得延长期限的新令牌。能否请您告诉我应该调用什么 api 来刷新令牌以获取具有扩展有效期的新令牌?
我目前正在使用https://github.com/jeyben/IOSLinkedInAPI
【问题讨论】:
标签:
ios
api
oauth
linkedin
【解决方案1】:
根据 LinkedIn 的说法,没有直接调用 API 来刷新 OAuth 2 令牌。应该发生的情况是:
- 用户已登录领英
- 他们有一个当前(不到 60 天)的令牌
将他们指向身份验证 url 将触发他们的令牌刷新,而无需用户登录。
在使用 iOSLinkedInAPI 库时,情况似乎并非如此。
我发现,身份验证流程没有在 iOS 模拟器或设备上从 LinkedIn 生成登录会话 cookie,因此永远无法满足要求 1。
您需要让用户通过常规的 LinkedIn 登录页面登录,这将为您获取可以缓存的会话 cookie。在您发送用户对您的应用程序进行身份验证后,您可以在每次要调用身份验证 URL 以刷新用户的令牌时将该缓存的 cookie 加载到 NSHTTPCookieStorage sharedHTTPCookieStorage 中。
如果你想检查一下,我创建了一个带有示例的辅助类:
iOSLinkedInTokenAuthorizer