From e5ca74684d2e5229cd6cd94e1ccbe76247a42143 Mon Sep 17 00:00:00 2001 From: Evan Morikawa Date: Thu, 2 Jun 2016 14:45:48 +0100 Subject: [PATCH] fix(onboarding): properly base64 encode string --- .../onboarding/lib/onboarding-helpers.es6 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal_packages/onboarding/lib/onboarding-helpers.es6 b/internal_packages/onboarding/lib/onboarding-helpers.es6 index 7bdb82e3e..9bece7365 100644 --- a/internal_packages/onboarding/lib/onboarding-helpers.es6 +++ b/internal_packages/onboarding/lib/onboarding-helpers.es6 @@ -4,8 +4,16 @@ import crypto from 'crypto'; import {EdgehillAPI, NylasAPI, AccountStore, RegExpUtils, IdentityStore} from 'nylas-exports'; import url from 'url'; -function base64url(buf) { - return buf.toString('base64') +function base64url(inBuffer) { + let buffer; + if (typeof inBuffer === "string") { + buffer = new Buffer(inBuffer); + } else if (inBuffer instanceof Buffer) { + buffer = inBuffer; + } else { + throw new Error(`${inBuffer} must be a string or Buffer`) + } + return buffer.toString('base64') .replace(/\+/g, '-') // Convert '+' to '-' .replace(/\//g, '_'); // Convert '/' to '_' }