@echo-nova-404/auth-check 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +64 -0
  2. package/dist/auth-check.module.d.ts +5 -0
  3. package/dist/auth-check.module.js +37 -0
  4. package/dist/auth-check.module.js.map +1 -0
  5. package/dist/auth-v1/auth-v1.module.d.ts +2 -0
  6. package/dist/auth-v1/auth-v1.module.js +24 -0
  7. package/dist/auth-v1/auth-v1.module.js.map +1 -0
  8. package/dist/auth-v1/guard/auth-v1.guard.d.ts +9 -0
  9. package/dist/auth-v1/guard/auth-v1.guard.js +48 -0
  10. package/dist/auth-v1/guard/auth-v1.guard.js.map +1 -0
  11. package/dist/auth-v1/guard/index.d.ts +1 -0
  12. package/dist/auth-v1/guard/index.js +18 -0
  13. package/dist/auth-v1/guard/index.js.map +1 -0
  14. package/dist/auth-v1/guards/auth-v1.guard.d.ts +9 -0
  15. package/dist/auth-v1/guards/auth-v1.guard.js +48 -0
  16. package/dist/auth-v1/guards/auth-v1.guard.js.map +1 -0
  17. package/dist/auth-v1/guards/index.d.ts +1 -0
  18. package/dist/auth-v1/guards/index.js +18 -0
  19. package/dist/auth-v1/guards/index.js.map +1 -0
  20. package/dist/auth-v1/index.d.ts +2 -0
  21. package/dist/auth-v1/index.js +19 -0
  22. package/dist/auth-v1/index.js.map +1 -0
  23. package/dist/auth-v1/services/auth-v1.service.d.ts +9 -0
  24. package/dist/auth-v1/services/auth-v1.service.js +54 -0
  25. package/dist/auth-v1/services/auth-v1.service.js.map +1 -0
  26. package/dist/auth-v1/services/index.d.ts +1 -0
  27. package/dist/auth-v1/services/index.js +18 -0
  28. package/dist/auth-v1/services/index.js.map +1 -0
  29. package/dist/constants/auth-check.constant.d.ts +4 -0
  30. package/dist/constants/auth-check.constant.js +9 -0
  31. package/dist/constants/auth-check.constant.js.map +1 -0
  32. package/dist/constants/index.d.ts +1 -0
  33. package/dist/constants/index.js +18 -0
  34. package/dist/constants/index.js.map +1 -0
  35. package/dist/decorators/auth.decorator.d.ts +1 -0
  36. package/dist/decorators/auth.decorator.js +10 -0
  37. package/dist/decorators/auth.decorator.js.map +1 -0
  38. package/dist/decorators/index.d.ts +2 -0
  39. package/dist/decorators/index.js +19 -0
  40. package/dist/decorators/index.js.map +1 -0
  41. package/dist/decorators/roles-check.decorator.d.ts +1 -0
  42. package/dist/decorators/roles-check.decorator.js +6 -0
  43. package/dist/decorators/roles-check.decorator.js.map +1 -0
  44. package/dist/guards/auth-v1.guard.d.ts +9 -0
  45. package/dist/guards/auth-v1.guard.js +48 -0
  46. package/dist/guards/auth-v1.guard.js.map +1 -0
  47. package/dist/guards/auth.guard.d.ts +10 -0
  48. package/dist/guards/auth.guard.js +43 -0
  49. package/dist/guards/auth.guard.js.map +1 -0
  50. package/dist/guards/index.d.ts +2 -0
  51. package/dist/guards/index.js +19 -0
  52. package/dist/guards/index.js.map +1 -0
  53. package/dist/index.d.ts +3 -0
  54. package/dist/index.js +23 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/services/auth-check-v1.service.d.ts +9 -0
  57. package/dist/services/auth-check-v1.service.js +54 -0
  58. package/dist/services/auth-check-v1.service.js.map +1 -0
  59. package/dist/services/auth-check.service.d.ts +10 -0
  60. package/dist/services/auth-check.service.js +56 -0
  61. package/dist/services/auth-check.service.js.map +1 -0
  62. package/dist/services/auth-v1.service.d.ts +9 -0
  63. package/dist/services/auth-v1.service.js +54 -0
  64. package/dist/services/auth-v1.service.js.map +1 -0
  65. package/dist/services/index.d.ts +1 -0
  66. package/dist/services/index.js +18 -0
  67. package/dist/services/index.js.map +1 -0
  68. package/dist/types/auth-check.type.d.ts +27 -0
  69. package/dist/types/auth-check.type.js +3 -0
  70. package/dist/types/auth-check.type.js.map +1 -0
  71. package/dist/types/index.d.ts +1 -0
  72. package/dist/types/index.js +18 -0
  73. package/dist/types/index.js.map +1 -0
  74. package/package.json +47 -0
package/README.md ADDED
@@ -0,0 +1,64 @@
1
+ ## @nch/auth-check
2
+
3
+ Библиотека для NestJS для проверки авторизации в серверных приложениях, использующих `SSO`.
4
+
5
+ ### Установка
6
+
7
+ ```
8
+ npm install @nch/auth-check
9
+ ```
10
+
11
+ ### Подключение и использование
12
+
13
+ В `app.module.ts` подключите `AuthCheckModule`
14
+
15
+ ```
16
+ import { Module } from '@nestjs/common';
17
+ import { ConfigModule, ConfigService } from '@nestjs/config';
18
+ import { AuthCheckModule } from '@nch/auth-check';
19
+
20
+ @Module({
21
+ imports: [
22
+ ConfigModule.forRoot({
23
+ isGlobal: true
24
+ }),
25
+ AuthCheckModule.forRootAsync({
26
+ inject: [ConfigService],
27
+ useFactory: async (configService: ConfigService) => ({
28
+ domain: configService.getOrThrow<string>('SSO_DOMAIN'),
29
+ projectId: configService.getOrThrow<string>('SSO_PROJECT_ID'),
30
+ }),
31
+ }),
32
+ ],
33
+ controllers: [],
34
+ providers: [],
35
+ })
36
+ export class AppModule {}
37
+ ```
38
+
39
+ Подключите декоратор `@Auth`
40
+
41
+ ```
42
+ import { Controller, Get } from '@nestjs/common';
43
+ import { Auth } from '@nch/auth-check';
44
+
45
+
46
+ @Controller({
47
+ path: 'user',
48
+ version: '1',
49
+ })
50
+ export class UserController {
51
+
52
+ @Auth(['default'])
53
+ @Get('')
54
+ async getUsers() {
55
+ return [
56
+ {
57
+ id: 1,
58
+ name: 'Пользователь'
59
+ }
60
+ ]
61
+ }
62
+
63
+ }
64
+ ```
@@ -0,0 +1,5 @@
1
+ import { type DynamicModule } from '@nestjs/common';
2
+ import type { AuthCheckAsyncModuleOptions } from './types';
3
+ export declare class AuthCheckModule {
4
+ static forRootAsync({ inject, useFactory, }: AuthCheckAsyncModuleOptions): Promise<DynamicModule>;
5
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var AuthCheckModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AuthCheckModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const constants_1 = require("./constants");
13
+ const services_1 = require("./services");
14
+ let AuthCheckModule = AuthCheckModule_1 = class AuthCheckModule {
15
+ static async forRootAsync({ inject, useFactory, }) {
16
+ const AuthCheckProvider = {
17
+ provide: constants_1.AUTH_CHECK_DEFAULT_NAME,
18
+ inject: inject,
19
+ useFactory: useFactory,
20
+ };
21
+ return {
22
+ module: AuthCheckModule_1,
23
+ imports: [],
24
+ providers: [AuthCheckProvider],
25
+ exports: [AuthCheckProvider],
26
+ };
27
+ }
28
+ };
29
+ exports.AuthCheckModule = AuthCheckModule;
30
+ exports.AuthCheckModule = AuthCheckModule = AuthCheckModule_1 = __decorate([
31
+ (0, common_1.Global)(),
32
+ (0, common_1.Module)({
33
+ providers: [services_1.AuthV1Service],
34
+ exports: [services_1.AuthV1Service],
35
+ })
36
+ ], AuthCheckModule);
37
+ //# sourceMappingURL=auth-check.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-check.module.js","sourceRoot":"","sources":["../src/auth-check.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAmF;AACnF,2CAAsD;AACtD,yCAA2C;AAQpC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC3B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EACzB,MAAM,EACN,UAAU,GACmB;QAC7B,MAAM,iBAAiB,GAAa;YACnC,OAAO,EAAE,mCAAuB;YAChC,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,UAAU;SACtB,CAAC;QACF,OAAO;YACN,MAAM,EAAE,iBAAe;YACvB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,CAAC,iBAAiB,CAAC;YAC9B,OAAO,EAAE,CAAC,iBAAiB,CAAC;SAC5B,CAAC;IACH,CAAC;CACD,CAAA;AAjBY,0CAAe;0BAAf,eAAe;IAL3B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACP,SAAS,EAAE,CAAC,wBAAa,CAAC;QAC1B,OAAO,EAAE,CAAC,wBAAa,CAAC;KACxB,CAAC;GACW,eAAe,CAiB3B"}
@@ -0,0 +1,2 @@
1
+ export declare class AuthV1Module {
2
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AuthV1Module = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const guards_1 = require("./guards");
12
+ const services_1 = require("./services");
13
+ let AuthV1Module = class AuthV1Module {
14
+ };
15
+ exports.AuthV1Module = AuthV1Module;
16
+ exports.AuthV1Module = AuthV1Module = __decorate([
17
+ (0, common_1.Global)(),
18
+ (0, common_1.Module)({
19
+ imports: [],
20
+ providers: [guards_1.AuthV1Guard, services_1.AuthV1Service],
21
+ exports: [guards_1.AuthV1Guard]
22
+ })
23
+ ], AuthV1Module);
24
+ //# sourceMappingURL=auth-v1.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-v1.module.js","sourceRoot":"","sources":["../../src/auth-v1/auth-v1.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA8C;AAC9C,qCAAqC;AACrC,yCAAyC;AAQlC,IAAM,YAAY,GAAlB,MAAM,YAAY;CACxB,CAAA;AADY,oCAAY;uBAAZ,YAAY;IANxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,oBAAW,EAAE,wBAAa,CAAC;QACvC,OAAO,EAAE,CAAC,oBAAW,CAAC;KACtB,CAAC;GACW,YAAY,CACxB"}
@@ -0,0 +1,9 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { AuthV1Service } from '../services';
4
+ export declare class AuthV1Guard implements CanActivate {
5
+ private readonly reflector;
6
+ private readonly authCheckV1Service;
7
+ constructor(reflector: Reflector, authCheckV1Service: AuthV1Service);
8
+ canActivate(context: ExecutionContext): Promise<boolean>;
9
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuthV1Guard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@nestjs/core");
15
+ const decorators_1 = require("../../decorators");
16
+ const services_1 = require("../services");
17
+ let AuthV1Guard = class AuthV1Guard {
18
+ reflector;
19
+ authCheckV1Service;
20
+ constructor(reflector, authCheckV1Service) {
21
+ this.reflector = reflector;
22
+ this.authCheckV1Service = authCheckV1Service;
23
+ }
24
+ async canActivate(context) {
25
+ const roles = this.reflector.get(decorators_1.RolesCheck, context.getHandler());
26
+ const request = context.switchToHttp().getRequest();
27
+ const token = request.headers.authorization?.replace('Bearer ', '');
28
+ if (!token) {
29
+ throw new common_1.UnauthorizedException();
30
+ }
31
+ const { active, user, roles: tokenRoles } = await this.authCheckV1Service.checkAuth(token);
32
+ const rolesAccess = (tokenRoles && roles.some((item) => tokenRoles.includes(item))) || !roles.length;
33
+ if (!(active && user)) {
34
+ throw new common_1.UnauthorizedException();
35
+ }
36
+ if (!rolesAccess) {
37
+ throw new common_1.ForbiddenException();
38
+ }
39
+ return true;
40
+ }
41
+ };
42
+ exports.AuthV1Guard = AuthV1Guard;
43
+ exports.AuthV1Guard = AuthV1Guard = __decorate([
44
+ (0, common_1.Injectable)(),
45
+ __metadata("design:paramtypes", [core_1.Reflector,
46
+ services_1.AuthV1Service])
47
+ ], AuthV1Guard);
48
+ //# sourceMappingURL=auth-v1.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-v1.guard.js","sourceRoot":"","sources":["../../../src/auth-v1/guard/auth-v1.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,iDAA8C;AAC9C,0CAA4C;AAGrC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEL;IACA;IAFlB,YACkB,SAAoB,EACpB,kBAAiC;QADjC,cAAS,GAAT,SAAS,CAAW;QACpB,uBAAkB,GAAlB,kBAAkB,CAAe;IAChD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,WAAW,GAChB,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClF,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,2BAAkB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAxBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGiB,gBAAS;QACA,wBAAa;GAHvC,WAAW,CAwBvB"}
@@ -0,0 +1 @@
1
+ export * from './auth-v1.guard';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-v1.guard"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth-v1/guard/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
@@ -0,0 +1,9 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { AuthV1Service } from '../services';
4
+ export declare class AuthV1Guard implements CanActivate {
5
+ private reflector;
6
+ private readonly authCheckV1Service;
7
+ constructor(reflector: Reflector, authCheckV1Service: AuthV1Service);
8
+ canActivate(context: ExecutionContext): Promise<boolean>;
9
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuthV1Guard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@nestjs/core");
15
+ const decorators_1 = require("../../decorators");
16
+ const services_1 = require("../services");
17
+ let AuthV1Guard = class AuthV1Guard {
18
+ reflector;
19
+ authCheckV1Service;
20
+ constructor(reflector, authCheckV1Service) {
21
+ this.reflector = reflector;
22
+ this.authCheckV1Service = authCheckV1Service;
23
+ }
24
+ async canActivate(context) {
25
+ const roles = this.reflector.get(decorators_1.RolesCheck, context.getHandler());
26
+ const request = context.switchToHttp().getRequest();
27
+ const token = request.headers.authorization?.replace('Bearer ', '');
28
+ if (!token) {
29
+ throw new common_1.UnauthorizedException();
30
+ }
31
+ const { active, user, roles: tokenRoles } = await this.authCheckV1Service.checkAuth(token);
32
+ const rolesAccess = (tokenRoles && roles.some((item) => tokenRoles.includes(item))) || !roles.length;
33
+ if (!(active && user)) {
34
+ throw new common_1.UnauthorizedException();
35
+ }
36
+ if (!rolesAccess) {
37
+ throw new common_1.ForbiddenException();
38
+ }
39
+ return true;
40
+ }
41
+ };
42
+ exports.AuthV1Guard = AuthV1Guard;
43
+ exports.AuthV1Guard = AuthV1Guard = __decorate([
44
+ (0, common_1.Injectable)(),
45
+ __metadata("design:paramtypes", [core_1.Reflector,
46
+ services_1.AuthV1Service])
47
+ ], AuthV1Guard);
48
+ //# sourceMappingURL=auth-v1.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-v1.guard.js","sourceRoot":"","sources":["../../../src/auth-v1/guards/auth-v1.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,iDAA8C;AAC9C,0CAA4C;AAGrC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEd;IACS;IAFlB,YACS,SAAoB,EACX,kBAAiC;QAD1C,cAAS,GAAT,SAAS,CAAW;QACX,uBAAkB,GAAlB,kBAAkB,CAAe;IAChD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,WAAW,GAChB,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClF,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,2BAAkB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAxBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGQ,gBAAS;QACS,wBAAa;GAHvC,WAAW,CAwBvB"}
@@ -0,0 +1 @@
1
+ export * from './auth-v1.guard';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-v1.guard"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth-v1/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B"}
@@ -0,0 +1,2 @@
1
+ export * from './auth-v1.module';
2
+ export * from './guards';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-v1.module"), exports);
18
+ __exportStar(require("./guards"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth-v1/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,2CAAwB"}
@@ -0,0 +1,9 @@
1
+ import type { AuthCheckOptions, AuthCheckResponse } from '../../types';
2
+ export declare class AuthV1Service {
3
+ private readonly authCheckOptions;
4
+ private readonly domain;
5
+ private readonly projectId;
6
+ private readonly defaultHeaders;
7
+ constructor(authCheckOptions: AuthCheckOptions);
8
+ checkAuth(access: string): Promise<AuthCheckResponse>;
9
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthV1Service = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const constants_1 = require("../../constants");
18
+ let AuthV1Service = class AuthV1Service {
19
+ authCheckOptions;
20
+ domain;
21
+ projectId;
22
+ defaultHeaders;
23
+ constructor(authCheckOptions) {
24
+ this.authCheckOptions = authCheckOptions;
25
+ this.domain = this.authCheckOptions.domain;
26
+ this.projectId = this.authCheckOptions.projectId;
27
+ this.defaultHeaders = {
28
+ Accept: 'application/json',
29
+ 'Content-Type': 'application/json',
30
+ };
31
+ }
32
+ async checkAuth(access) {
33
+ const url = new URL(`/v1/check`, this.domain);
34
+ const response = await fetch(url, {
35
+ method: 'POST',
36
+ headers: this.defaultHeaders,
37
+ body: JSON.stringify({
38
+ access: access,
39
+ projectId: this.projectId,
40
+ }),
41
+ });
42
+ if (response.status !== 200) {
43
+ throw new common_1.UnauthorizedException();
44
+ }
45
+ return await response.json();
46
+ }
47
+ };
48
+ exports.AuthV1Service = AuthV1Service;
49
+ exports.AuthV1Service = AuthV1Service = __decorate([
50
+ (0, common_1.Injectable)(),
51
+ __param(0, (0, common_1.Inject)(constants_1.AUTH_CHECK_DEFAULT_NAME)),
52
+ __metadata("design:paramtypes", [Object])
53
+ ], AuthV1Service);
54
+ //# sourceMappingURL=auth-v1.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-v1.service.js","sourceRoot":"","sources":["../../../src/auth-v1/services/auth-v1.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,+CAA0D;AAInD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAOP;IAND,MAAM,CAA6B;IACnC,SAAS,CAAgC;IACzC,cAAc,CAAmB;IAElD,YAEkB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAEnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG;YACrB,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;aACzB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACD,CAAA;AAhCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAOV,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;;GANrB,aAAa,CAgCzB"}
@@ -0,0 +1 @@
1
+ export * from './auth-v1.service';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-v1.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth-v1/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -0,0 +1,4 @@
1
+ export declare const AUTH_CHECK_DEFAULT_NAME = "auth-check";
2
+ export declare enum AuthApiVersion {
3
+ V1 = "v1"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthApiVersion = exports.AUTH_CHECK_DEFAULT_NAME = void 0;
4
+ exports.AUTH_CHECK_DEFAULT_NAME = 'auth-check';
5
+ var AuthApiVersion;
6
+ (function (AuthApiVersion) {
7
+ AuthApiVersion["V1"] = "v1";
8
+ })(AuthApiVersion || (exports.AuthApiVersion = AuthApiVersion = {}));
9
+ //# sourceMappingURL=auth-check.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-check.constant.js","sourceRoot":"","sources":["../../src/constants/auth-check.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,YAAY,CAAC;AAEpD,IAAY,cAEX;AAFD,WAAY,cAAc;IACzB,2BAAS,CAAA;AACV,CAAC,EAFW,cAAc,8BAAd,cAAc,QAEzB"}
@@ -0,0 +1 @@
1
+ export * from './auth-check.constant';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-check.constant"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
@@ -0,0 +1 @@
1
+ export declare const Auth: (roles?: string[]) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Auth = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const guards_1 = require("../guards");
7
+ const roles_check_decorator_1 = require("./roles-check.decorator");
8
+ const Auth = (roles = []) => (0, common_1.applyDecorators)((0, common_1.UseGuards)(guards_1.AuthV1Guard), (0, roles_check_decorator_1.RolesCheck)(roles), (0, swagger_1.ApiBearerAuth)());
9
+ exports.Auth = Auth;
10
+ //# sourceMappingURL=auth.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.decorator.js","sourceRoot":"","sources":["../../src/decorators/auth.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA4D;AAC5D,6CAAgD;AAChD,sCAAwC;AACxC,mEAAqD;AAE9C,MAAM,IAAI,GAAG,CAAC,QAAkB,EAAE,EAAE,EAAE,CAC5C,IAAA,wBAAe,EAAC,IAAA,kBAAS,EAAC,oBAAW,CAAC,EAAE,IAAA,kCAAU,EAAC,KAAK,CAAC,EAAE,IAAA,uBAAa,GAAE,CAAC,CAAC;AADhE,QAAA,IAAI,QAC4D"}
@@ -0,0 +1,2 @@
1
+ export * from './auth.decorator';
2
+ export * from './roles-check.decorator';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth.decorator"), exports);
18
+ __exportStar(require("./roles-check.decorator"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,0DAAwC"}
@@ -0,0 +1 @@
1
+ export declare const RolesCheck: import("@nestjs/core").ReflectableDecorator<string[], string[]>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RolesCheck = void 0;
4
+ const core_1 = require("@nestjs/core");
5
+ exports.RolesCheck = core_1.Reflector.createDecorator();
6
+ //# sourceMappingURL=roles-check.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles-check.decorator.js","sourceRoot":"","sources":["../../src/decorators/roles-check.decorator.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAE5B,QAAA,UAAU,GAAG,gBAAS,CAAC,eAAe,EAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { AuthV1Service } from '../services';
4
+ export declare class AuthV1Guard implements CanActivate {
5
+ private reflector;
6
+ private readonly authCheckV1Service;
7
+ constructor(reflector: Reflector, authCheckV1Service: AuthV1Service);
8
+ canActivate(context: ExecutionContext): Promise<boolean>;
9
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuthV1Guard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@nestjs/core");
15
+ const decorators_1 = require("../decorators");
16
+ const services_1 = require("../services");
17
+ let AuthV1Guard = class AuthV1Guard {
18
+ reflector;
19
+ authCheckV1Service;
20
+ constructor(reflector, authCheckV1Service) {
21
+ this.reflector = reflector;
22
+ this.authCheckV1Service = authCheckV1Service;
23
+ }
24
+ async canActivate(context) {
25
+ const roles = this.reflector.get(decorators_1.RolesCheck, context.getHandler());
26
+ const request = context.switchToHttp().getRequest();
27
+ const token = request.headers.authorization?.replace('Bearer ', '');
28
+ if (!token) {
29
+ throw new common_1.UnauthorizedException();
30
+ }
31
+ const { active, user, roles: tokenRoles } = await this.authCheckV1Service.checkAuth(token);
32
+ const rolesAccess = (tokenRoles && roles.some((item) => tokenRoles.includes(item))) || !roles.length;
33
+ if (!(active && user)) {
34
+ throw new common_1.UnauthorizedException();
35
+ }
36
+ if (!rolesAccess) {
37
+ throw new common_1.ForbiddenException();
38
+ }
39
+ return true;
40
+ }
41
+ };
42
+ exports.AuthV1Guard = AuthV1Guard;
43
+ exports.AuthV1Guard = AuthV1Guard = __decorate([
44
+ (0, common_1.Injectable)(),
45
+ __metadata("design:paramtypes", [core_1.Reflector,
46
+ services_1.AuthV1Service])
47
+ ], AuthV1Guard);
48
+ //# sourceMappingURL=auth-v1.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-v1.guard.js","sourceRoot":"","sources":["../../src/guards/auth-v1.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,8CAA2C;AAC3C,0CAA4C;AAGrC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEd;IACS;IAFlB,YACS,SAAoB,EACX,kBAAiC;QAD1C,cAAS,GAAT,SAAS,CAAW;QACX,uBAAkB,GAAlB,kBAAkB,CAAe;IAChD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,WAAW,GAChB,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClF,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,2BAAkB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAxBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGQ,gBAAS;QACS,wBAAa;GAHvC,WAAW,CAwBvB"}
@@ -0,0 +1,10 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import type { AuthCheckOptions } from '../types';
3
+ import { AuthV1Guard } from './auth-v1.guard';
4
+ export declare class AuthGuard implements CanActivate {
5
+ private readonly authCheckOptions;
6
+ private readonly authV1Guard;
7
+ private readonly version;
8
+ constructor(authCheckOptions: AuthCheckOptions, authV1Guard: AuthV1Guard);
9
+ canActivate(context: ExecutionContext): Promise<boolean>;
10
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthGuard = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const constants_1 = require("../constants");
18
+ const auth_v1_guard_1 = require("./auth-v1.guard");
19
+ let AuthGuard = class AuthGuard {
20
+ authCheckOptions;
21
+ authV1Guard;
22
+ version;
23
+ constructor(authCheckOptions, authV1Guard) {
24
+ this.authCheckOptions = authCheckOptions;
25
+ this.authV1Guard = authV1Guard;
26
+ this.version = this.authCheckOptions.version;
27
+ }
28
+ async canActivate(context) {
29
+ switch (this.version) {
30
+ case constants_1.AuthApiVersion.V1:
31
+ return this.authV1Guard.canActivate(context);
32
+ default:
33
+ throw new Error('Неуказан параметр "version"');
34
+ }
35
+ }
36
+ };
37
+ exports.AuthGuard = AuthGuard;
38
+ exports.AuthGuard = AuthGuard = __decorate([
39
+ (0, common_1.Injectable)(),
40
+ __param(0, (0, common_1.Inject)(constants_1.AUTH_CHECK_DEFAULT_NAME)),
41
+ __metadata("design:paramtypes", [Object, auth_v1_guard_1.AuthV1Guard])
42
+ ], AuthGuard);
43
+ //# sourceMappingURL=auth.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmF;AACnF,4CAAuE;AAEvE,mDAA8C;AAGvC,IAAM,SAAS,GAAf,MAAM,SAAS;IAKH;IACA;IALD,OAAO,CAA8B;IAEtD,YAEkB,gBAAkC,EAClC,WAAwB;QADxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,gBAAW,GAAX,WAAW,CAAa;QAEzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,0BAAc,CAAC,EAAE;gBACrB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9C;gBACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;CACD,CAAA;AAnBY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;IAKV,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;6CAEF,2BAAW;GAN9B,SAAS,CAmBrB"}
@@ -0,0 +1,2 @@
1
+ export * from './auth.guard';
2
+ export * from './auth-v1.guard';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth.guard"), exports);
18
+ __exportStar(require("./auth-v1.guard"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAA+B"}
@@ -0,0 +1,3 @@
1
+ export * from './auth-check.module';
2
+ export { AuthApiVersion } from './constants';
3
+ export { Auth } from './decorators';
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Auth = exports.AuthApiVersion = void 0;
18
+ __exportStar(require("./auth-check.module"), exports);
19
+ var constants_1 = require("./constants");
20
+ Object.defineProperty(exports, "AuthApiVersion", { enumerable: true, get: function () { return constants_1.AuthApiVersion; } });
21
+ var decorators_1 = require("./decorators");
22
+ Object.defineProperty(exports, "Auth", { enumerable: true, get: function () { return decorators_1.Auth; } });
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,2CAAoC;AAA3B,kGAAA,IAAI,OAAA"}
@@ -0,0 +1,9 @@
1
+ import type { AuthCheckOptions, AuthCheckResponse } from '../types';
2
+ export declare class AuthCheckV1Service {
3
+ private readonly authCheckOptions;
4
+ private readonly domain;
5
+ private readonly projectId;
6
+ private readonly defaultHeaders;
7
+ constructor(authCheckOptions: AuthCheckOptions);
8
+ checkAuth(access: string): Promise<AuthCheckResponse>;
9
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthCheckV1Service = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const constants_1 = require("../constants");
18
+ let AuthCheckV1Service = class AuthCheckV1Service {
19
+ authCheckOptions;
20
+ domain;
21
+ projectId;
22
+ defaultHeaders;
23
+ constructor(authCheckOptions) {
24
+ this.authCheckOptions = authCheckOptions;
25
+ this.domain = this.authCheckOptions.domain;
26
+ this.projectId = this.authCheckOptions.projectId;
27
+ this.defaultHeaders = {
28
+ Accept: 'application/json',
29
+ 'Content-Type': 'application/json',
30
+ };
31
+ }
32
+ async checkAuth(access) {
33
+ const url = new URL(`/v1/check`, this.domain);
34
+ const response = await fetch(url, {
35
+ method: 'POST',
36
+ headers: this.defaultHeaders,
37
+ body: JSON.stringify({
38
+ access: access,
39
+ projectId: this.projectId,
40
+ }),
41
+ });
42
+ if (response.status !== 200) {
43
+ throw new common_1.UnauthorizedException();
44
+ }
45
+ return await response.json();
46
+ }
47
+ };
48
+ exports.AuthCheckV1Service = AuthCheckV1Service;
49
+ exports.AuthCheckV1Service = AuthCheckV1Service = __decorate([
50
+ (0, common_1.Injectable)(),
51
+ __param(0, (0, common_1.Inject)(constants_1.AUTH_CHECK_DEFAULT_NAME)),
52
+ __metadata("design:paramtypes", [Object])
53
+ ], AuthCheckV1Service);
54
+ //# sourceMappingURL=auth-check-v1.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-check-v1.service.js","sourceRoot":"","sources":["../../src/services/auth-check-v1.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,4CAAuD;AAIhD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAOZ;IAND,MAAM,CAA6B;IACnC,SAAS,CAAgC;IACzC,cAAc,CAAmB;IAElD,YAEkB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAEnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG;YACrB,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;aACzB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACD,CAAA;AAhCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAOV,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;;GANrB,kBAAkB,CAgC9B"}
@@ -0,0 +1,10 @@
1
+ import type { AuthCheckOptions, AuthCheckResponse } from '../types';
2
+ export declare class AuthCheckService {
3
+ private readonly checkAuthOptions;
4
+ private readonly domain;
5
+ private readonly version;
6
+ private readonly projectId;
7
+ private readonly defaultHeaders;
8
+ constructor(checkAuthOptions: AuthCheckOptions);
9
+ checkAuth(access: string): Promise<AuthCheckResponse>;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthCheckService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const constants_1 = require("../constants");
18
+ let AuthCheckService = class AuthCheckService {
19
+ checkAuthOptions;
20
+ domain;
21
+ version;
22
+ projectId;
23
+ defaultHeaders;
24
+ constructor(checkAuthOptions) {
25
+ this.checkAuthOptions = checkAuthOptions;
26
+ this.domain = this.checkAuthOptions.domain;
27
+ this.version = this.checkAuthOptions.version;
28
+ this.projectId = this.checkAuthOptions.projectId;
29
+ this.defaultHeaders = {
30
+ Accept: 'application/json',
31
+ 'Content-Type': 'application/json',
32
+ };
33
+ }
34
+ async checkAuth(access) {
35
+ const url = new URL(`/${this.version}/check`, this.domain);
36
+ const response = await fetch(url, {
37
+ method: 'POST',
38
+ headers: this.defaultHeaders,
39
+ body: JSON.stringify({
40
+ access: access,
41
+ projectId: this.projectId,
42
+ }),
43
+ });
44
+ if (response.status !== 200) {
45
+ throw new common_1.UnauthorizedException();
46
+ }
47
+ return await response.json();
48
+ }
49
+ };
50
+ exports.AuthCheckService = AuthCheckService;
51
+ exports.AuthCheckService = AuthCheckService = __decorate([
52
+ (0, common_1.Injectable)(),
53
+ __param(0, (0, common_1.Inject)(constants_1.AUTH_CHECK_DEFAULT_NAME)),
54
+ __metadata("design:paramtypes", [Object])
55
+ ], AuthCheckService);
56
+ //# sourceMappingURL=auth-check.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-check.service.js","sourceRoot":"","sources":["../../src/services/auth-check.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,4CAAuD;AAIhD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAQV;IAPD,MAAM,CAA6B;IACnC,OAAO,CAA8B;IACrC,SAAS,CAAgC;IACzC,cAAc,CAAmB;IAElD,YAEkB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAEnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG;YACrB,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SAClC,CAAA;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;aACzB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACD,CAAA;AAlCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAQV,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;;GAPrB,gBAAgB,CAkC5B"}
@@ -0,0 +1,9 @@
1
+ import type { AuthCheckOptions, AuthCheckResponse } from '../types';
2
+ export declare class AuthV1Service {
3
+ private readonly authCheckOptions;
4
+ private readonly domain;
5
+ private readonly projectId;
6
+ private readonly defaultHeaders;
7
+ constructor(authCheckOptions: AuthCheckOptions);
8
+ checkAuth(access: string): Promise<AuthCheckResponse>;
9
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthV1Service = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const constants_1 = require("../constants");
18
+ let AuthV1Service = class AuthV1Service {
19
+ authCheckOptions;
20
+ domain;
21
+ projectId;
22
+ defaultHeaders;
23
+ constructor(authCheckOptions) {
24
+ this.authCheckOptions = authCheckOptions;
25
+ this.domain = this.authCheckOptions.domain;
26
+ this.projectId = this.authCheckOptions.projectId;
27
+ this.defaultHeaders = {
28
+ Accept: 'application/json',
29
+ 'Content-Type': 'application/json',
30
+ };
31
+ }
32
+ async checkAuth(access) {
33
+ const url = new URL(`/v1/check`, this.domain);
34
+ const response = await fetch(url, {
35
+ method: 'POST',
36
+ headers: this.defaultHeaders,
37
+ body: JSON.stringify({
38
+ access: access,
39
+ projectId: this.projectId,
40
+ }),
41
+ });
42
+ if (response.status !== 200) {
43
+ throw new common_1.UnauthorizedException();
44
+ }
45
+ return await response.json();
46
+ }
47
+ };
48
+ exports.AuthV1Service = AuthV1Service;
49
+ exports.AuthV1Service = AuthV1Service = __decorate([
50
+ (0, common_1.Injectable)(),
51
+ __param(0, (0, common_1.Inject)(constants_1.AUTH_CHECK_DEFAULT_NAME)),
52
+ __metadata("design:paramtypes", [Object])
53
+ ], AuthV1Service);
54
+ //# sourceMappingURL=auth-v1.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-v1.service.js","sourceRoot":"","sources":["../../src/services/auth-v1.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,4CAAuD;AAIhD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAOP;IAND,MAAM,CAA6B;IACnC,SAAS,CAAgC;IACzC,cAAc,CAAmB;IAElD,YAEkB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAEnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG;YACrB,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;aACzB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACD,CAAA;AAhCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAOV,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;;GANrB,aAAa,CAgCzB"}
@@ -0,0 +1 @@
1
+ export * from './auth-v1.service';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-v1.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -0,0 +1,27 @@
1
+ import { AuthApiVersion } from '../constants';
2
+ export interface AuthCheckAsyncModuleOptions {
3
+ inject: any[];
4
+ useFactory: (...args: any[]) => Promise<AuthCheckOptions>;
5
+ }
6
+ export interface AuthCheckOptions {
7
+ domain: string;
8
+ version: AuthApiVersion;
9
+ projectId: string;
10
+ }
11
+ export interface AuthCheckHeaders {
12
+ [key: string]: string;
13
+ }
14
+ export interface AuthCheckResponse {
15
+ active: boolean;
16
+ user: {
17
+ userId: string;
18
+ email: string;
19
+ loginName: string;
20
+ givenName: string;
21
+ familyName: string;
22
+ additionalName: string;
23
+ displayName: string;
24
+ createDate: Date;
25
+ };
26
+ roles?: string[];
27
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=auth-check.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-check.type.js","sourceRoot":"","sources":["../../src/types/auth-check.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './auth-check.type';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-check.type"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@echo-nova-404/auth-check",
3
+ "version": "0.1.8",
4
+ "description": "A library for authorization checks using SSO",
5
+ "author": "Taras Khokhlov",
6
+ "license": "UNLICENSED",
7
+ "readmeFilename": "README.md",
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "nest build",
15
+ "start:dev": "nest start --watch",
16
+ "biome:format": "biome format .",
17
+ "biome:check": "biome check .",
18
+ "biome:lint": "biome lint .",
19
+ "biome:apply-formatting": "biome format --write . ; biome check --write . ; biome lint ."
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://git.nch-monitoring.ru/libraries/javascript/auth-check.git"
27
+ },
28
+ "peerDependencies": {
29
+ "@nestjs/common": "^11.0.1",
30
+ "@nestjs/core": "^11.0.1",
31
+ "@nestjs/swagger": "^11.2.0"
32
+ },
33
+ "dependencies": {},
34
+ "devDependencies": {
35
+ "@biomejs/biome": "^2.3.11",
36
+ "@nestjs/cli": "^11.0.0",
37
+ "@nestjs/schematics": "^11.0.0",
38
+ "@types/node": "^24.10.1",
39
+ "globals": "^16.0.0",
40
+ "source-map-support": "^0.5.21",
41
+ "supertest": "^7.0.0",
42
+ "ts-loader": "^9.5.2",
43
+ "ts-node": "^10.9.2",
44
+ "tsconfig-paths": "^4.2.0",
45
+ "typescript": "^5.7.3"
46
+ }
47
+ }