INNER CODE UNIT · Go

AWSGetSSOToken

kubenav/kubenav · cmd/kubenav/aws.go:210

func AWSGetSSOToken(accountID, roleName, ssoRegion, ssoClientID, ssoClientSecret, ssoDeviceCode, accessToken string, accessTokenExpire int64) (_ string, err error) {
	defer func() {
		if r := recover(); r != nil {
			err = fmt.Errorf("panic: %#v", r)
		}
	}()

	ctx := context.Background()
	grantType := "urn:ietf:params:oauth:grant-type:device_code"

	if accessToken != "" {
		if accessTokenExpire < (time.Now().Unix()+60)*1000 {
			return "", fmt.Errorf("aws_sso_access_token_is_expired")
		}
	} else {
		svcssooidc := ssooidc.NewFromConfig(aws.Config{Region: ssoRegion})

		token, err := svcssooidc.CreateToken(ctx, &ssooidc.CreateTokenInput{

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…