@nestjs-cognito/core
Version:
Cognito Provider for NestJS
36 lines • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BearerJwtExtractor = void 0;
/**
* Default implementation that extracts JWT tokens from the "Bearer" authorization request header.
* Supports both HTTP requests and WebSocket handshake headers.
*/
class BearerJwtExtractor {
/**
* Checks if the request has authentication information in the Authorization header.
* @param request - The request object (HTTP or WebSocket)
* @returns True if Authorization header is present and not empty
*/
hasAuthenticationInfo(request) {
var _a;
const headers = (request === null || request === void 0 ? void 0 : request.headers) || ((_a = request === null || request === void 0 ? void 0 : request.handshake) === null || _a === void 0 ? void 0 : _a.headers);
const authorization = headers === null || headers === void 0 ? void 0 : headers.authorization;
return Boolean(authorization && authorization.trim());
}
/**
* Extracts the JWT token from the Authorization header, removing the "Bearer " prefix.
* @param request - The request object (HTTP or WebSocket)
* @returns The JWT token string or null if not found
*/
getAuthorizationToken(request) {
var _a, _b, _c;
const authorization = ((_a = request === null || request === void 0 ? void 0 : request.headers) === null || _a === void 0 ? void 0 : _a.authorization) ||
((_c = (_b = request === null || request === void 0 ? void 0 : request.handshake) === null || _b === void 0 ? void 0 : _b.headers) === null || _c === void 0 ? void 0 : _c.authorization);
if (!authorization) {
return null;
}
return authorization.replace("Bearer ", "");
}
}
exports.BearerJwtExtractor = BearerJwtExtractor;
//# sourceMappingURL=bearer-jwt.extractor.js.map