Skip to content

Commit

Permalink
Fixes issue with parsing arns (#36)
Browse files Browse the repository at this point in the history
Co-authored-by: michael burton <[email protected]>
  • Loading branch information
mstanbCO and michael burton authored Feb 14, 2024
1 parent 6f7fb3a commit ec51df7
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions pkg/connector/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package connector

import (
"fmt"
"path"
"strings"

"github.com/aws/aws-sdk-go-v2/aws/arn"
Expand Down Expand Up @@ -80,14 +81,12 @@ func iamGroupNameFromARN(input string) (string, error) {
if err != nil {
return "", fmt.Errorf("iamGroupIdFromARN: ARN Parse failed: %w", err)
}
_, after, found := strings.Cut(id.Resource, "group/")
if !found {
return "", fmt.Errorf("iamGroupIdFromARN: invalid resource '%s' in ARN", input)
}
if after == "" {
val := path.Base(id.Resource)
if val == "/" || val == "." {
return "", fmt.Errorf("iamGroupIdFromARN: invalid resource '%s' in ARN", input)
}
return after, nil

return val, nil
}

func ssoUserIdFromARN(input string) (string, error) {
Expand All @@ -110,14 +109,11 @@ func iamUserNameFromARN(input string) (string, error) {
if err != nil {
return "", fmt.Errorf("iamUserNameFromARN: ARN Parse failed: %w", err)
}
_, after, found := strings.Cut(id.Resource, "user/")
if !found {
val := path.Base(id.Resource)
if val == "/" || val == "." {
return "", fmt.Errorf("iamUserNameFromARN: invalid resource '%s' in ARN", input)
}
if after == "" {
return "", fmt.Errorf("iamUserNameFromARN: invalid resource '%s' in ARN", input)
}
return after, nil
return val, nil
}

func extractRequestID(md *middleware.Metadata) proto.Message {
Expand Down

0 comments on commit ec51df7

Please sign in to comment.