@dedel.alex/adonis6-swagger
Version:
Swagger provider for AdonisJS 6
16 lines (15 loc) • 527 B
JavaScript
export class AuthHeaderDecoder {
static headerPattern = /^Basic (?<token>\w+={0,2})$/gi;
decode(authHeader) {
const matchResult = AuthHeaderDecoder.headerPattern.exec(authHeader);
if (!matchResult) {
return { success: false };
}
const { token } = matchResult.groups;
const [login, password] = Buffer.from(token, 'base64').toString().split(':');
return {
success: !!(login && password),
payload: { login, password },
};
}
}