From 71a05dcf9273dd5c04d99befc01411e569172894 Mon Sep 17 00:00:00 2001 From: KirtiRamchandani Date: Sun, 14 Jun 2026 04:55:25 +0000 Subject: [PATCH] fix(rds/auth): include path slash in BuildAuthToken presigned URL Fixes aws/aws-sdk-go-v2#3365 --- feature/rds/auth/connect.go | 2 ++ feature/rds/auth/connect_test.go | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/feature/rds/auth/connect.go b/feature/rds/auth/connect.go index 4169095070e6..aa78baf1ea1d 100644 --- a/feature/rds/auth/connect.go +++ b/feature/rds/auth/connect.go @@ -69,6 +69,8 @@ func BuildAuthToken(ctx context.Context, endpoint, region, dbUser string, creds if err != nil { return "", err } + // Match aws rds generate-db-auth-token URL shape (path must be "/" before query). + req.URL.Path = "/" values := req.URL.Query() values.Set("Action", "connect") values.Set("DBUser", dbUser) diff --git a/feature/rds/auth/connect_test.go b/feature/rds/auth/connect_test.go index 7ccb2332f869..af14b6059482 100644 --- a/feature/rds/auth/connect_test.go +++ b/feature/rds/auth/connect_test.go @@ -22,13 +22,13 @@ func TestBuildAuthToken(t *testing.T) { endpoint: "https://prod-instance.us-east-1.rds.amazonaws.com:3306", region: "us-west-2", user: "mysqlUser", - expectedRegex: `^prod-instance\.us-east-1\.rds\.amazonaws\.com:3306\?Action=connect.*?DBUser=mysqlUser.*`, + expectedRegex: `^prod-instance\.us-east-1\.rds\.amazonaws\.com:3306/\?Action=connect.*?DBUser=mysqlUser.*`, }, { endpoint: "prod-instance.us-east-1.rds.amazonaws.com:3306", region: "us-west-2", user: "mysqlUser", - expectedRegex: `^prod-instance\.us-east-1\.rds\.amazonaws\.com:3306\?Action=connect.*?DBUser=mysqlUser.*`, + expectedRegex: `^prod-instance\.us-east-1\.rds\.amazonaws\.com:3306/\?Action=connect.*?DBUser=mysqlUser.*`, }, { endpoint: "prod-instance.us-east-1.rds.amazonaws.com",