Skip to content

presigned URL has invalid signature when S3 PutObject contains tagging #1024

Open
@AleXoundOS

Description

This produces a URL with valid signature:

A.presignURL
  env
  signingTime
  expirationSec
  (newPutObject bucketName objectKey (A.toBody B.empty))

However, this produces a URL with invalid signature:

A.presignURL
  env
  signingTime
  expirationSec
  ( (newPutObject bucketName objectKey (A.toBody B.empty))
      { tagging = Just tagSetTxt
      }
  )

AWS responds with:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

SignedHeaders changes:

- X-Amz-SignedHeaders=host
+ X-Amz-SignedHeaders=host%3Bx-amz-tagging

It seems here are some insights: https://stackoverflow.com/a/77418874/1663197.


I use Amazonka 2.0.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions