benkehoe / sfn-callback-urls

An application for easy handling of Step Function tokens as callback URLs
Apache License 2.0
47 stars 14 forks source link

Response rejected, Invalid Payload #7

Open wlnt360 opened 3 years ago

wlnt360 commented 3 years ago

I am trying to use this application to test one of the solution and when I was testing this using the steps on this article hosted at jtekdata.

After the final step, when I tried to execute the Step function, I got the following error after clicking on either of Approve or Reject URL.

Approve URL click response

Response rejected!
Details:
{
  "error": "InvalidPayload",
  "message": "Base64 error (Incorrect padding)"
}

Reject URL click response

Response rejected!
Details:
{
  "error": "InvalidPayload",
  "message": "Decryption error (SerializationError:No signature found in message)"
}

I followed all the steps in exact order as mentioned in the article. I was trying to understand how to resolve this issue. Any help would be appreciated.

Debugging options tried

TIA!

benkehoe commented 3 years ago

First, I would make sure you're using the original article, which was on the AWS blog, just to make sure there wasn't an error when it was reposted (without permission) to that site. https://aws.amazon.com/blogs/aws/using-callback-urls-for-approval-emails-with-aws-step-functions/

Second, if the URL as logged in CloudWatch and the URL you've attempted to use from the email are different, can you compare the two and let me know what the difference appears to be?

sc-alscient commented 3 years ago

I have come across a very similar error. I am not sure though if it is due to the changes made mentioned here https://github.com/benkehoe/sfn-callback-urls/issues/8

The URL's that are sent are over 2048 characters when using KMS encryption. Using Outlook, if I right-click on the link and select 'Copy Hyperlink', the link is truncated to 2048 characters in the clipboard. Same if I click the link, it will only pass 2048 characters to the browser (FF in my case). If I copy the link instead by selecting the text in the email, then paste in the browser, it works. I am then seeing a DecryptKeyError which is more than likely my fault but no longer see the Base64 error.