From c338bdd2dd34b4714680e013cf4ee3639913f060 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 23 May 2018 18:13:17 +0200
Subject: [PATCH] fix(nmprc): massage _auth to _authToken only if base64
 encoded

---
 lib/datasource/npm.js             | 2 +-
 test/manager/npm/registry.spec.js | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/datasource/npm.js b/lib/datasource/npm.js
index 6e5bc2db1f..5734270a76 100644
--- a/lib/datasource/npm.js
+++ b/lib/datasource/npm.js
@@ -50,7 +50,7 @@ function setNpmrc(input, exposeEnv = false) {
     npmrc = ini.parse(input);
     // massage _auth to _authToken
     for (const [key, val] of Object.entries(npmrc)) {
-      if (key.endsWith('_auth')) {
+      if (key.endsWith('_auth') && isBase64(val)) {
         logger.debug('Massaging _auth to _authToken');
         npmrc[key + 'Token'] = val;
         npmrc.massagedAuth = true;
diff --git a/test/manager/npm/registry.spec.js b/test/manager/npm/registry.spec.js
index 0558b98b84..c3628e08ba 100644
--- a/test/manager/npm/registry.spec.js
+++ b/test/manager/npm/registry.spec.js
@@ -205,7 +205,8 @@ describe('api/npm', () => {
       .get('/foobar')
       .reply(200, npmResponse);
     npm.setNpmrc(
-      'registry=https://npm.mycustomregistry.com/\n//npm.mycustomregistry.com/:_auth = abcdef'
+      'registry=https://npm.mycustomregistry.com/\n//npm.mycustomregistry.com/:_auth = ' +
+        Buffer.from('abcdef').toString('base64')
     );
     const res = await npm.getDependency('foobar');
     expect(res).toMatchSnapshot();
-- 
GitLab