Problem description
The x-oss-credential field in the signature request is left empty.
Causes
You initiated a signature request that used the V4 signature. However, the x-oss-credential field in the request is left empty.
Examples
The following code provides an example of a URL-based request that uses the V4 signature. However, the x-oss-credential field in the request is left empty.
GET /oss.jpg?x-oss-signature-verion=OSS4-HMAC-SHA256&x-oss-credential=&x-oss-expires=1141889120&x-oss-additional-headers=host&x-oss-signature=8u**a3 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 20 Dec 2022 08:48:18 GMTThe x-oss-credential field that specifies the signature information in the request is required. The value of the x-oss-credential field must be in the following format: <AccessKeyId>/<SignDate>/<Region>/oss/aliyun_v4_request.
Solutions
You must specify the x-oss-signature-verion, x-oss-credential, x-oss-expires, and x-oss-signature fields in the request. You can specify the x-oss-additional-headers field as needed. The following code provides an example on how to specify the x-oss-credential field:
GET /oss.jpg?x-oss-signature-verion=OSS4-HMAC-SHA256&x-oss-credential=LTAI****************/20221220/cn-hangzhou/oss/aliyun_v4_request&x-oss-expires=1141889120&x-oss-additional-headers=host&x-oss-signature=8u**a3 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 20 Dec 2022 08:48:18 GMTReferences
For information about how to use Alibaba Cloud SDKs to initiate a request that uses the V4 signature, see Overview.
Calculate the signature:
For information about how to calculate the V4 signature, see Calculate V4 signature by using OSS SDK for Python.
For information about how to specify the signature logic based on the V1 signature, see Overview.
If the server returns a response that contains the
StringToSignparameter, you must check whether the value of the StringToSign parameter on the server is the same as the string before calculation.