module.exports = withAuthorizationPrefix; | |
const atob = require("atob-lite"); | |
const REGEX_IS_BASIC_AUTH = /^[\w-]+:/; | |
function withAuthorizationPrefix(authorization) { | |
if (/^(basic|bearer|token) /i.test(authorization)) { | |
return authorization; | |
} | |
try { | |
if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { | |
return `basic ${authorization}`; | |
} | |
} catch (error) {} | |
if (authorization.split(/\./).length === 3) { | |
return `bearer ${authorization}`; | |
} | |
return `token ${authorization}`; | |
} |