UNPKG

nralcm

Version:

This is a framework based on NodeJs to manage rest api request lifecycle

36 lines (35 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const jwt = require("jsonwebtoken"); const app_config_1 = require("../app-config"); const exceptions_1 = require("../exceptions"); const jwt_AuthPrinciple_1 = require("../infrastructure/jwt-AuthPrinciple"); /** * Authentication for authentication of request */ class AuthenticationFilter { /** * Method for check authentication of request * @param context HttpContext Object * @returns true, If not authenticated throws UnAuthenticateException */ authenticate(context) { const authorizationHeader = context.request.header("Authorization"); if (authorizationHeader) { const tokenparts = authorizationHeader.split(" "); if (tokenparts[0] === "Bearer") { try { const tokenData = jwt.verify(tokenparts[1], app_config_1.AppConfig.secret); context.user = new jwt_AuthPrinciple_1.JwtAuthPrinciple(tokenData.Email, tokenData.Role); } catch (_a) { throw new exceptions_1.TokenNotValidException(); } return true; } return false; } return false; } } exports.AuthenticationFilter = AuthenticationFilter;