From 77a7336f609ab4655db654e9776ee85b6e93bc67 Mon Sep 17 00:00:00 2001 From: JM Faircloth Date: Wed, 12 Jul 2023 16:19:46 -0500 Subject: [PATCH] fix secrets stored in JSON format, revert #473 --- integrationTests/e2e/e2e.test.js | 5 +---- src/action.test.js | 5 +---- src/secrets.js | 11 ----------- 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/integrationTests/e2e/e2e.test.js b/integrationTests/e2e/e2e.test.js index bb9e2056..3924d041 100644 --- a/integrationTests/e2e/e2e.test.js +++ b/integrationTests/e2e/e2e.test.js @@ -12,9 +12,6 @@ describe('e2e', () => { expect(process.env.SUBSEQUENT_TEST_SECRET).toBe("SUBSEQUENT_TEST_SECRET"); expect(process.env.JSONSTRING).toBe('{"x":1,"y":"qux"}'); expect(process.env.JSONSTRINGMULTILINE).toBe('{"x": 1, "y": "q\\nux"}'); - - let result = JSON.stringify('{"x":1,"y":"qux"}'); - result = result.substring(1, result.length - 1); - expect(process.env.JSONDATA).toBe(result); + expect(process.env.JSONDATA).toBe('{"x":1,"y":"qux"}'); }); }); diff --git a/src/action.test.js b/src/action.test.js index 498ab515..eb99bfa2 100644 --- a/src/action.test.js +++ b/src/action.test.js @@ -223,10 +223,7 @@ describe('exportSecrets', () => { it('JSON data secret retrieval', async () => { const jsonData = {"x":1,"y":2}; - // for secrets stored in Vault as pure JSON, we call stringify twice - // and remove the surrounding quotes - let result = JSON.stringify(JSON.stringify(jsonData)); - result = result.substring(1, result.length - 1); + let result = JSON.stringify(jsonData); mockInput('test key'); mockVaultData({ diff --git a/src/secrets.js b/src/secrets.js index 34d28679..ef967a82 100644 --- a/src/secrets.js +++ b/src/secrets.js @@ -82,18 +82,7 @@ async function selectData(data, selector) { } if (result.startsWith(`"`)) { - // Support multi-line secrets like JSON strings and ssh keys, see https://github.com/hashicorp/vault-action/pull/173 - // Deserialize the value so that newlines and special characters are - // not escaped in our return value. result = JSON.parse(result); - } else { - // Support secrets stored in Vault as pure JSON, see https://github.com/hashicorp/vault-action/issues/194 - // Serialize the value so that any special characters in the data are - // properly escaped. - result = JSON.stringify(result); - // strip the surrounding quotes added by stringify because the data did - // not have them in the first place - result = result.substring(1, result.length - 1); } return result; }