Alamofire - 授权持有人和授权定制

Alamofire - Authorization Bearer and Authorization Custom

我会让这个问题非常简短。在下面的屏幕截图中,邮递员在 header 字段中获取两个授权令牌。

缺少两个令牌中的任何一个都会导致授权错误。我无法在使用 Alamofire 的请求中同时发送两个 header。当我像这样发送 header 时:

let headers: HTTPHeaders = ["Authorization": "Bearer " + WSO2AuthToken,
                            "Authorization": "Custom " + customAuthToken]
let request = Alamofire.request(url!,
                                method: HTTPMethod.get,
                                parameters: parameters,
                                encoding: JSONEncoding.default,
                                headers: headers)

它通过一个错误说:

Thread 1: Fatal error: Dictionary literal contains duplicate keys

现在的问题是如何在请求的 header 中发送两个令牌?

您可以通过使用 Authorizationauthorization 作为单独的键来摆脱它,服务器应该正确解释它们(因为 header 不是应该区分大小写)。从技术上讲,除了 Cookies header 的特殊情况外,HTTP header 不应该重复,所以我建议您的自定义授权使用自定义 header ] 还有,类似 X-Authorization.