setup-composer-auth 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env bash
  2. MAGENTO_USERNAME_PROP="http-basic.repo.magento.com.username"
  3. MAGENTO_PASSWORD_PROP="http-basic.repo.magento.com.password"
  4. hash composer 2>/dev/null && IS_COMPOSER_ON_HOST=true
  5. PUBLIC_KEY="$(bin/clinotty composer config --global $MAGENTO_USERNAME_PROP 2>/dev/null)"
  6. PRIVATE_KEY="$(bin/clinotty composer config --global $MAGENTO_PASSWORD_PROP 2>/dev/null)"
  7. if [ -n "$PUBLIC_KEY" ] && [ -n "$PRIVATE_KEY" ]; then
  8. echo "Composer auth has already been set up."
  9. exit 0
  10. fi
  11. if [ "$IS_COMPOSER_ON_HOST" ]; then
  12. PUBLIC_KEY="$(composer config --global $MAGENTO_USERNAME_PROP 2>/dev/null)"
  13. PRIVATE_KEY="$(composer config --global $MAGENTO_PASSWORD_PROP 2>/dev/null)"
  14. fi
  15. if [ -z "$PUBLIC_KEY" ] || [ -z "$PRIVATE_KEY" ]; then
  16. exec < /dev/tty
  17. echo
  18. echo "Composer authentication required (repo.magento.com public and private keys):"
  19. read -r -p " Username: " PUBLIC_KEY
  20. read -r -p " Password: " PRIVATE_KEY
  21. echo
  22. exec <&-
  23. fi
  24. if [ -z "$PUBLIC_KEY" ] || [ -z "$PRIVATE_KEY" ]; then
  25. echo "Please setup Composer auth for repo.magento.com to continue." && exit 1
  26. fi
  27. # Output must be piped otherwise file descriptor errors occur. Carriage returns?
  28. echo "composer config --global http-basic.repo.magento.com ${PUBLIC_KEY} ${PRIVATE_KEY}" | bin/clinotty bash -
  29. # Also make sure alternate auth.json is setup (Magento uses this internally)
  30. bin/clinotty [ -d "./var/composer_home" ] && bin/clinotty cp /var/www/.composer/auth.json ./var/composer_home/auth.json
  31. echo "Composer auth has been set up."