AWS Signature Header with n8n

So, Amazon’s API requires this unbelievably complicated “Signature” header to authenticate requests.

I know that n8n has AWS credentials built in, but as far as I know you need to customize the service name depending on the call you’re making. In my case I’m trying to use the amazon selling partner API, but there’s no option for it.

Am I missing something? Is there a way to do this manually with n8n?

Hi @Giovanni_Segar, afaik there is no easy way to access the built-in functionality outside of the HTTP request node and to overwrite individual parts. From taking a quick look art the respective code n8n would determine the service based on the URL provided, which should work in most cases.

Are you seeing any problems related to the service name here here when using the selling partner API?

There are other endpoints that aren’t on the list, like STS (for generating temp credentials) and the selling partner API.

Would love to have functionality like Postman which lets you just write in the service name.

@MutedJam Any suggestions for how to get around this?

I am afraid not (apart from perhaps implementing a custom version of the AWS node handling arbitrary AWS service names). I’ll convert this into a feature request for the time being so you and other users can vote on having this implemented.

Seconding this. (Where do I vote on a feature request?) Now that the old Amazon MWS API isn’t working anymore, I’m porting old code to n8n. I think that many of the Amazon services are migrating to this authentication system, so having this as a generally available authentication capability is probably a valuable feature. And/or, n8n could just provide a module for Amazon SP-API - I imagine that programmatically interfacing with Amazon is a really common use case for n8n.

If you’re self hosting, you can install this package and then invoke it from a Code module: https://www.npmjs.com/package/amazon-sp-api. I just installed it today and it seems to work VERY well. I’ll update this thread if I learn more.

If you’re not self-hosting, you can try installing that package on Amazon Lambda and using n8n’s Lambda module. I did that about a year ago when I was still using Make (using a python SP-API library, not the package above). It’s been working very well.

Lee

1 Like

This functionality will be very important! I need to send an SMS to a specific number, but I can’t authorize an API.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.