UNPKG

@63pokupki/nodejs-common

Version:
47 lines 2.17 kB
"use strict"; /** * Ответ декодиирования тикена * Должен обновляться каждую неделю * Время действия токена 1 месяц * Если пользователь постоянно пользуется сайтом у него будет ощущение бесконечного токена * Токен скрыто обновляется если он старше 1 недели */ Object.defineProperty(exports, "__esModule", { value: true }); const AccessSys_1 = require("../AccessSys"); const ApiRequest_1 = require("../ApiRequest"); const UserSys_1 = require("../UserSys"); /** проверка аутентификации на уровне приложения */ async function AuthSysMiddleware(ctx) { ctx.sys.apikey = ctx.cookies.apikey || ctx.headers.apikey || ''; ctx.sys.srvkey = ctx.headers.srvkey || ''; ctx.apikey = ctx.sys.apikey; /* юзерь не авторизован */ ctx.sys.bAuth = false; const userSys = new UserSys_1.UserSys(ctx); if (ctx.sys.apikey) { // Инициализируем систему для пользователей try { // отправка ошибки в апи const vAuthResp = await (0, ApiRequest_1.faApiRequest)(ctx, ctx.common.hook_url_auth, { apikey: ctx.sys.apikey }); userSys.init({ vUser: vAuthResp.user_info, aGroup: vAuthResp.list_group, ixRole: vAuthResp.ix_role, ixOrgRole: vAuthResp.ix_org_role, ixRoleRoute: vAuthResp.ix_role_route, ixOrgRoleRoute: vAuthResp.ix_org_role_route, }); } catch (e) { userSys.init(); ctx.sys.errorSys.warning('auth_check', 'Ошибка проверки авторизации'); } } else { ctx.sys.errorSys.devNotice('is_auth', 'Вы не авторизованы'); } ctx.sys.userSys = userSys; ctx.sys.accessSys = new AccessSys_1.AccessSys(ctx); ctx.next(); } exports.default = AuthSysMiddleware; //# sourceMappingURL=AuthSysMiddleware.js.map