m
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
||||
import { NestMiddleware } from '@nestjs/common';
|
||||
import { NextFunction, Request, Response } from 'express';
|
||||
import { AuthService } from 'src/app/common/service/auth.service';
|
||||
import { UserFreezeService } from 'src/app/common/service/user_freeze.service';
|
||||
export declare class AuthMiddleware implements NestMiddleware {
|
||||
private authService;
|
||||
private userFreezeService;
|
||||
constructor(authService: AuthService, userFreezeService: UserFreezeService);
|
||||
use(request: Request, res: Response, next: NextFunction): Promise<void>;
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AuthMiddleware = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const app_env_1 = require("../../../app.env");
|
||||
const user_id_context_1 = require("../../common/context/user_id.context");
|
||||
const auth_service_1 = require("../../common/service/auth.service");
|
||||
const user_freeze_service_1 = require("../../common/service/user_freeze.service");
|
||||
let AuthMiddleware = class AuthMiddleware {
|
||||
authService;
|
||||
userFreezeService;
|
||||
constructor(authService, userFreezeService) {
|
||||
this.authService = authService;
|
||||
this.userFreezeService = userFreezeService;
|
||||
}
|
||||
async use(request, res, next) {
|
||||
try {
|
||||
const payload = await this.authService.verify(request, {
|
||||
secret: app_env_1.AppEnv.JWT_API_SECRET,
|
||||
});
|
||||
const isFrozen = await this.userFreezeService.isFrozen(payload.sub);
|
||||
if (isFrozen) {
|
||||
next(new common_1.ForbiddenException('账号已被冻结,请联系客服'));
|
||||
return;
|
||||
}
|
||||
(0, user_id_context_1.iniUserIdContext)(payload.sub, () => {
|
||||
next();
|
||||
});
|
||||
}
|
||||
catch {
|
||||
next();
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.AuthMiddleware = AuthMiddleware;
|
||||
exports.AuthMiddleware = AuthMiddleware = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__metadata("design:paramtypes", [auth_service_1.AuthService,
|
||||
user_freeze_service_1.UserFreezeService])
|
||||
], AuthMiddleware);
|
||||
//# sourceMappingURL=auth.middleware.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../../src/app/api/middleware/auth.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAgF;AAEhF,8CAAqC;AACrC,0EAA0E;AAC1E,oEAAkE;AAClE,kFAA+E;AAGxE,IAAM,cAAc,GAApB,MAAM,cAAc;IAEf;IACA;IAFV,YACU,WAAwB,EACxB,iBAAoC;QADpC,gBAAW,GAAX,WAAW,CAAa;QACxB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAC3C,CAAC;IACJ,KAAK,CAAC,GAAG,CAAC,OAAgB,EAAE,GAAa,EAAE,IAAkB;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;gBACrD,MAAM,EAAE,gBAAM,CAAC,cAAc;aAC9B,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,2BAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,IAAA,kCAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;CACF,CAAA;AAtBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGY,0BAAW;QACL,uCAAiB;GAHnC,cAAc,CAsB1B"}
|
||||
@@ -0,0 +1,6 @@
|
||||
import { NestMiddleware } from '@nestjs/common';
|
||||
import { NextFunction, Request, Response } from 'express';
|
||||
export declare class ContextMiddleware implements NestMiddleware {
|
||||
constructor();
|
||||
use(request: Request, res: Response, next: NextFunction): void;
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ContextMiddleware = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const app_info_context_1 = require("../context/app_info.context");
|
||||
let ContextMiddleware = class ContextMiddleware {
|
||||
constructor() { }
|
||||
use(request, res, next) {
|
||||
const ip = request.headers['x-forwarded-for'] ||
|
||||
request.headers['x-real-ip'] ||
|
||||
request.headers['cf-connecting-ip'] ||
|
||||
request.headers['x-client-ip'] ||
|
||||
request.ip;
|
||||
app_info_context_1.AppInfoContext.put(request.headers, next, ip);
|
||||
}
|
||||
};
|
||||
exports.ContextMiddleware = ContextMiddleware;
|
||||
exports.ContextMiddleware = ContextMiddleware = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__metadata("design:paramtypes", [])
|
||||
], ContextMiddleware);
|
||||
//# sourceMappingURL=context.middleware.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"context.middleware.js","sourceRoot":"","sources":["../../../../src/app/api/middleware/context.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,kEAA6D;AAGtD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,gBAAe,CAAC;IAChB,GAAG,CAAC,OAAgB,EAAE,GAAa,EAAE,IAAkB;QACrD,MAAM,EAAE,GACL,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAY;YAC7C,OAAO,CAAC,OAAO,CAAC,WAAW,CAAY;YACvC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAY;YAC9C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAY;YAC1C,OAAO,CAAC,EAAE,CAAC;QACb,iCAAc,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAXY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;;GACA,iBAAiB,CAW7B"}
|
||||
Reference in New Issue
Block a user