123456789101112131415161718192021222324252627282930313233 |
- import { ApiError } from "../exceptions/api-error.js";
- import tokenService from "#modules/users-management/auth/services/token-service.js";
- import type { NextFunction, Request, Response } from "express";
- import { logger } from "#plugins/logger.js";
- export default function () {
- return function (req: Request, res: Response, next: NextFunction) {
- try {
- // авторизация
- const authorizationHeader = req.headers.authorization;
- if (!authorizationHeader) {
- return next(ApiError.UnauthorizedError());
- }
- const accessToken = authorizationHeader.split(" ")[1];
- if (!accessToken) {
- return next(ApiError.UnauthorizedError());
- }
- const userData = tokenService.validateAccessToken(accessToken);
- if (!userData) {
- return next(ApiError.UnauthorizedError());
- }
- req.user = userData;
- next();
- } catch (e) {
- logger.silly(e);
- return next(ApiError.UnauthorizedError());
- }
- };
- }
|