Files
klz-cables.com/.pnpm-store/v10/files/bc/074788abfb277f5435e2eb3bf66ffac052421be1c6511b2f86ee717880b54e315e9fce2e7d73ec0bc6192ee74be297b85e1ffb827ac79d2329a0f6721bc236
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

48 lines
1.6 KiB
Plaintext

import { parseCookies } from '../utilities/parseCookies.js';
const extractionMethods = {
Bearer: ({ headers })=>{
const jwtFromHeader = headers.get('Authorization');
// allow RFC6750 OAuth 2.0 compliant Bearer tokens
// in addition to the payload default JWT format
if (jwtFromHeader?.startsWith('Bearer ')) {
return jwtFromHeader.replace('Bearer ', '');
}
return null;
},
cookie: ({ headers, payload })=>{
const origin = headers.get('Origin');
const cookies = parseCookies(headers);
const tokenCookieName = `${payload.config.cookiePrefix}-token`;
const cookieToken = cookies.get(tokenCookieName);
if (!cookieToken) {
return null;
}
if (!origin || payload.config.csrf.length === 0 || payload.config.csrf.indexOf(origin) > -1) {
return cookieToken;
}
return null;
},
JWT: ({ headers })=>{
const jwtFromHeader = headers.get('Authorization');
if (jwtFromHeader?.startsWith('JWT ')) {
return jwtFromHeader.replace('JWT ', '');
}
return null;
}
};
export const extractJWT = (args)=>{
const { headers, payload } = args;
const extractionOrder = payload.config.auth.jwtOrder;
for (const extractionStrategy of extractionOrder){
const result = extractionMethods[extractionStrategy]({
headers,
payload
});
if (result) {
return result;
}
}
return null;
};
//# sourceMappingURL=extractJWT.js.map