获取请求:具有相同密钥的多个标头选项?

问题描述 投票:0回答:1

我正在使用 API,它需要这样的标头:

授权:ClientKey 密钥在此
授权:UserKey key2here

当我将此参数添加到 RestSharp 的请求时,如下所示:

request.AddHeader("Authorization", "ClientKey 111111");
request.AddHeader("Authorization", "UserKey 222222");

我明白了,只写了最后一篇。 因为他们有相同的密钥,但我该如何避免呢?

我知道,这是服务器端的错误行为,但此代码已在其他平台的生产中使用。

已更新

我找到了解决方案:

request.AddHeader("Authorization", "ClientKey 111111, UserKey 222222");
.net rest authorization restsharp
1个回答
3
投票

请参阅 HTTP RFC 的第 14.8 授权

希望通过服务器验证自身身份的用户代理—— 通常,但不一定,在收到 401 响应后——确实 因此,通过包含一个授权请求标头字段 要求。

另请参阅 RFC 2617 的第 3.2.2 授权请求标头部分:

客户端应重试请求,传递授权 标题行,根据上面的框架定义, 使用如下。

两个引文都谈到了 anthe 标题。根据 RFC,“可能”可以多次设置 Authentication 标头。但服务器将无法根据 RFC 选择包含凭据的

one
标头。 仅使用一个(最后一个此类标头),

服务器

即可正常工作。您的客户端已损坏。

© www.soinside.com 2019 - 2024. All rights reserved.