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 中发送两个令牌?
您可以通过使用 Authorization
和 authorization
作为单独的键来摆脱它,服务器应该正确解释它们(因为 header 不是应该区分大小写)。从技术上讲,除了 Cookies
header 的特殊情况外,HTTP header 不应该重复,所以我建议您的自定义授权使用自定义 header ] 还有,类似 X-Authorization
.
我会让这个问题非常简短。在下面的屏幕截图中,邮递员在 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 中发送两个令牌?
您可以通过使用 Authorization
和 authorization
作为单独的键来摆脱它,服务器应该正确解释它们(因为 header 不是应该区分大小写)。从技术上讲,除了 Cookies
header 的特殊情况外,HTTP header 不应该重复,所以我建议您的自定义授权使用自定义 header ] 还有,类似 X-Authorization
.