1

私は、次のようなヘッダーを期待する API を使用しています。

認可: ClientKey keyhere
認可: UserKey key2here

このパラメータをRestSharpのリクエストに次のように追加すると:

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

なるほど、最後だけ書いてありますね。鍵が同じだからです。しかし、どうすれば回避できますか?

サーバー側での動作が間違っていることは理解していますが、このコードは他のプラットフォームの本番環境で既に使用されています。

更新しました

私は解決策を見つけました:

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

1 に答える 1

3

セクション14.8 HTTP RFC の承認を参照してください。

サーバーで自分自身を認証したいユーザー エージェントは、通常は 401 応答を受信した後、必ずしもそうとは限りませんが、要求に Authorization 要求ヘッダー フィールドを含めることによって行います。

RFC 2617のセクション3.2.2 The Authorization Request Headerも参照してください。

クライアントは、上記のフレームワークに従って定義され、次のように使用される Authorization ヘッダー行を渡して、リクエストを再試行することが期待されます。

両方の引用符は、とヘッダーについて語っています。RFC によると、ヘッダーを複数回設定できる場合があります。ただし、サーバーには、RFC に従って資格情報を含む1 つのAuthenticationヘッダーを選択する方法がありません。

サーバーは、1 つだけ (最後のそのようなヘッダー) を使用して正しく動作しています。クライアントが壊れています

于 2012-11-05T12:10:59.673 に答える