From a9811c4e401476a305490cbc53f28bc92cb4b517 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Thu, 18 Oct 2012 16:40:36 +0200 Subject: [PATCH] Store and reload the github token to/from the config --- src/Composer/Factory.php | 7 +++++++ src/Composer/Repository/Vcs/GitHubDriver.php | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/Composer/Factory.php b/src/Composer/Factory.php index f9bc0d971..4862ff995 100644 --- a/src/Composer/Factory.php +++ b/src/Composer/Factory.php @@ -140,6 +140,13 @@ class Factory $config = static::createConfig(); $config->merge($localConfig); + // reload oauth token from config if available + if ($tokens = $config->get('github-oauth')) { + foreach ($tokens as $domain => $token) { + $io->setAuthorization($domain, $token, 'x-oauth-basic'); + } + } + $vendorDir = $config->get('vendor-dir'); $binDir = $config->get('bin-dir'); diff --git a/src/Composer/Repository/Vcs/GitHubDriver.php b/src/Composer/Repository/Vcs/GitHubDriver.php index b5f8274bf..1f09a595a 100755 --- a/src/Composer/Repository/Vcs/GitHubDriver.php +++ b/src/Composer/Repository/Vcs/GitHubDriver.php @@ -373,6 +373,11 @@ class GitHubDriver extends VcsDriver $this->io->setAuthorization($this->originUrl, $contents['token'], 'x-oauth-basic'); + // store value in user config + $githubTokens = $this->config->get('github-oauth') ?: array(); + $githubTokens[$this->originUrl] = $contents['token']; + $this->config->getConfigSource()->addConfigSetting('github-oauth', $githubTokens); + return; }