diff --git a/src/lib/isJWT.js b/src/lib/isJWT.js index 1d0ade5ee..45f134770 100644 --- a/src/lib/isJWT.js +++ b/src/lib/isJWT.js @@ -11,5 +11,9 @@ export default function isJWT(str) { return false; } + if (dotSplit[0] === '' || dotSplit[1] === '') { + return false; + } + return dotSplit.reduce((acc, currElem) => acc && isBase64(currElem, { urlSafe: true }), true); } diff --git a/test/validators.test.js b/test/validators.test.js index 98d2a12ff..3e682d22b 100644 --- a/test/validators.test.js +++ b/test/validators.test.js @@ -5555,6 +5555,9 @@ describe('Validators', () => { 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJKb2huIERvZSIsImlhdCI6MTYxNjY1Mzg3Mn0.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwiaWF0IjoxNjE2NjUzODcyLCJleHAiOjE2MTY2NTM4ODJ9.a1jLRQkO5TV5y5ERcaPAiM9Xm2gBdRjKrrCpHkGr_8M', '$Zs.ewu.su84', 'ks64$S/9.dy$§kz.3sd73b', + '.eyJsb3JlbSI6Imlwc3VtIn0.ymiJSsMJXR6tMSr8G9usjQ15_8hKPDv_CArLhxw28MI', + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..ymiJSsMJXR6tMSr8G9usjQ15_8hKPDv_CArLhxw28MI', + '..', ], error: [ [],