@starklabs/forge 1.3.6 → 1.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.collection.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,eAAO,MAAM,cAAc,YAsDzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"auth.collection.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,eAAO,MAAM,cAAc,YA2DzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -55,8 +55,13 @@ export const authCollection = collection({
55
55
  {
56
56
  method: "get",
57
57
  handler: "refresh",
58
- path: "/refresh-token"
59
- }
58
+ path: "/refresh-token",
59
+ },
60
+ {
61
+ method: "post",
62
+ handler: "refresh",
63
+ path: "/refresh-token",
64
+ },
60
65
  ],
61
66
  });
62
67
  export default authCollection;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.collection.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,iBAAiB,GAAG,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC;IAE3D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE;QACX;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,QAAQ;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,OAAO;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,gBAAgB;SAChC;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,eAAe;SAC/B;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"auth.collection.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,iBAAiB,GAAG,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC;IAE3D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE;QACX;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,QAAQ;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,OAAO;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,gBAAgB;SAChC;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,eAAe;SAC/B;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAajD,QAAA,MAAM,OAAO,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,MAClC,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAwF1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAcjD,QAAA,MAAM,OAAO,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,MAClC,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA8E1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -9,19 +9,12 @@ import findRefreshToken from "./utils/findRefreshToken.js";
9
9
  import handleRefreshTokenValidation from "./utils/handleRefreshTokenValidation.js";
10
10
  import findRefreshTokenUser from "./utils/findRefreshTokenUser.js";
11
11
  import handleRotateRefreshToken from "./utils/handleRotateRefreshToken.js";
12
+ import getRefreshToken from "./utils/handleGetRefreshToken.js";
12
13
  const refresh = ({ routeObj }) => {
13
14
  return async (req, res) => {
14
15
  const { authConfigObj, userModelName } = getEnvs();
15
- const { deviceType, jti, deviceName, os, ipAddress, familyId } = tokenInfo(req);
16
- let token = req.cookies?.[authConfigObj.refreshTokenName];
17
- if (!token)
18
- throw new AppError({
19
- message: "Refresh token is missing",
20
- code: "REFRESH_TOKEN_MISSING",
21
- details: getErrorDetail(routeObj),
22
- hint: "Log in again to create a new authentication session.",
23
- statusCode: 401,
24
- });
16
+ const { deviceType, jti, deviceName, os, ipAddress, familyId, reqMethod } = tokenInfo(req);
17
+ let token = getRefreshToken({ reqMethod, req, routeObj });
25
18
  const payload = verifyJWT({
26
19
  token,
27
20
  routeObj,
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ declare const tokenInfo: (req: Request) => {
6
6
  os: string;
7
7
  jti: string;
8
8
  familyId: string;
9
+ reqMethod: string;
9
10
  };
10
11
  export default tokenInfo;
11
12
  //# sourceMappingURL=UAParser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UAParser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,QAAA,MAAM,SAAS,GAAI,KAAK,OAAO;;;;;;;CAY9B,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"UAParser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,QAAA,MAAM,SAAS,GAAI,KAAK,OAAO;;;;;;;;CAa9B,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -10,6 +10,7 @@ const tokenInfo = (req) => {
10
10
  os: `${result.os.name} ${result.os.version || ""}`,
11
11
  jti: crypto.randomBytes(16).toString("hex"),
12
12
  familyId: crypto.randomBytes(16).toString("hex"),
13
+ reqMethod: req.method
13
14
  };
14
15
  };
15
16
  export default tokenInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"UAParser.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE;IACjC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;QAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QAC5C,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS;QAC9B,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE;QAClD,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KACjD,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"UAParser.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE;IACjC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;QAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QAC5C,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS;QAC9B,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE;QAClD,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChD,SAAS,EAAE,GAAG,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Route } from "../../types/Collection.js";
2
+ import type { Request } from "express";
3
+ declare const getRefreshToken: ({ req, reqMethod, routeObj, }: {
4
+ req: Request;
5
+ reqMethod: string;
6
+ routeObj: Route;
7
+ }) => any;
8
+ export default getRefreshToken;
9
+ //# sourceMappingURL=handleGetRefreshToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGetRefreshToken.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/handleGetRefreshToken.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,eAAe,GAAI,+BAItB;IACD,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,QA6CA,CAAC;AACF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,42 @@
1
+ import AppError from "../../utils/AppError.js";
2
+ import getErrorDetail from "../../utils/getErrorDetail.js";
3
+ import { getEnvs } from "../../config/envs.js";
4
+ const getRefreshToken = ({ req, reqMethod, routeObj, }) => {
5
+ const { authConfigObj } = getEnvs();
6
+ const tokenName = authConfigObj.refreshTokenName;
7
+ if (reqMethod !== "GET" && reqMethod !== "POST")
8
+ throw new AppError({
9
+ details: getErrorDetail(routeObj),
10
+ hint: "This is route only works with GET and POST methods",
11
+ message: "Invalid method",
12
+ statusCode: 409,
13
+ code: "INVALID_REFRESH_TOKEN_METHOD",
14
+ });
15
+ let token = null;
16
+ if (reqMethod === "GET") {
17
+ token = req.cookies[tokenName];
18
+ }
19
+ else {
20
+ const bodyToken = req.body[tokenName];
21
+ if (!bodyToken || typeof bodyToken !== "string")
22
+ throw new AppError({
23
+ message: "Refresh token is missing",
24
+ code: "REFRESH_TOKEN_MISSING",
25
+ details: getErrorDetail(routeObj),
26
+ hint: `With POST method, '${tokenName}' is required in body as string.`,
27
+ statusCode: 401,
28
+ });
29
+ token = bodyToken;
30
+ }
31
+ if (!token)
32
+ throw new AppError({
33
+ message: "Refresh token is missing",
34
+ code: "REFRESH_TOKEN_MISSING",
35
+ details: getErrorDetail(routeObj),
36
+ hint: "Log in again to create a new authentication session.",
37
+ statusCode: 401,
38
+ });
39
+ return token;
40
+ };
41
+ export default getRefreshToken;
42
+ //# sourceMappingURL=handleGetRefreshToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGetRefreshToken.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/handleGetRefreshToken.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,MAAM,eAAe,GAAG,CAAC,EACvB,GAAG,EACH,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAGjD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;QAC7C,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,oDAAoD;YAC1D,OAAO,EAAE,gBAAgB;YACzB,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;IAEL,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;YAC7C,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,sBAAsB,SAAS,kCAAkC;gBACvE,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAEL,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;IAGD,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,0BAA0B;YACnC,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,sDAAsD;YAC5D,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IAEL,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,eAAe,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starklabs/forge",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "A TypeScript-first Express framework for building production-ready APIs with zero boilerplate.",
5
5
  "type": "module",
6
6
  "main": "./dist/js/index.js",