July 6th, 2024

Curl native support for –aws-sigv4 (2023)

To interact securely with AWS API Gateway endpoints using AWS Signature Version 4, users can leverage curl commands with proper authentication. The process involves specifying URLs, custom domains, access keys, and service identifiers for seamless integration.

Read original articleLink Icon
Curl native support for –aws-sigv4 (2023)

This article discusses how to make AWS Signature Version 4 requests using curl for API Gateway endpoints configured with AWS IAM authorization. By utilizing curl's native support for AWS SigV4, users can seamlessly integrate HTTP requests with the necessary authentication. The example provided includes using the curl command with the specified URL pointing to a custom domain linked to an API Gateway. Additionally, the --user argument is used to pass the AWS access key ID and secret access key associated with the IAM user. It is highlighted that the AWS service identifier for invoking an API Gateway is execute-api, and the complete provider string format is required for curl requests. This method simplifies the process of interacting with AWS services securely through curl commands.

Related

AWS Lambda Web Adapter

AWS Lambda Web Adapter

The GitHub repository provides details on the AWS Lambda Web Adapter, allowing developers to build web apps on AWS Lambda with features like endpoint support, response encoding, and local debugging.

Goodbye VPN by Google One, Hello VPN on Google Cloud

Goodbye VPN by Google One, Hello VPN on Google Cloud

A GitHub guide details setting up Pi-hole and Wireguard on Ubuntu 24.04 LTS via Google Cloud's free tier with cloud-init. It covers gcloud CLI installation, resource provisioning, setup deployment, Wireguard configuration, Pi-hole setup, and resource deletion.

Git Workflows for API Technical Writers

Git Workflows for API Technical Writers

Technical writers encounter challenges in maintaining API documentation aligned with evolving designs. Git workflows provide version control and collaboration benefits. Strategies like merging copy improvements, code annotations, and OpenAPI overlays enhance documentation quality. Involving writers in API design ensures user-centric content. Storing docs in separate repositories can resolve Git conflicts.

Wcurl: a curl wrapper to download files

Wcurl: a curl wrapper to download files

Samuel Henrique introduces "wcurl," a wrapper for curl simplifying file downloads via the terminal. It offers default settings for common use cases, aiming to ease file downloads without complex curl parameters. Available in Debian unstable since July 2, 2024, with plans for wider distribution.

Show HN: Open Sourcing Our No-Code WebXR Editor After 5 Years of Development

Show HN: Open Sourcing Our No-Code WebXR Editor After 5 Years of Development

The GitHub URL for Transfer Thought provides setup instructions for the platform, covering cloning, environment setup, Amplify configuration, backend deployment, frontend installation, local running, and AWS deployment. Assistance is available upon request.

Link Icon 6 comments
By @lopkeny12ko - 5 months
Why are we celebrating proprietary, vendor-specific-extensions in our open source tools that are, by nature, supposed to operate in a vendor-agnostic manner? This flag makes zero sense for anyone who isn't an AWS customer. This is even more insulting considering that "being an AWS customer" is not free (both as in beer and freedom). It really surprises me that this made it into curl.

I've always been a fan of Terraform's provider architecture--all the vendor-specific bits are implemented as third-party plugins that implement a standard API and communicate with Terraform itself in a client-server model.

By @dmart - 5 months
Just mentioning that I love AWS' signed request model. It's so much easier than dealing with OAuth for APIs and I wish it would catch on more broadly. It's inspired an IETF RFC (https://datatracker.ietf.org/doc/html/rfc9421), so we'll see.
By @Galanwe - 5 months
Happy to see that, though it would have been nice if it retrieved the credentials automatically instead of explicitly requiring them.
By @NanoWar - 5 months
I had fun recently to make such a request in C#. In the end I ported the code from the aws typescript implementation to C# which was surprisingly easy: https://gist.github.com/NanoWar/788860d74c49f337f4c3dab6dd24...
By @thomastaylor - 5 months
I appreciate the shout! To accommodate the influx of people coming to the blog, I updated the post to include IAM role assumption credentials as well. I hope you all enjoy!
By @paulddraper - 5 months
This is helpful for calling AWS Gateway API with AWS_IAM authorization.

Or for calling AWS APIs in containers, etc. without installing heavyweight AWS CLI.