課題の説明
Authorization
リクエストヘッダーの形式が無効です。
発生原因
V2署名を使用するリクエストを開始しましたが、Authorization
ヘッダーの形式は無効です。
例
V2署名を使用するリクエストを開始しましたが、Authorization
ヘッダーの形式は無効です。
GET /oss.jpg HTTP/1.1
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 火曜日、12月20日2022 08:48:18 GMT
承認: OSS2 AccessKeyId:44 **07、AdditionalHeadershost、署名: n7I** I0=
Authorization
ヘッダーは、署名バージョンと署名情報をスペースで区切ります。
署名バージョン:
OSS2
のみがサポートされています。署名情報: 署名情報は、キーと値のペア (key:value) の形式で表示されます。 キーと値のペアはコンマ (,) で区切り、キーと値はコロン (:) で区切ります。
署名情報のキーには、2つの必須フィールド (
AccessKeyId
とsignature
) と1つのオプションフィールド (AdditionalHeaders
) が含まれます。 上記の例では、AdditionalHeadershost
キーと値のペアのキー (AdditionalHeaders
) と値 (host
) の間のコロンがありません。
ソリューション
V2署名を使用するリクエストのAuthorization
ヘッダーの形式が上記の要件を満たしていることを確認します。 例:
GET /oss.jpg HTTP/1.1
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 火曜日、12月20日2022 08:48:18 GMT
承認: OSS2 AccessKeyId:44 **07、AdditionalHeaders:host、Signature:n7I** I0=
参考資料
Alibaba Cloud SDKを使用してV2署名を使用するリクエストを開始する場合は、「概要」をご参照ください。
自己署名モードを使用します。
V2署名を計算する場合は、「OSS SDK for Pythonを使用してV2署名を計算する」をご参照ください。
署名ロジックを指定する場合は、「概要」をご参照ください。
サーバーが
StringToSign
パラメーターを含む応答を返した場合、サーバーのStringToSignパラメーターの値が計算前の文字列と同じかどうかを確認できます。