diff --git a/src/Composer/Util/RemoteFilesystem.php b/src/Composer/Util/RemoteFilesystem.php index 4754e304b..7c0e3e76c 100644 --- a/src/Composer/Util/RemoteFilesystem.php +++ b/src/Composer/Util/RemoteFilesystem.php @@ -207,6 +207,16 @@ class RemoteFilesystem $this->retryAuthFailure = true; $this->lastHeaders = array(); + // Use COMPOSER_AUTH environment variable if set + if (getenv('COMPOSER_AUTH')) { + $credentials = []; + preg_match('/(.+):(.+)/', getenv('COMPOSER_AUTH'), $credentials); + + if (count($credentials) === 2) { + $this->io->setAuthentication($originUrl, $credentials[0], $credentials[1]); + } + } + // capture username/password from URL if there is one if (preg_match('{^https?://(.+):(.+)@([^/]+)}i', $fileUrl, $match)) { $this->io->setAuthentication($originUrl, urldecode($match[1]), urldecode($match[2]));