From fce3a5f697810766dd0736ee457bf065812b6720 Mon Sep 17 00:00:00 2001 From: Isaiah Vita Date: Wed, 26 Oct 2022 16:37:58 +0000 Subject: [PATCH] fix tokenprovider check on sharedconfig #1846 --- config/resolve_bearer_token.go | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/config/resolve_bearer_token.go b/config/resolve_bearer_token.go index 017df9b0ffc..2148898210e 100644 --- a/config/resolve_bearer_token.go +++ b/config/resolve_bearer_token.go @@ -52,26 +52,14 @@ func resolveBearerAuthTokenProvider(ctx context.Context, cfg *aws.Config, config func resolveBearerAuthTokenProviderChain(ctx context.Context, cfg *aws.Config, configs configs) (err error) { _, sharedConfig, _ := getAWSConfigSources(configs) - var provider smithybearer.TokenProvider - - // if there is a SSOSession section (new format) - // or if there is sso_region property or sso_start_url property (legacy format) - if sharedConfig.SSOSession != nil || (sharedConfig.SSORegion != "" && sharedConfig.SSOStartURL != "") { - ssoSession := sharedConfig.SSOSession - if ssoSession == nil { - // Fallback to legacy SSO session config parameters, if the - // sso-session section wasn't used. - ssoSession = &SSOSession{ - Name: sharedConfig.SSOStartURL, - SSORegion: sharedConfig.SSORegion, - SSOStartURL: sharedConfig.SSOStartURL, - } - } - - provider, err = resolveBearerAuthSSOTokenProvider( - ctx, cfg, ssoSession, configs) + if len(sharedConfig.SSOSessionName) == 0 || sharedConfig.SSOSession == nil { + err = fmt.Errorf("both sso_session name and sso-session section must be set, %w", err) + return err } + provider, err := resolveBearerAuthSSOTokenProvider( + ctx, cfg, sharedConfig.SSOSession, configs) + if err == nil && provider != nil { cfg.BearerAuthTokenProvider, err = wrapWithBearerAuthTokenCache( ctx, configs, provider)