@next-nest-auth/nestauth 1.0.8 → 1.1.0
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/http-exception.filter.js +19 -3
- package/dist/http-exception.filter.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/nestauth-jwt.guard.d.ts +1 -0
- package/dist/nestauth-jwt.guard.js +10 -1
- package/dist/nestauth-jwt.guard.js.map +1 -1
- package/dist/nestauth-jwt.strategy.d.ts +1 -9
- package/dist/nestauth-jwt.strategy.js +13 -8
- package/dist/nestauth-jwt.strategy.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/http-exception.filter.ts +23 -8
- package/src/index.ts +2 -0
- package/src/nestauth-jwt.guard.ts +18 -1
- package/src/nestauth-jwt.strategy.ts +38 -19
|
@@ -34,12 +34,28 @@ let HttpExceptionFilter = class HttpExceptionFilter {
|
|
|
34
34
|
else {
|
|
35
35
|
console.error("Unexpected error:", exception);
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
const responseBody = {
|
|
38
38
|
statusCode: status,
|
|
39
39
|
message,
|
|
40
|
-
path: request
|
|
40
|
+
path: request?.url,
|
|
41
41
|
app: "nestauth",
|
|
42
|
-
}
|
|
42
|
+
};
|
|
43
|
+
try {
|
|
44
|
+
if (typeof response.status === "function" &&
|
|
45
|
+
typeof response.json === "function") {
|
|
46
|
+
response.status(status).json(responseBody);
|
|
47
|
+
}
|
|
48
|
+
else if (typeof response.send === "function") {
|
|
49
|
+
response.code?.(status);
|
|
50
|
+
response.send(responseBody);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
console.error("Unsupported response object:", response);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
console.error("Error while sending error response:", err);
|
|
58
|
+
}
|
|
43
59
|
}
|
|
44
60
|
};
|
|
45
61
|
exports.HttpExceptionFilter = HttpExceptionFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../src/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAKwB;
|
|
1
|
+
{"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../src/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAKwB;AAGjB,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,KAAK,CAAC,SAAc,EAAE,IAAmB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,OAAO,GAAG,uBAAuB,CAAC;QAEtC,IACI,SAAS,YAAY,sBAAa;YAClC,CAAC,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,QAAQ,CAAC,EAC5C,CAAC;YACC,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC;YACjC,MAAM,iBAAiB,GACnB,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAEpD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,GAAG,iBAAiB,CAAC;YAChC,CAAC;iBAAM,IACH,OAAO,iBAAiB,KAAK,QAAQ;gBACpC,iBAAyB,CAAC,OAAO,EACpC,CAAC;gBACC,OAAO,GAAI,iBAAyB,CAAC,OAAO,CAAC;YACjD,CAAC;iBAAM,IACH,OAAO,iBAAiB,KAAK,QAAQ;gBACpC,iBAAyB,CAAC,KAAK,EAClC,CAAC;gBACC,OAAO,GAAI,iBAAyB,CAAC,KAAK,CAAC;YAC/C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,YAAY,GAAG;YACjB,UAAU,EAAE,MAAM;YAClB,OAAO;YACP,IAAI,EAAE,OAAO,EAAE,GAAG;YAClB,GAAG,EAAE,UAAU;SAClB,CAAC;QAGF,IAAI,CAAC;YACD,IACI,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gBACrC,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EACrC,CAAC;gBACC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;CACJ,CAAA;AA1DY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,GAAE;GACK,mBAAmB,CA0D/B"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./nestauth.module"), exports);
|
|
|
18
18
|
__exportStar(require("./nestauth.service"), exports);
|
|
19
19
|
__exportStar(require("./nestauth.interface"), exports);
|
|
20
20
|
__exportStar(require("./nestauth-jwt.guard"), exports);
|
|
21
|
+
__exportStar(require("./nestauth-jwt.strategy"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AAErC,0DAAwC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ExecutionContext } from "@nestjs/common";
|
|
2
2
|
declare const NestAuthJwtGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
3
3
|
export declare class NestAuthJwtGuard extends NestAuthJwtGuard_base {
|
|
4
|
+
handleRequest(err: any, user: any, info: any, context: ExecutionContext): any;
|
|
4
5
|
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
5
6
|
}
|
|
6
7
|
export {};
|
|
@@ -11,9 +11,18 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const passport_1 = require("@nestjs/passport");
|
|
12
12
|
const macaddress = require("macaddress");
|
|
13
13
|
let NestAuthJwtGuard = class NestAuthJwtGuard extends (0, passport_1.AuthGuard)("jwt") {
|
|
14
|
+
handleRequest(err, user, info, context) {
|
|
15
|
+
console.log("err, user, info, context1");
|
|
16
|
+
if (err || !user) {
|
|
17
|
+
throw new common_1.UnauthorizedException("Unauthorized: Invalid or missing token");
|
|
18
|
+
}
|
|
19
|
+
return user;
|
|
20
|
+
}
|
|
14
21
|
async canActivate(context) {
|
|
22
|
+
const can = (await super.canActivate(context));
|
|
23
|
+
if (!can)
|
|
24
|
+
return false;
|
|
15
25
|
const request = context.switchToHttp().getRequest();
|
|
16
|
-
await super.canActivate(context);
|
|
17
26
|
const user = request.user;
|
|
18
27
|
if (!user) {
|
|
19
28
|
throw new common_1.UnauthorizedException("Unauthorized: Invalid token");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth-jwt.guard.js","sourceRoot":"","sources":["../src/nestauth-jwt.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAIwB;AACxB,+CAA6C;AAC7C,yCAAyC;AAGlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"nestauth-jwt.guard.js","sourceRoot":"","sources":["../src/nestauth-jwt.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAIwB;AACxB,+CAA6C;AAC7C,yCAAyC;AAGlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAElD,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS,EAAE,OAAyB;QACnE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,8BAAqB,CAC3B,wCAAwC,CAC3C,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,KAAK,CAAC,WAAW,CAAC,OAAyB;QACvC,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAY,CAAC;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,8BAAqB,CAAC,6BAA6B,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAAqB,CAAC,+BAA+B,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AA/BY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CA+B5B"}
|
|
@@ -5,14 +5,6 @@ declare const NestAuthJwtStrategy_base: new (...args: [opt: import("passport-jwt
|
|
|
5
5
|
};
|
|
6
6
|
export declare class NestAuthJwtStrategy extends NestAuthJwtStrategy_base {
|
|
7
7
|
constructor(jwtSecret: string);
|
|
8
|
-
validate(payload: JwtPayload): Promise<
|
|
9
|
-
userId: string;
|
|
10
|
-
macId: any;
|
|
11
|
-
email: any;
|
|
12
|
-
role: any;
|
|
13
|
-
name: any;
|
|
14
|
-
username: any;
|
|
15
|
-
pic: any;
|
|
16
|
-
}>;
|
|
8
|
+
validate(payload: JwtPayload): Promise<Record<string, any>>;
|
|
17
9
|
}
|
|
18
10
|
export {};
|
|
@@ -26,15 +26,20 @@ let NestAuthJwtStrategy = class NestAuthJwtStrategy extends (0, passport_1.Passp
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
async validate(payload) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
pic: payload.pic,
|
|
29
|
+
if (!payload) {
|
|
30
|
+
throw new common_1.UnauthorizedException("Invalid token payload");
|
|
31
|
+
}
|
|
32
|
+
const macId = payload.macId ?? (await macaddress.one());
|
|
33
|
+
const userData = {
|
|
34
|
+
sub: payload.sub,
|
|
35
|
+
macId,
|
|
37
36
|
};
|
|
37
|
+
for (const key of Object.keys(payload)) {
|
|
38
|
+
if (key !== "sub" && key !== "macId") {
|
|
39
|
+
userData[key] = payload[key];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return userData;
|
|
38
43
|
}
|
|
39
44
|
};
|
|
40
45
|
exports.NestAuthJwtStrategy = NestAuthJwtStrategy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestauth-jwt.strategy.js","sourceRoot":"","sources":["../src/nestauth-jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,+CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"nestauth-jwt.strategy.js","sourceRoot":"","sources":["../src/nestauth-jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,+CAAoD;AACpD,2CAA2E;AAE3E,yCAAyC;AAGlC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;IAC/D,YAAkC,SAAiB;QAC/C,KAAK,CAAC;YACF,cAAc,EAAE,yBAAU,CAAC,2BAA2B,EAAE;YACxD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,SAAS;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAW9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,uBAAuB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAwB;YAClC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK;SACR,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAA;AAvCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAEI,WAAA,IAAA,eAAM,EAAC,YAAY,CAAC,CAAA;;GADxB,mBAAmB,CAuC/B"}
|