Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Add support for AWS authentication #347
Allow end users to easily send requests to Amazon Web Services APIs. Although this authentication scheme is non-standard, the service is widely used and difficult to use without good support from developer tools.
Follows closely existing patterns for other authentication schemes.
More work would be required to support Multifactor authentication, which requires an additional field AWS_SESSION_TOKEN. I can do that as well but would like your guidance on the UI.
Related Issue: #344
A few more comments @focusaurus. And, I noticed you hade some questions on an outdated diff (I can't reply anymore), so I'll answer them here.
Do you want me to convert the x-www-form-urlencoded array of key/value objects which we pass to curl to a finalized and encoded string so it can be passed into aws4 to be signed?
I need to do some refactoring with how the body building is done for the new plugin system, so I can handle this part later. For this PR, I'm fine with only handling text bodies.
When running under npm run dev I can see the unsupported body exception is thrown but the UI doesn't seem to indicate this anywhere.
I noticed this today as well while working on another branch. I pulled the fix into
develop so you can pull it into this branch.
I'm seeing my entered auth values disappear as I navigate off the AWS tab. Is that expected? Is there something about the new code that's not right that's causing that?
One of me comments below points out the cause of this. It was an easy one to miss.
OK thanks for the help. I've made your most recent batch of changes and rebased to clean up the noise. I think this might be ready to merge now. Still room to make the features more thorough in the future, but this at least allows me to call AWS API Gateway endpoints with text bodies, which otherwise is pretty much only possible programmatically as even curl and httpie make it exceedingly difficult.