2014-06-27 183 views
2

我正在使用通過linkedin使用登錄的iOS應用程序。我正在使用Web視圖讓用戶登錄並從linkedin獲取令牌。如果我瞭解它是正確的,我收到的令牌短期內有效,因此我需要使用現有令牌打電話給linkedin以獲得具有延長週期的新令牌。你可以讓我知道我應該調用什麼API來刷新令牌以獲得具有擴展有效性的新令牌嗎?我目前使用https://github.com/jeyben/IOSLinkedInAPI刷新oauth linkedin令牌

+0

見Kamyar的文章在這裏:https://developer.linkedin.com/comment/25071#comment-25071。 access_token有效期爲60天。 –

回答

1

根據LinkedIn

沒有直接的API調用刷新的OAuth 2令牌。什麼是應該發生的,如果:

  1. 的用戶登錄到LinkedIn
  2. 他們有一個電流(少於60天)令牌

他們指着認證URL將觸發刷新而不需要用戶登錄。

在使用iOSLinkedInAPI庫時,似乎並未如此。

我想到的是,身份驗證流程並未在iOS模擬器或設備上從LinkedIn生成登錄會話cookie,因此從未滿足要求1。

您需要讓用戶通過常規LinkedIn登錄頁面登錄,這會讓您獲得會話cookie,您可以緩存該cookie。在您發送用戶對您的應用進行身份驗證之後,您可以在每次調用身份驗證URL來刷新用戶令牌時將緩存的Cookie加載到NSHTTPCookieStorage sharedHTTPCookieStorage中。

我創建了一個輔助類用一個例子,如果你想檢查出: iOSLinkedInTokenAuthorizer