UNPKG

@mercury-labs/nest-auth

Version:

Mercury framework auth library. It supports local auth, jwt with both bearer token and cookie, basic auth.

37 lines 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.headerExtractorForApiKey = exports.cookieExtractorForApiKey = exports.headerExtractorForRefreshToken = exports.cookieExtractorForRefreshToken = exports.headerExtractorForAuthorization = exports.cookieExtractorForAuthorization = exports.headerExtractor = exports.cookieExtractor = void 0; const definitions_1 = require("../definitions"); const http_context_helper_1 = require("./http-context.helper"); const remove_bearer_from_token_helper_1 = require("./remove-bearer-from-token.helper"); const cookieExtractor = (key = 'Authorization') => (transferTokenMethod) => (request) => { if (transferTokenMethod === definitions_1.AuthTransferTokenMethod.BEARER_ONLY) { return null; } const cookieAuthHeaders = [key, key.toLowerCase()].map((k) => (0, http_context_helper_1.getRequestCookie)(request, k)); const cookieAuthHeader = cookieAuthHeaders.find((i) => !!i && typeof i === 'string'); if (!cookieAuthHeader) { return null; } return (0, remove_bearer_from_token_helper_1.removeBearerFromToken)(cookieAuthHeader) || null; }; exports.cookieExtractor = cookieExtractor; const headerExtractor = (key = 'authorization') => (transferTokenMethod) => (request) => { if (transferTokenMethod === definitions_1.AuthTransferTokenMethod.COOKIE_ONLY) { return null; } const authHeaders = [key, key.toLowerCase()].map((k) => (0, http_context_helper_1.getRequestHeader)(request, k)); const authHeader = authHeaders.find((i) => !!i && typeof i === 'string'); if (!authHeader) { return null; } return (0, remove_bearer_from_token_helper_1.removeBearerFromToken)(authHeader); }; exports.headerExtractor = headerExtractor; exports.cookieExtractorForAuthorization = (0, exports.cookieExtractor)('Authorization'); exports.headerExtractorForAuthorization = (0, exports.headerExtractor)('Authorization'); exports.cookieExtractorForRefreshToken = (0, exports.cookieExtractor)('Refresh-Token'); exports.headerExtractorForRefreshToken = (0, exports.headerExtractor)('Refresh-Token'); exports.cookieExtractorForApiKey = (0, exports.cookieExtractor)('Api-Key'); exports.headerExtractorForApiKey = (0, exports.headerExtractor)('Api-Key'); //# sourceMappingURL=extractor.js.map