express-passkit-webservice
Version:
Express.js integration for Apple Wallet web services
28 lines • 1.06 kB
JavaScript
import { isAuthorizationSchemeValid, getAuthorizationToken, } from "passkit-webservice-toolkit/v1/utils/auth.js";
export function assertAuthorizationSchemeValid(request, response, next) {
const { authorization = "" } = request.headers;
if (!isAuthorizationSchemeValid(authorization)) {
response
.status(401)
.send(`Apple Schema validation for Authorization header failed. Received: '${authorization}'`);
return;
}
next();
}
export function assertTokenValid(verifyToken) {
return async function (request, response, next) {
if (typeof verifyToken !== "function") {
next();
return;
}
const { authorization = "" } = request.headers;
const token = getAuthorizationToken(authorization);
if (!(await verifyToken(token))) {
console.warn(`Authorization token validation failed. Received: ${authorization}`);
response.status(401).send();
return;
}
next();
};
}
//# sourceMappingURL=hooks.js.map