0044-00000410
Updated at:
Problem description
The request is not authenticated by using a signed URL.
Causes
GetSignedPlaylist obtains the signed URL of each Transport Stream (TS) file in an M3U8 playlist for HTTP Live Streaming (HLS). This API requires URL-based signatures for authentication — the signature must be embedded in the query string, not in the Authorization header.
Examples
The following request triggers this error because the signature is passed in the Authorization header instead of the URL:
GET /private/playlist.m3u8?x-oss-process=hls/sign HTTP/1.1
Date: GMT Date
Host: BucketName.oss.aliyuncs.com
Authorization: OSS2 AccessKeyId:44CF9590006BF252F707, AdditionalHeaders:host, Signature:n7ICNZqamWxtgueWilwL9my3ScJ0qXKGLzn0XHORmI0=
x-oss-hls-sign-token: aSI78fe****78TYOstSolutions
Remove the Authorization header and embed the signature parameters in the URL query string:
GET /private/playlist.m3u8?x-oss-process=hls/sign&OSSAccessKeyId=xxxxx&Expires=1470971863&Signature=*** HTTP/1.1
Date: GMT Date
Host: BucketName.oss.aliyuncs.com
x-oss-hls-sign-token: aSI78fe****78TYOstThe signature is embedded in the URL, so no Authorization header is needed. The key query parameters are:
| Parameter | Description |
|---|---|
OSSAccessKeyId | Your AccessKey ID |
Expires | Unix timestamp after which the signed URL expires |
Signature | The computed signature string |
For details on constructing a signed URL, see Add signatures to URLs.
References
Is this page helpful?