From 61edba36b3a2472a204bf2255f7a327faeabe445 Mon Sep 17 00:00:00 2001 From: ifedapoolarewaju Date: Tue, 21 Jan 2020 13:14:17 +0100 Subject: [PATCH] companion,website: make encryption shorter + enable onedrive on website example --- .../@uppy/companion/src/server/helpers/utils.js | 15 ++++++++------- .../@uppy/companion/test/__tests__/companion.js | 2 +- website/src/examples/dashboard/app.html | 6 ------ 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/packages/@uppy/companion/src/server/helpers/utils.js b/packages/@uppy/companion/src/server/helpers/utils.js index d27a43af2..c144c0bb2 100644 --- a/packages/@uppy/companion/src/server/helpers/utils.js +++ b/packages/@uppy/companion/src/server/helpers/utils.js @@ -123,11 +123,11 @@ function createIv () { } function urlEncode (unencoded) { - return unencoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, ',') + return unencoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '~') } function urlDecode (encoded) { - encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/,/g, '=') + encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/~/g, '=') return encoded } @@ -141,10 +141,10 @@ function urlDecode (encoded) { module.exports.encrypt = (input, secret) => { const iv = createIv() const cipher = crypto.createCipheriv('aes256', createSecret(secret), iv) - let encrypted = iv.toString('hex') - encrypted += urlEncode(cipher.update(input, 'utf8', 'base64')) - encrypted += urlEncode(cipher.final('base64')) - return encrypted + let encrypted = cipher.update(input, 'utf8', 'base64') + encrypted += cipher.final('base64') + // add iv to encrypted string to use for decryption + return iv.toString('hex') + urlEncode(encrypted) } /** @@ -161,8 +161,9 @@ module.exports.decrypt = (encrypted, secret) => { } const iv = Buffer.from(encrypted.slice(0, 32), 'hex') + const encryptionWithoutIv = encrypted.slice(32) const decipher = crypto.createDecipheriv('aes256', createSecret(secret), iv) - let decrypted = decipher.update(urlDecode(encrypted.slice(32)), 'base64', 'utf8') + let decrypted = decipher.update(urlDecode(encryptionWithoutIv), 'base64', 'utf8') decrypted += decipher.final('utf8') return decrypted } diff --git a/packages/@uppy/companion/test/__tests__/companion.js b/packages/@uppy/companion/test/__tests__/companion.js index b9eb80bdf..166f588e1 100644 --- a/packages/@uppy/companion/test/__tests__/companion.js +++ b/packages/@uppy/companion/test/__tests__/companion.js @@ -98,7 +98,7 @@ describe('test authentication', () => { .expect(200) .expect((res) => { const authToken = res.header['set-cookie'][0].split(';')[0].split('uppyAuthToken--google=')[1] - expect(decodeURIComponent(authToken)).toEqual(token) + expect(authToken).toEqual(token) const body = ` diff --git a/website/src/examples/dashboard/app.html b/website/src/examples/dashboard/app.html index 63f857916..83a975e0e 100644 --- a/website/src/examples/dashboard/app.html +++ b/website/src/examples/dashboard/app.html @@ -108,11 +108,5 @@ facebookCheckbox.style.display = 'inline-block' } - const onedriveCheckbox = document.getElementById('onedrive-checkbox') - onedriveCheckbox.style.display = 'none' - if (document.location.hash === '#enable-onedrive') { - onedriveCheckbox.style.display = 'inline-block' - } - toggleModalBtn()