1
0
Fork 0

Merge pull request #8671 from ethanclevenger91/ethanclevenger91/explicit-bearer-support

Bearer support.
pull/8682/head
Jordi Boggiano 2020-03-10 13:33:02 +01:00 committed by GitHub
commit 0b993ba4b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -116,6 +116,7 @@ abstract class BaseIO implements IOInterface, LoggerInterface
$gitlabOauth = $config->get('gitlab-oauth') ?: array(); $gitlabOauth = $config->get('gitlab-oauth') ?: array();
$gitlabToken = $config->get('gitlab-token') ?: array(); $gitlabToken = $config->get('gitlab-token') ?: array();
$httpBasic = $config->get('http-basic') ?: array(); $httpBasic = $config->get('http-basic') ?: array();
$bearerToken = $config->get('bearer') ?: array();
// reload oauth tokens from config if available // reload oauth tokens from config if available
@ -143,6 +144,10 @@ abstract class BaseIO implements IOInterface, LoggerInterface
$this->checkAndSetAuthentication($domain, $cred['username'], $cred['password']); $this->checkAndSetAuthentication($domain, $cred['username'], $cred['password']);
} }
foreach ($bearerToken as $domain => $token) {
$this->checkAndSetAuthentication($domain, $token, 'bearer');
}
// setup process timeout // setup process timeout
ProcessExecutor::setTimeout((int) $config->get('process-timeout')); ProcessExecutor::setTimeout((int) $config->get('process-timeout'));
} }

View File

@ -817,7 +817,9 @@ class RemoteFilesystem
if ($this->io->hasAuthentication($originUrl)) { if ($this->io->hasAuthentication($originUrl)) {
$authenticationDisplayMessage = null; $authenticationDisplayMessage = null;
$auth = $this->io->getAuthentication($originUrl); $auth = $this->io->getAuthentication($originUrl);
if ('github.com' === $originUrl && 'x-oauth-basic' === $auth['password']) { if ($auth['password'] === 'bearer') {
$headers[] = 'Authorization: Bearer '.$auth['username'];
} elseif ('github.com' === $originUrl && 'x-oauth-basic' === $auth['password']) {
$options['github-token'] = $auth['username']; $options['github-token'] = $auth['username'];
$authenticationDisplayMessage = 'Using GitHub token authentication'; $authenticationDisplayMessage = 'Using GitHub token authentication';
} elseif ($this->config && in_array($originUrl, $this->config->get('gitlab-domains'), true)) { } elseif ($this->config && in_array($originUrl, $this->config->get('gitlab-domains'), true)) {