@next-nest-auth/nestauth 1.2.5 → 1.2.7
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.
- package/dist/nestauth-facebook.strategy.d.ts +1 -1
- package/dist/nestauth-google.strategy.d.ts +1 -1
- package/dist/nestauth-local.guard.d.ts +20 -4
- package/dist/nestauth-local.guard.js +9 -7
- package/dist/nestauth-local.guard.js.map +1 -1
- package/dist/nestauth-local.strategy.d.ts +12 -9
- package/dist/nestauth-local.strategy.js +22 -20
- package/dist/nestauth-local.strategy.js.map +1 -1
- package/dist/nestauth.controller.d.ts +15 -14
- package/dist/nestauth.controller.js +105 -95
- package/dist/nestauth.controller.js.map +1 -1
- package/dist/nestauth.module.d.ts +1 -1
- package/dist/nestauth.module.js +43 -46
- package/dist/nestauth.module.js.map +1 -1
- package/dist/nestauth.service.d.ts +1 -1
- package/dist/nestauth.service.js +1 -1
- package/dist/nestauth.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/nestauth-local.guard.ts +9 -2
- package/src/nestauth-local.strategy.ts +42 -14
- package/src/nestauth.controller.ts +66 -44
- package/src/nestauth.module.ts +80 -53
- package/src/nestauth.service.ts +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Profile, Strategy } from "passport-facebook";
|
|
2
|
-
declare const NestAuthFacebookStrategy_base: new (...args: [options: import("passport-facebook").
|
|
2
|
+
declare const NestAuthFacebookStrategy_base: new (...args: [options: import("passport-facebook").StrategyOptionsWithRequest] | [options: import("passport-facebook").StrategyOptions]) => Strategy & {
|
|
3
3
|
validate(...args: any[]): unknown;
|
|
4
4
|
};
|
|
5
5
|
export declare class NestAuthFacebookStrategy extends NestAuthFacebookStrategy_base {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Strategy, Profile, VerifyCallback } from "passport-google-oauth20";
|
|
2
|
-
declare const NestAuthGoogleStrategy_base: new (...args: [options: import("passport-google-oauth20").
|
|
2
|
+
declare const NestAuthGoogleStrategy_base: new (...args: [options: import("passport-google-oauth20").StrategyOptionsWithRequest] | [options: import("passport-google-oauth20").StrategyOptions] | [options: import("passport-google-oauth20").StrategyOptions] | [options: import("passport-google-oauth20").StrategyOptionsWithRequest]) => Strategy & {
|
|
3
3
|
validate(...args: any[]): unknown;
|
|
4
4
|
};
|
|
5
5
|
export declare class NestAuthGoogleStrategy extends NestAuthGoogleStrategy_base {
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
declare
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export declare function createLocalGuard(strategyName: string): {
|
|
2
|
+
new (...args: any[]): {
|
|
3
|
+
canActivate(context: import("@nestjs/common").ExecutionContext): boolean | Promise<boolean> | import("rxjs").Observable<boolean>;
|
|
4
|
+
logIn<TRequest extends {
|
|
5
|
+
logIn: Function;
|
|
6
|
+
} = any>(request: TRequest): Promise<void>;
|
|
7
|
+
handleRequest<TUser = any>(err: any, user: any, info: any, context: import("@nestjs/common").ExecutionContext, status?: any): TUser;
|
|
8
|
+
getAuthenticateOptions(context: import("@nestjs/common").ExecutionContext): import("@nestjs/passport").IAuthModuleOptions | undefined;
|
|
9
|
+
getRequest(context: import("@nestjs/common").ExecutionContext): any;
|
|
10
|
+
};
|
|
11
|
+
apply(this: Function, thisArg: any, argArray?: any): any;
|
|
12
|
+
call(this: Function, thisArg: any, ...argArray: any[]): any;
|
|
13
|
+
bind(this: Function, thisArg: any, ...argArray: any[]): any;
|
|
14
|
+
toString(): string;
|
|
15
|
+
readonly length: number;
|
|
16
|
+
arguments: any;
|
|
17
|
+
caller: Function;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
[Symbol.hasInstance](value: any): boolean;
|
|
20
|
+
};
|
|
@@ -6,13 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.createLocalGuard = createLocalGuard;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const passport_1 = require("@nestjs/passport");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
], NestAuthLocalGuard);
|
|
12
|
+
function createLocalGuard(strategyName) {
|
|
13
|
+
let NestAuthLocalGuard = class NestAuthLocalGuard extends (0, passport_1.AuthGuard)(strategyName) {
|
|
14
|
+
};
|
|
15
|
+
NestAuthLocalGuard = __decorate([
|
|
16
|
+
(0, common_1.Injectable)()
|
|
17
|
+
], NestAuthLocalGuard);
|
|
18
|
+
return NestAuthLocalGuard;
|
|
19
|
+
}
|
|
18
20
|
//# sourceMappingURL=nestauth-local.guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth-local.guard.js","sourceRoot":"","sources":["../src/nestauth-local.guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nestauth-local.guard.js","sourceRoot":"","sources":["../src/nestauth-local.guard.ts"],"names":[],"mappings":";;;;;;;;AAMA,4CAKC;AAXD,2CAA4C;AAC5C,+CAA6C;AAK7C,SAAgB,gBAAgB,CAAC,YAAoB;IAEjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,IAAA,oBAAS,EAAC,YAAY,CAAC;KAAG,CAAA;IAArD,kBAAkB;QADvB,IAAA,mBAAU,GAAE;OACP,kBAAkB,CAAmC;IAE3D,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { Strategy } from "passport-custom";
|
|
2
1
|
import { NestAuthInterface } from "./nestauth.interface";
|
|
3
|
-
declare
|
|
4
|
-
|
|
2
|
+
export declare function createLocalStrategy(strategyName: string, userServiceToken: string): {
|
|
3
|
+
new (userService: NestAuthInterface): {
|
|
4
|
+
readonly userService: NestAuthInterface;
|
|
5
|
+
validate(req: Request): Promise<any>;
|
|
6
|
+
authenticate(req: import("express").Request, options?: any): any;
|
|
7
|
+
success(user: any, info?: any): void;
|
|
8
|
+
fail(challenge: any, status: number): void;
|
|
9
|
+
fail(status: number): void;
|
|
10
|
+
redirect(url: string, status?: number): void;
|
|
11
|
+
pass(): void;
|
|
12
|
+
error(err: Error): void;
|
|
13
|
+
};
|
|
5
14
|
};
|
|
6
|
-
export declare class NestAuthLocalStrategy extends NestAuthLocalStrategy_base {
|
|
7
|
-
private readonly userService;
|
|
8
|
-
constructor(userService: NestAuthInterface);
|
|
9
|
-
validate(req: Request): Promise<any>;
|
|
10
|
-
}
|
|
11
|
-
export {};
|
|
@@ -12,29 +12,31 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.createLocalStrategy = createLocalStrategy;
|
|
16
16
|
const passport_1 = require("@nestjs/passport");
|
|
17
17
|
const passport_custom_1 = require("passport-custom");
|
|
18
18
|
const common_1 = require("@nestjs/common");
|
|
19
19
|
const macaddress = require("macaddress");
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
async validate(req) {
|
|
26
|
-
const user = await this.userService.validateUser(req.body);
|
|
27
|
-
if (!user) {
|
|
28
|
-
throw new common_1.UnauthorizedException("Invalid credentials");
|
|
20
|
+
function createLocalStrategy(strategyName, userServiceToken) {
|
|
21
|
+
let NestAuthLocalStrategy = class NestAuthLocalStrategy extends (0, passport_1.PassportStrategy)(passport_custom_1.Strategy, strategyName) {
|
|
22
|
+
constructor(userService) {
|
|
23
|
+
super();
|
|
24
|
+
this.userService = userService;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
async validate(req) {
|
|
27
|
+
const user = await this.userService.validateUser(req.body);
|
|
28
|
+
if (!user) {
|
|
29
|
+
throw new common_1.UnauthorizedException("Invalid credentials");
|
|
30
|
+
}
|
|
31
|
+
user.macId = await macaddress.one();
|
|
32
|
+
return user;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
NestAuthLocalStrategy = __decorate([
|
|
36
|
+
(0, common_1.Injectable)(),
|
|
37
|
+
__param(0, (0, common_1.Inject)(userServiceToken)),
|
|
38
|
+
__metadata("design:paramtypes", [Object])
|
|
39
|
+
], NestAuthLocalStrategy);
|
|
40
|
+
return NestAuthLocalStrategy;
|
|
41
|
+
}
|
|
40
42
|
//# sourceMappingURL=nestauth-local.strategy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth-local.strategy.js","sourceRoot":"","sources":["../src/nestauth-local.strategy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nestauth-local.strategy.js","sourceRoot":"","sources":["../src/nestauth-local.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AA0BA,kDA2BC;AArDD,+CAAoD;AACpD,qDAA2C;AAC3C,2CAA2E;AAE3E,yCAAyC;AAsBzC,SAAgB,mBAAmB,CAC/B,YAAoB,EACpB,gBAAwB;IAExB,IACM,qBAAqB,GAD3B,MACM,qBAAsB,SAAQ,IAAA,2BAAgB,EAChD,0BAAQ,EACR,YAAY,CACf;QACG,YAEa,WAA8B;YAEvC,KAAK,EAAE,CAAC;YAFC,gBAAW,GAAX,WAAW,CAAmB;QAG3C,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,GAAY;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAA;IAnBK,qBAAqB;QAD1B,IAAA,mBAAU,GAAE;QAMJ,WAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;;OAL3B,qBAAqB,CAmB1B;IAED,OAAO,qBAAqB,CAAC;AACjC,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { NestAuthService } from "./nestauth.service";
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
2
|
+
export declare function createDynamicController(prefix: string, nestAuthServiceToken: string, localGuard: any): {
|
|
3
|
+
new (nestAuthService: NestAuthService): {
|
|
4
|
+
readonly nestAuthService: NestAuthService;
|
|
5
|
+
greetings(): Promise<string>;
|
|
6
|
+
login(req: any): Promise<any>;
|
|
7
|
+
refreshToken(params: {
|
|
8
|
+
refresh_token: string;
|
|
9
|
+
}): Promise<any>;
|
|
10
|
+
googleAuth(req: any): Promise<any>;
|
|
11
|
+
googleAuthRedirect(req: any): Promise<any>;
|
|
12
|
+
facebookLogin(): Promise<any>;
|
|
13
|
+
facebookLoginRedirect(req: any): Promise<any>;
|
|
14
|
+
logout(req: any): Promise<any>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -12,106 +12,116 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.createDynamicController = createDynamicController;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
-
const
|
|
17
|
+
const nestauth_service_1 = require("./nestauth.service");
|
|
18
18
|
const nestauth_google_guard_1 = require("./nestauth-google.guard");
|
|
19
19
|
const nestauth_facebook_guard_1 = require("./nestauth-facebook.guard");
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return "Welcome to NestAuth. Please check our documentation for more information.";
|
|
26
|
-
}
|
|
27
|
-
async login(req) {
|
|
28
|
-
return this.nestAuthService.login(req.user);
|
|
29
|
-
}
|
|
30
|
-
refreshToken(params) {
|
|
31
|
-
if (!params.refresh_token) {
|
|
32
|
-
throw new common_1.BadRequestException("Invalid or expired refresh token");
|
|
20
|
+
const http_exception_filter_1 = require("./http-exception.filter");
|
|
21
|
+
function createDynamicController(prefix, nestAuthServiceToken, localGuard) {
|
|
22
|
+
let NestAuthController = class NestAuthController {
|
|
23
|
+
constructor(nestAuthService) {
|
|
24
|
+
this.nestAuthService = nestAuthService;
|
|
33
25
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
async googleAuth(req) { }
|
|
37
|
-
googleAuthRedirect(req) {
|
|
38
|
-
if (!req.user) {
|
|
39
|
-
throw new common_1.UnauthorizedException("Unable to login with Google");
|
|
26
|
+
async greetings() {
|
|
27
|
+
return "Welcome to NestAuth. Please check our documentation for more information.";
|
|
40
28
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return common_1.HttpStatus.OK;
|
|
45
|
-
}
|
|
46
|
-
async facebookLoginRedirect(req) {
|
|
47
|
-
if (!req.user) {
|
|
48
|
-
throw new common_1.UnauthorizedException("Unable to login with Facebook");
|
|
29
|
+
async login(req) {
|
|
30
|
+
console.log("nestAuthServiceToken", nestAuthServiceToken);
|
|
31
|
+
return this.nestAuthService.login(req.user);
|
|
49
32
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
33
|
+
refreshToken(params) {
|
|
34
|
+
if (!params.refresh_token) {
|
|
35
|
+
throw new common_1.BadRequestException("Invalid or expired refresh token");
|
|
36
|
+
}
|
|
37
|
+
return this.nestAuthService.refreshToken(params.refresh_token);
|
|
38
|
+
}
|
|
39
|
+
async googleAuth(req) { }
|
|
40
|
+
googleAuthRedirect(req) {
|
|
41
|
+
if (!req.user) {
|
|
42
|
+
throw new common_1.UnauthorizedException("Unable to login with Google");
|
|
43
|
+
}
|
|
44
|
+
return this.nestAuthService.google(req.user);
|
|
45
|
+
}
|
|
46
|
+
async facebookLogin() {
|
|
47
|
+
return common_1.HttpStatus.OK;
|
|
48
|
+
}
|
|
49
|
+
async facebookLoginRedirect(req) {
|
|
50
|
+
if (!req.user) {
|
|
51
|
+
throw new common_1.UnauthorizedException("Unable to login with Facebook");
|
|
52
|
+
}
|
|
53
|
+
return this.nestAuthService.facebook(req.user);
|
|
54
|
+
}
|
|
55
|
+
async logout(req) {
|
|
56
|
+
return req.logout();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, common_1.All)(),
|
|
61
|
+
__metadata("design:type", Function),
|
|
62
|
+
__metadata("design:paramtypes", []),
|
|
63
|
+
__metadata("design:returntype", Promise)
|
|
64
|
+
], NestAuthController.prototype, "greetings", null);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, common_1.UseGuards)(localGuard),
|
|
67
|
+
(0, common_1.Post)("login"),
|
|
68
|
+
__param(0, (0, common_1.Request)()),
|
|
69
|
+
__metadata("design:type", Function),
|
|
70
|
+
__metadata("design:paramtypes", [Object]),
|
|
71
|
+
__metadata("design:returntype", Promise)
|
|
72
|
+
], NestAuthController.prototype, "login", null);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, common_1.Post)("refresh-token"),
|
|
75
|
+
__param(0, (0, common_1.Body)()),
|
|
76
|
+
__metadata("design:type", Function),
|
|
77
|
+
__metadata("design:paramtypes", [Object]),
|
|
78
|
+
__metadata("design:returntype", Promise)
|
|
79
|
+
], NestAuthController.prototype, "refreshToken", null);
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, common_1.UseGuards)(nestauth_google_guard_1.NestAuthGoogleGuard),
|
|
82
|
+
(0, common_1.Get)("google"),
|
|
83
|
+
__param(0, (0, common_1.Request)()),
|
|
84
|
+
__metadata("design:type", Function),
|
|
85
|
+
__metadata("design:paramtypes", [Object]),
|
|
86
|
+
__metadata("design:returntype", Promise)
|
|
87
|
+
], NestAuthController.prototype, "googleAuth", null);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, common_1.Get)("google-redirect"),
|
|
90
|
+
(0, common_1.UseGuards)(nestauth_google_guard_1.NestAuthGoogleGuard),
|
|
91
|
+
__param(0, (0, common_1.Request)()),
|
|
92
|
+
__metadata("design:type", Function),
|
|
93
|
+
__metadata("design:paramtypes", [Object]),
|
|
94
|
+
__metadata("design:returntype", void 0)
|
|
95
|
+
], NestAuthController.prototype, "googleAuthRedirect", null);
|
|
96
|
+
__decorate([
|
|
97
|
+
(0, common_1.Get)("/facebook"),
|
|
98
|
+
(0, common_1.UseGuards)(nestauth_facebook_guard_1.NestAuthFacebookGuard),
|
|
99
|
+
__metadata("design:type", Function),
|
|
100
|
+
__metadata("design:paramtypes", []),
|
|
101
|
+
__metadata("design:returntype", Promise)
|
|
102
|
+
], NestAuthController.prototype, "facebookLogin", null);
|
|
103
|
+
__decorate([
|
|
104
|
+
(0, common_1.Get)("/facebook-redirect"),
|
|
105
|
+
(0, common_1.UseGuards)(nestauth_facebook_guard_1.NestAuthFacebookGuard),
|
|
106
|
+
__param(0, (0, common_1.Request)()),
|
|
107
|
+
__metadata("design:type", Function),
|
|
108
|
+
__metadata("design:paramtypes", [Object]),
|
|
109
|
+
__metadata("design:returntype", Promise)
|
|
110
|
+
], NestAuthController.prototype, "facebookLoginRedirect", null);
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, common_1.UseGuards)(localGuard),
|
|
113
|
+
(0, common_1.Get)("logout"),
|
|
114
|
+
__param(0, (0, common_1.Request)()),
|
|
115
|
+
__metadata("design:type", Function),
|
|
116
|
+
__metadata("design:paramtypes", [Object]),
|
|
117
|
+
__metadata("design:returntype", Promise)
|
|
118
|
+
], NestAuthController.prototype, "logout", null);
|
|
119
|
+
NestAuthController = __decorate([
|
|
120
|
+
(0, common_1.UseFilters)(http_exception_filter_1.HttpExceptionFilter),
|
|
121
|
+
(0, common_1.Controller)(prefix),
|
|
122
|
+
__param(0, (0, common_1.Inject)(nestAuthServiceToken)),
|
|
123
|
+
__metadata("design:paramtypes", [nestauth_service_1.NestAuthService])
|
|
124
|
+
], NestAuthController);
|
|
125
|
+
return NestAuthController;
|
|
55
126
|
}
|
|
56
|
-
exports.NestAuthController = NestAuthController;
|
|
57
|
-
__decorate([
|
|
58
|
-
(0, common_1.Get)(),
|
|
59
|
-
__metadata("design:type", Function),
|
|
60
|
-
__metadata("design:paramtypes", []),
|
|
61
|
-
__metadata("design:returntype", Promise)
|
|
62
|
-
], NestAuthController.prototype, "greetings", null);
|
|
63
|
-
__decorate([
|
|
64
|
-
(0, common_1.UseGuards)(nestauth_local_guard_1.NestAuthLocalGuard),
|
|
65
|
-
(0, common_1.Post)("login"),
|
|
66
|
-
__param(0, (0, common_1.Request)()),
|
|
67
|
-
__metadata("design:type", Function),
|
|
68
|
-
__metadata("design:paramtypes", [Object]),
|
|
69
|
-
__metadata("design:returntype", Promise)
|
|
70
|
-
], NestAuthController.prototype, "login", null);
|
|
71
|
-
__decorate([
|
|
72
|
-
(0, common_1.Post)("refresh-token"),
|
|
73
|
-
__param(0, (0, common_1.Body)()),
|
|
74
|
-
__metadata("design:type", Function),
|
|
75
|
-
__metadata("design:paramtypes", [Object]),
|
|
76
|
-
__metadata("design:returntype", Promise)
|
|
77
|
-
], NestAuthController.prototype, "refreshToken", null);
|
|
78
|
-
__decorate([
|
|
79
|
-
(0, common_1.UseGuards)(nestauth_google_guard_1.NestAuthGoogleGuard),
|
|
80
|
-
(0, common_1.Get)("google"),
|
|
81
|
-
__param(0, (0, common_1.Request)()),
|
|
82
|
-
__metadata("design:type", Function),
|
|
83
|
-
__metadata("design:paramtypes", [Object]),
|
|
84
|
-
__metadata("design:returntype", Promise)
|
|
85
|
-
], NestAuthController.prototype, "googleAuth", null);
|
|
86
|
-
__decorate([
|
|
87
|
-
(0, common_1.Get)("google-redirect"),
|
|
88
|
-
(0, common_1.UseGuards)(nestauth_google_guard_1.NestAuthGoogleGuard),
|
|
89
|
-
__param(0, (0, common_1.Request)()),
|
|
90
|
-
__metadata("design:type", Function),
|
|
91
|
-
__metadata("design:paramtypes", [Object]),
|
|
92
|
-
__metadata("design:returntype", void 0)
|
|
93
|
-
], NestAuthController.prototype, "googleAuthRedirect", null);
|
|
94
|
-
__decorate([
|
|
95
|
-
(0, common_1.Get)("/facebook"),
|
|
96
|
-
(0, common_1.UseGuards)(nestauth_facebook_guard_1.NestAuthFacebookGuard),
|
|
97
|
-
__metadata("design:type", Function),
|
|
98
|
-
__metadata("design:paramtypes", []),
|
|
99
|
-
__metadata("design:returntype", Promise)
|
|
100
|
-
], NestAuthController.prototype, "facebookLogin", null);
|
|
101
|
-
__decorate([
|
|
102
|
-
(0, common_1.Get)("/facebook-redirect"),
|
|
103
|
-
(0, common_1.UseGuards)(nestauth_facebook_guard_1.NestAuthFacebookGuard),
|
|
104
|
-
__param(0, (0, common_1.Request)()),
|
|
105
|
-
__metadata("design:type", Function),
|
|
106
|
-
__metadata("design:paramtypes", [Object]),
|
|
107
|
-
__metadata("design:returntype", Promise)
|
|
108
|
-
], NestAuthController.prototype, "facebookLoginRedirect", null);
|
|
109
|
-
__decorate([
|
|
110
|
-
(0, common_1.UseGuards)(nestauth_local_guard_1.NestAuthLocalGuard),
|
|
111
|
-
(0, common_1.Get)("logout"),
|
|
112
|
-
__param(0, (0, common_1.Request)()),
|
|
113
|
-
__metadata("design:type", Function),
|
|
114
|
-
__metadata("design:paramtypes", [Object]),
|
|
115
|
-
__metadata("design:returntype", Promise)
|
|
116
|
-
], NestAuthController.prototype, "logout", null);
|
|
117
127
|
//# sourceMappingURL=nestauth.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth.controller.js","sourceRoot":"","sources":["../src/nestauth.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nestauth.controller.js","sourceRoot":"","sources":["../src/nestauth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DynamicModule } from "@nestjs/common";
|
|
2
2
|
import { NestAuthModuleOptions } from "./nestauth.interface";
|
|
3
3
|
export declare class NestAuthModule {
|
|
4
|
-
static
|
|
4
|
+
static forRoot(options: NestAuthModuleOptions): DynamicModule;
|
|
5
5
|
}
|
package/dist/nestauth.module.js
CHANGED
|
@@ -5,12 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
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
8
|
var NestAuthModule_1;
|
|
15
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
10
|
exports.NestAuthModule = void 0;
|
|
@@ -21,29 +15,39 @@ const nestauth_controller_1 = require("./nestauth.controller");
|
|
|
21
15
|
const passport_1 = require("@nestjs/passport");
|
|
22
16
|
const jwt_1 = require("@nestjs/jwt");
|
|
23
17
|
const nestauth_jwt_strategy_1 = require("./nestauth-jwt.strategy");
|
|
24
|
-
const nestauth_local_strategy_1 = require("./nestauth-local.strategy");
|
|
25
18
|
const nestauth_google_strategy_1 = require("./nestauth-google.strategy");
|
|
26
19
|
const nestauth_facebook_strategy_1 = require("./nestauth-facebook.strategy");
|
|
27
|
-
const
|
|
20
|
+
const nestauth_local_strategy_1 = require("./nestauth-local.strategy");
|
|
21
|
+
const nestauth_local_guard_1 = require("./nestauth-local.guard");
|
|
28
22
|
let NestAuthModule = NestAuthModule_1 = class NestAuthModule {
|
|
29
|
-
static
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
static forRoot(options) {
|
|
24
|
+
const JwtSecretProvider = {
|
|
25
|
+
provide: "JWT_SECRET",
|
|
26
|
+
useValue: options.jwtSecret || "60s",
|
|
27
|
+
};
|
|
28
|
+
const JwtExpiresInProvider = {
|
|
29
|
+
provide: "JWT_EXPIRES_IN",
|
|
30
|
+
useValue: options.jwtExpiresIn,
|
|
31
|
+
};
|
|
32
|
+
const JwtRefreshTokenExpiresInProvider = {
|
|
33
|
+
provide: "JWT_REFRESH_TOKEN_EXPIRES_IN",
|
|
34
|
+
useValue: options.jwtRefreshTokenExpiresIn,
|
|
35
|
+
};
|
|
33
36
|
const controllerPath = options.routePrefix
|
|
34
37
|
? `${options.routePrefix.replace(/^\/|\/$/g, "")}/nestauth`
|
|
35
38
|
: "nestauth";
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
const pathKey = controllerPath.replaceAll("/", "_").toUpperCase();
|
|
40
|
+
const userServiceToken = `NEST_AUTH_USER_SERVICE_${pathKey}`;
|
|
41
|
+
const nestAuthServiceToken = `NEST_AUTH_SERVICE_${pathKey}`;
|
|
42
|
+
const strategyName = `${pathKey}-local`;
|
|
43
|
+
const LocalStrategy = (0, nestauth_local_strategy_1.createLocalStrategy)(strategyName, userServiceToken);
|
|
44
|
+
const LocalGuard = (0, nestauth_local_guard_1.createLocalGuard)(strategyName);
|
|
45
|
+
console.log("controllerPath", controllerPath);
|
|
46
|
+
console.log("pathKey", pathKey);
|
|
47
|
+
console.log("userServiceToken", userServiceToken);
|
|
48
|
+
console.log("nestAuthServiceToken", nestAuthServiceToken);
|
|
49
|
+
console.log("------------------------------------------");
|
|
50
|
+
const controller = (0, nestauth_controller_1.createDynamicController)(controllerPath, nestAuthServiceToken, LocalGuard);
|
|
47
51
|
return {
|
|
48
52
|
module: NestAuthModule_1,
|
|
49
53
|
imports: [
|
|
@@ -61,37 +65,30 @@ let NestAuthModule = NestAuthModule_1 = class NestAuthModule {
|
|
|
61
65
|
],
|
|
62
66
|
providers: [
|
|
63
67
|
{
|
|
64
|
-
provide:
|
|
65
|
-
useClass: nestauth_service_1.NestAuthService,
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
provide: USER_SERVICE_TOKEN,
|
|
68
|
+
provide: userServiceToken,
|
|
69
69
|
useExisting: options.UserService,
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
provide:
|
|
73
|
-
useFactory: (userService) => userService,
|
|
74
|
-
inject: [
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
{
|
|
81
|
-
provide: "JWT_EXPIRES_IN",
|
|
82
|
-
useValue: options.jwtExpiresIn,
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
provide: "JWT_REFRESH_TOKEN_EXPIRES_IN",
|
|
86
|
-
useValue: options.jwtRefreshTokenExpiresIn,
|
|
72
|
+
provide: nestAuthServiceToken,
|
|
73
|
+
useFactory: (jwtService, userService, jwtExpiresIn, jwtRefreshTokenExpiresIn) => new nestauth_service_1.NestAuthService(jwtService, userService, jwtExpiresIn, jwtRefreshTokenExpiresIn),
|
|
74
|
+
inject: [
|
|
75
|
+
jwt_1.JwtService,
|
|
76
|
+
userServiceToken,
|
|
77
|
+
"JWT_EXPIRES_IN",
|
|
78
|
+
"JWT_REFRESH_TOKEN_EXPIRES_IN",
|
|
79
|
+
],
|
|
87
80
|
},
|
|
88
81
|
nestauth_jwt_strategy_1.NestAuthJwtStrategy,
|
|
89
|
-
nestauth_local_strategy_1.NestAuthLocalStrategy,
|
|
90
82
|
nestauth_google_strategy_1.NestAuthGoogleStrategy,
|
|
91
83
|
nestauth_facebook_strategy_1.NestAuthFacebookStrategy,
|
|
84
|
+
JwtSecretProvider,
|
|
85
|
+
JwtExpiresInProvider,
|
|
86
|
+
JwtRefreshTokenExpiresInProvider,
|
|
87
|
+
LocalStrategy,
|
|
88
|
+
LocalGuard,
|
|
92
89
|
],
|
|
93
|
-
exports: [
|
|
94
|
-
controllers: [
|
|
90
|
+
exports: [nestAuthServiceToken],
|
|
91
|
+
controllers: [controller],
|
|
95
92
|
};
|
|
96
93
|
}
|
|
97
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth.module.js","sourceRoot":"","sources":["../src/nestauth.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nestauth.module.js","sourceRoot":"","sources":["../src/nestauth.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { JwtService } from "@nestjs/jwt";
|
|
|
3
3
|
import { StringValue } from "ms";
|
|
4
4
|
export declare class NestAuthService {
|
|
5
5
|
private jwtService;
|
|
6
|
-
|
|
6
|
+
readonly userService: NestAuthInterface;
|
|
7
7
|
private readonly jwtExpiresIn;
|
|
8
8
|
private readonly jwtRefreshTokenExpiresIn;
|
|
9
9
|
constructor(jwtService: JwtService, userService: NestAuthInterface, jwtExpiresIn?: StringValue | number, jwtRefreshTokenExpiresIn?: StringValue | number);
|
package/dist/nestauth.service.js
CHANGED
|
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
+
var _a, _b;
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
16
|
exports.NestAuthService = void 0;
|
|
16
17
|
const common_1 = require("@nestjs/common");
|
|
@@ -65,7 +66,6 @@ let NestAuthService = class NestAuthService {
|
|
|
65
66
|
exports.NestAuthService = NestAuthService;
|
|
66
67
|
exports.NestAuthService = NestAuthService = __decorate([
|
|
67
68
|
(0, common_1.Injectable)(),
|
|
68
|
-
__param(1, (0, common_1.Inject)("UserService")),
|
|
69
69
|
__param(2, (0, common_1.Inject)("JWT_EXPIRES_IN")),
|
|
70
70
|
__param(3, (0, common_1.Inject)("JWT_REFRESH_TOKEN_EXPIRES_IN")),
|
|
71
71
|
__metadata("design:paramtypes", [jwt_1.JwtService, Object, Object, Object])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth.service.js","sourceRoot":"","sources":["../src/nestauth.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nestauth.service.js","sourceRoot":"","sources":["../src/nestauth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2E;AAO3E,qCAAyC;AAIlC,IAAM,eAAe,GAArB,MAAM,eAAe;IACxB,YACY,UAAsB,EACrB,WAA8B,EAEtB,eAAqC,KAAK,EAE1C,2BAAiD,IAAI;QAL9D,eAAU,GAAV,UAAU,CAAY;QACrB,gBAAW,GAAX,WAAW,CAAmB;QAEtB,iBAAY,GAAZ,YAAY,CAA8B;QAE1C,6BAAwB,GAAxB,wBAAwB,CAA6B;IACvE,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAAS;QACjB,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBACpC,SAAS,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;aACxC,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrC,SAAS,EAAE,IAAI,CAAC,wBAAwB,IAAI,IAAI;aACnD,CAAC;YACF,oBAAoB,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;YAChD,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,IAAI,IAAI;SAC/D,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAuB;QAChC,MAAM,OAAO,GAAmB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAyB;QACpC,MAAM,OAAO,GAAmB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB;QACnC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,8BAAqB,CAC3B,kCAAkC,CACrC,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,kCAAkC,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;CACJ,CAAA;AAzDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAKJ,WAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;IAExB,WAAA,IAAA,eAAM,EAAC,8BAA8B,CAAC,CAAA;qCAJnB,gBAAU;GAFzB,eAAe,CAyD3B"}
|