Browse Source

Bearer support.

Ethan Clevenger 5 years ago
parent
commit
cbec8ceb53
2 changed files with 7 additions and 0 deletions
  1. 5 0
      src/Composer/IO/BaseIO.php
  2. 2 0
      src/Composer/Util/RemoteFilesystem.php

+ 5 - 0
src/Composer/IO/BaseIO.php

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

+ 2 - 0
src/Composer/Util/RemoteFilesystem.php

@@ -835,6 +835,8 @@ class RemoteFilesystem
                     $headers[] = 'Authorization: Bearer ' . $auth['password'];
                     $authenticationDisplayMessage = 'Using Bitbucket OAuth token authentication';
                 }
+            } elseif ($auth['password'] === 'bearer' ) {
+                $headers[] = 'Authorization: Bearer '.$auth['username'];
             } else {
                 $authStr = base64_encode($auth['username'] . ':' . $auth['password']);
                 $headers[] = 'Authorization: Basic '.$authStr;