-
Notifications
You must be signed in to change notification settings - Fork 593
feat: add AWS SigV4 proxy integration #5041
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
|
||
| ## Access requirements | ||
|
|
||
| | Pre-Requisites | Status | Comment| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Documentation]
Fix spelling: change "Pre-Requisites" to "Prerequisites".
Context for Agents
[**Documentation**]
Fix spelling: change "Pre-Requisites" to "Prerequisites".
File: docs/integrations/all/aws-sigv4.mdx
Line: 18| | Tools | Status | | ||
| | - | - | | ||
| | HTTP request logging | ✅ | | ||
| | End-to-type type safety | ✅ | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Documentation]
Fix typo: "End-to-type type safety" should be "End-to-end type safety".
Context for Agents
[**Documentation**]
Fix typo: "End-to-type type safety" should be "End-to-end type safety".
File: docs/snippets/generated/aws-sigv4/PreBuiltTooling.mdx
Line: 26| | Pre-configured rate-limit handling | 🚫 (time to contribute: <48h) | | ||
| | Per-customer configurations | ✅ | | ||
| </Accordion> | ||
| </AccordionGroup> No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Documentation]
Add a newline at the end of the file to avoid the “No newline at end of file” marker.
Context for Agents
[**Documentation**]
Add a newline at the end of the file to avoid the “No newline at end of file” marker.
File: docs/snippets/generated/aws-sigv4/PreBuiltTooling.mdx
Line: 40|
A few questions:
|
Our users would have to run the STS helper service |
With some cross-account sts assume role policy I imagine. I guess that what the cloudformation template is setting up. I would like to see the intended template. |
|
The intent is that the Nango customer runs their own STS helper container in their AWS account; it assumes roles on behalf of their end customers. That keeps Nango out of operating that lifecycle and cleanly separates responsibilities. Nango could optionally “provide” a boilerplate service, but only as a contract/example (see https://github.com/nickvelloff/nango-sts-boilerplate). It’s deliberately simple. CloudFormation templates are owned/hosted by the customer because they reflect their specific role needs. The only requirement is that the template URL is publicly readable (CORS-friendly) so the UI can hydrate parameters. Nango could host a few generic templates as defaults, but that’s just a nice-to-have. We assume anyone needing this enterprise-style integration already has the CloudFormation/DevOps maturity to host their own templates. Cloudformation template example (https://raw.githubusercontent.com/nickvelloff/nango-sts-boilerplate/refs/heads/main/infra/cloudformation/s3-readonly.json) - simply hosted publicly. Importantly: This file explains the usage and validation flows a customer would want to leverage when setting this up - https://github.com/nickvelloff/nango-sts-boilerplate/blob/main/docs/aws-sigv4-e2e-validation.md |
Summary
Testing
Add Universal AWS SigV4 Proxy Provider With Full Backend, SDK, and UI Support
This PR introduces a new first-class “AWS SigV4” provider that enables any AWS service to be called through an automatically signed proxy. It spans backend authentication flow, request signing and proxying, type propagation across all SDKs, UI updates, documentation, and extensive tests. The change is backward-compatible but adds a new AuthType enum value that consumers must adopt to leverage the feature.
Key Changes
• Introduced 'aws-sigv4' provider entry in providers.yaml and OpenAPI spec
• Implemented /auth/aws-sigv4 controller for session creation, reconnect, and validation
• Added shared proxy service (aws-sigv4.ts) that builds canonical requests and injects SigV4 headers
• Propagated new AuthType through shared/types, backend, Node client, runner-sdk, and frontend
• Updated Connect UI to surface AWS-specific inputs (region, service, role ARN, externalId, etc.)
• Extended docs, codegen templates, and SDK samples to cover the new provider
• Added unit and integration tests for signing logic, session endpoints, and provider validation
Affected Areas
• Auth controllers (/auth/aws-sigv4)
• Shared proxy/service layer
• Type definitions & SDKs (@types/api, node-client, runner-sdk)
• Webapp / Connect UI
• Docs & generated samples
• Provider validation schema and script
• CI test suites
This summary was automatically generated by @propel-code-bot