2016-02-12 38 views
2

我一直在使用Alamofire並能正常工作的基本身份驗證#1Alamofire Basic和的oauth2

Alamofire.request(.GET, ENDPOINT_URL).authenticate(user:_username, password: _password).responseJSON { response in } 

和OAuth2用戶#2

let headers = ["Authorization": "Bearer \(getLoginToken()!)"] 

Alamofire.request(.POST, ENDPOINT_URL2, parameters: para, headers: headers,encoding: .JSON).responseJSON { response in } 

現在我改變了一些API認證,以OAuth2,它將是Basic和OAuth的混合體。這個問題是在#3

  1. 我做基本驗證請求首先,驗證通
  2. 我讓OAuth2要求第一,驗證通
  3. 我做基本驗證請求和OAuth2要求,認證合格的基本認證和OAuth2失敗。

調試後,我意識到它仍在發送基本身份驗證請求標頭,並且新添加的標頭未反映並更新爲Alamofire。

我有一個Singleton APIClient類,調用Alamofire.request()。當我檢查Alamofire類時,事實證明Manager也是一個單例類。我猜這可能是由於上述單身人士。

有關如何發送正確傳遞標題的任何建議?或者如何做一個接一個的基本認證& OAuth2?

Alamofire:V3.1.2

的XCode:7.2.1

IOS:9

回答

0

對於誰面臨類似問題的人。我使用基本OAuth的SwiftyHTTP和OAuth2的Alamofire

雖然不是一個完美的解決方案,但其工作正常。