gpt4 book ai didi

ios - Alamofire Basic 和 Oauth2

转载 作者:搜寻专家 更新时间:2023-11-01 05:37:22 24 4
gpt4 key购买 nike

我一直在使用 Alamofire,它适用于基本身份验证 #1

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. 我先做Basic Auth Request,认证通过
  2. 我先做OAuth2 Request,认证通过
  3. 我提出基本身份验证请求和 OAuth2 请求,基本身份验证通过身份验证,OAuth2 身份验证失败。

调试后,我意识到它仍在发送基本身份验证请求 header ,并且新添加的 header 没有反射(reflect)和更新到 Alamofire。

我有一个调用 Alamofire.request() 的 Singleton APIClient 类。当我检查 Alamofire 类时,发现 Manager 也是一个单例类。我猜这可能是由于上述单例造成的。

关于如何发送以正确传递 header 的任何建议?或者Basic Auth & OAuth2 一个接一个怎么办?

Alamofire: v3.1.2

XCode: 7.2.1

IOS: 9

最佳答案

对于遇到过类似问题的任何人。我用 SwiftyHTTP用于基本的 OAuth 和 Alamofire 用于 OAuth2。

虽然不是一个完美的解决方案,但它工作正常。

关于ios - Alamofire Basic 和 Oauth2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com