From 30bbf41caaae7f9a29dda91cf68332d3fd272a72 Mon Sep 17 00:00:00 2001 From: James Nuanez Date: Sun, 26 Jul 2020 14:35:31 -0700 Subject: [PATCH] Mask API Key (other than last 4 characters) --- .../pages/internal/AccountsAddEdit.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/components/pages/internal/AccountsAddEdit.js b/src/components/pages/internal/AccountsAddEdit.js index 0bd4a5c..815b4a1 100644 --- a/src/components/pages/internal/AccountsAddEdit.js +++ b/src/components/pages/internal/AccountsAddEdit.js @@ -37,11 +37,18 @@ const AccountsAddEdit = () => { Authorization: `Bearer ${localStorage.getItem('token')}`, }, }); - const simplifiedApiKeys = results.data.map(a => ({ - sid: a.api_key_sid, - token: a.token, - last_used: a.last_used || "Never used", - })); + const simplifiedApiKeys = results.data.map(a => { + const { token } = a; + const maskLength = token.length - 4; + const maskedPortion = token.substring(0, maskLength).replace(/[a-zA-Z0-9]/g, '*'); + const revealedPortion = token.substring(maskLength); + const maskedToken = `${maskedPortion}${revealedPortion}`; + return { + sid: a.api_key_sid, + token: maskedToken, + last_used: a.last_used || "Never used", + }; + }); return(simplifiedApiKeys); } catch (err) { if (err.response && err.response.status === 401) {