UNPKG

middy-middleware-jwt-auth

Version:

A middy JSON web token authorization middleware inspired by express-jwt.

64 lines 3.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isAuthorizedEvent = isAuthorizedEvent; exports.isAuthorizedEventBase = isAuthorizedEventBase; exports.isAuthorizedRestApiGatewayEvent = isAuthorizedRestApiGatewayEvent; exports.isAuthorizedHttpApiGatewayEvent = isAuthorizedHttpApiGatewayEvent; exports.isAuthorizedWebsocketApiGatewayEvent = isAuthorizedWebsocketApiGatewayEvent; exports.isAuthorizedApiGatewayEvent = isAuthorizedApiGatewayEvent; exports.isUpperCaseAuthorizedEvent = isUpperCaseAuthorizedEvent; exports.isLowerCaseAuthorizedEvent = isLowerCaseAuthorizedEvent; function isAuthorizedEvent(event, isTokenPayload) { return (isUpperCaseAuthorizedEvent(event, isTokenPayload) || isLowerCaseAuthorizedEvent(event, isTokenPayload)); } function isAuthorizedEventBase(event, isTokenPayload) { return (event != null && event.headers != null && (event.httpMethod != null || event.requestContext != null) && (event.auth === undefined || isTokenPayload == null || (event.auth && isTokenPayload(event.auth.payload) && typeof event.auth.token === "string"))); } function isAuthorizedRestApiGatewayEvent(event, isTokenPayload) { return (isAuthorizedEventBase(event, isTokenPayload) && typeof event.httpMethod === "string"); } function isAuthorizedHttpApiGatewayEvent(event, isTokenPayload) { return (isAuthorizedEventBase(event, isTokenPayload) && typeof event.requestContext === "object" && event.requestContext !== null && "http" in event.requestContext && typeof event.requestContext.http === "object"); } function isAuthorizedWebsocketApiGatewayEvent(event, isTokenPayload) { return (isAuthorizedEventBase(event, isTokenPayload) && typeof event.requestContext === "object" && event.requestContext !== null && "connectionId" in event.requestContext && typeof event.requestContext.connectionId === "string" && "eventType" in event.requestContext && typeof event.requestContext.eventType === "string"); } function isAuthorizedApiGatewayEvent(event, isTokenPayload) { return (isAuthorizedRestApiGatewayEvent(event, isTokenPayload) || isAuthorizedHttpApiGatewayEvent(event, isTokenPayload) || isAuthorizedWebsocketApiGatewayEvent(event, isTokenPayload)); } function isUpperCaseAuthorizedEvent(event, isTokenPayload) { return (isAuthorizedApiGatewayEvent(event, isTokenPayload) && (typeof event.headers.Authorization === "string" || (Array.isArray(event.headers.Authorization) && event.headers.Authorization.length === 1 && event.headers.Authorization.every(function (entry) { return typeof entry === "string"; })))); } function isLowerCaseAuthorizedEvent(event, isTokenPayload) { return (isAuthorizedApiGatewayEvent(event, isTokenPayload) && (typeof event.headers.authorization === "string" || (Array.isArray(event.headers.authorization) && event.headers.authorization.length === 1 && event.headers.authorization.every(function (entry) { return typeof entry === "string"; })))); } //# sourceMappingURL=IAuthorizedEvent.js.map