aws-login() {
  # In zsh, array indices start at 1. `local -a` declares an array.
  local -a okta_opts
  okta_opts+=(--cache-access-token)

  if [[ -n "$AWS_ACCOUNT_ID" ]]; then
    okta_opts+=(--aws-iam-idp "arn:aws:iam::${AWS_ACCOUNT_ID}:saml-provider/CFA-OKTA-PROD")
    if [[ -n "$AWS_ROLE" ]]; then
      okta_opts+=(-r "arn:aws:iam::${AWS_ACCOUNT_ID}:role/${AWS_ROLE}")
    fi
  fi

  # The "${okta_opts[@]}" syntax expands the array into separate, quoted arguments.
  echo "okta-aws-cli ${okta_opts[@]}"
  eval "$(okta-aws-cli "${okta_opts[@]}")" && export AWS_ENVIRONMENT="$(aws iam list-account-aliases | jq -r '.AccountAliases[0]')"
#  export AWS_ENVIRONMENT=$(aws iam list-account-aliases | jq -r '.AccountAliases[0]')
}
