Я использую 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
- Я делаю Basic Auth Request первый, аутентификация пасс
- Я делаю OAuth2 запрос первый, аутентификация пасс
- Я делаю Basic Auth Request и OAuth2 запрос, проход аутентификации для базовой аутентификации и fail для OAuth2.
После отладки я понимаю, что он по-прежнему отправляет заголовки основного Auth Request, а недавно добавленные заголовки не отражаются и не обновляются до Alamofire.
Я hava a Singleton Класс APIClient, который вызывает Alamofire.request()
. Когда я исследую класс Alamofire, получается, что Manager
также является одноэлементным классом. Я предполагаю, что это может быть связано с вышеупомянутыми синглтонами.
Любые советы о том, как правильно отправлять заголовки? Или как сделать Basic Auth & OAuth2 один за другим?
Alamofire: v3.1.2
XCode: 7.2.1
IOS: 9