@starklabs/forge 1.3.3 → 1.3.5

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 (72) hide show
  1. package/dist/js/auth/refresh.d.ts +2 -5
  2. package/dist/js/auth/refresh.d.ts.map +1 -1
  3. package/dist/js/auth/refresh.js +27 -14
  4. package/dist/js/auth/refresh.js.map +1 -1
  5. package/dist/js/auth/signup.d.ts.map +1 -1
  6. package/dist/js/auth/signup.js +2 -1
  7. package/dist/js/auth/signup.js.map +1 -1
  8. package/dist/js/auth/utils/UAParser.d.ts +11 -0
  9. package/dist/js/auth/utils/UAParser.d.ts.map +1 -0
  10. package/dist/js/auth/utils/UAParser.js +16 -0
  11. package/dist/js/auth/utils/UAParser.js.map +1 -0
  12. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  13. package/dist/js/auth/utils/authenticateUser.js +19 -1
  14. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  15. package/dist/js/auth/utils/createUser.d.ts +3 -2
  16. package/dist/js/auth/utils/createUser.d.ts.map +1 -1
  17. package/dist/js/auth/utils/createUser.js +21 -2
  18. package/dist/js/auth/utils/createUser.js.map +1 -1
  19. package/dist/js/auth/utils/findRefreshToken.d.ts +4 -0
  20. package/dist/js/auth/utils/findRefreshToken.d.ts.map +1 -0
  21. package/dist/js/auth/utils/findRefreshToken.js +29 -0
  22. package/dist/js/auth/utils/findRefreshToken.js.map +1 -0
  23. package/dist/js/auth/utils/findRefreshTokenUser.d.ts +4 -0
  24. package/dist/js/auth/utils/findRefreshTokenUser.d.ts.map +1 -0
  25. package/dist/js/auth/utils/findRefreshTokenUser.js +18 -0
  26. package/dist/js/auth/utils/findRefreshTokenUser.js.map +1 -0
  27. package/dist/js/auth/utils/handleRefreshTokenValidation.d.ts +4 -0
  28. package/dist/js/auth/utils/handleRefreshTokenValidation.d.ts.map +1 -0
  29. package/dist/js/auth/utils/handleRefreshTokenValidation.js +24 -0
  30. package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +1 -0
  31. package/dist/js/auth/utils/handleRotateRefreshToken.d.ts +18 -0
  32. package/dist/js/auth/utils/handleRotateRefreshToken.d.ts.map +1 -0
  33. package/dist/js/auth/utils/handleRotateRefreshToken.js +66 -0
  34. package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -0
  35. package/dist/js/auth/utils/modeMap.d.ts +2 -1
  36. package/dist/js/auth/utils/modeMap.d.ts.map +1 -1
  37. package/dist/js/auth/utils/returnRotationToken.d.ts +2 -0
  38. package/dist/js/auth/utils/returnRotationToken.d.ts.map +1 -0
  39. package/dist/js/auth/utils/returnRotationToken.js +3 -0
  40. package/dist/js/auth/utils/returnRotationToken.js.map +1 -0
  41. package/dist/js/auth/utils/rotateRefreshToken.d.ts +16 -0
  42. package/dist/js/auth/utils/rotateRefreshToken.d.ts.map +1 -0
  43. package/dist/js/auth/utils/rotateRefreshToken.js +53 -0
  44. package/dist/js/auth/utils/rotateRefreshToken.js.map +1 -0
  45. package/dist/js/auth/utils/sendCookie.d.ts +10 -6
  46. package/dist/js/auth/utils/sendCookie.d.ts.map +1 -1
  47. package/dist/js/auth/utils/sendCookie.js +27 -15
  48. package/dist/js/auth/utils/sendCookie.js.map +1 -1
  49. package/dist/js/config/duration.d.ts +36 -0
  50. package/dist/js/config/duration.d.ts.map +1 -1
  51. package/dist/js/config/duration.js +40 -4
  52. package/dist/js/config/duration.js.map +1 -1
  53. package/dist/js/config/envs.d.ts.map +1 -1
  54. package/dist/js/config/envs.js +4 -2
  55. package/dist/js/config/envs.js.map +1 -1
  56. package/dist/js/config/refreshModel.d.ts.map +1 -1
  57. package/dist/js/config/refreshModel.js +15 -1
  58. package/dist/js/config/refreshModel.js.map +1 -1
  59. package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
  60. package/dist/js/middleware/auth.middleware.js +14 -13
  61. package/dist/js/middleware/auth.middleware.js.map +1 -1
  62. package/dist/js/types/Constructor.d.ts +8 -5
  63. package/dist/js/types/Constructor.d.ts.map +1 -1
  64. package/dist/js/utils/response.d.ts +1 -1
  65. package/dist/js/utils/response.d.ts.map +1 -1
  66. package/dist/js/utils/response.js +6 -4
  67. package/dist/js/utils/response.js.map +1 -1
  68. package/dist/js/utils/saveRefreshToken.d.ts +8 -4
  69. package/dist/js/utils/saveRefreshToken.d.ts.map +1 -1
  70. package/dist/js/utils/saveRefreshToken.js +9 -19
  71. package/dist/js/utils/saveRefreshToken.js.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ import getModel from "../../utils/getModel.js";
2
+ import { sendCookie } from "./sendCookie.js";
3
+ import { getEnvs } from "../../config/envs.js";
4
+ import { hash } from "../../utils/libsodium.js";
5
+ import saveRefreshToken from "../../utils/saveRefreshToken.js";
6
+ const handleRotateRefreshToken = async ({ owner, jti, deviceType, familyId, res, routeObj, deviceName, ipAddress, os, }) => {
7
+ const RefreshToken = getModel({ modelName: "RefreshToken" });
8
+ const { authConfigObj } = getEnvs();
9
+ let REFRESH_TOKEN = null;
10
+ if (!rotateRefreshToken) {
11
+ await RefreshToken.updateOne({
12
+ owner,
13
+ jti,
14
+ revoked: false,
15
+ }, { $set: { lastUsedAt: Date.now() } });
16
+ }
17
+ else {
18
+ const { refreshToken, refreshTokenAge } = sendCookie({
19
+ deviceType,
20
+ refreshTokenName: authConfigObj.refreshTokenName,
21
+ jti,
22
+ familyId,
23
+ refreshTokenPayload: {
24
+ sub: owner,
25
+ },
26
+ res,
27
+ routeObj,
28
+ });
29
+ REFRESH_TOKEN = refreshToken;
30
+ const hashedToken = await hash(refreshToken);
31
+ await RefreshToken.updateMany({
32
+ owner,
33
+ refreshTokenHash: { $ne: hashedToken },
34
+ familyId,
35
+ revoked: false,
36
+ }, { $set: { revoked: true } });
37
+ await saveRefreshToken({
38
+ _id: owner,
39
+ familyId,
40
+ jti,
41
+ hashedToken,
42
+ refreshTokenAge,
43
+ routeObj,
44
+ deviceName,
45
+ deviceType,
46
+ ipAddress,
47
+ os,
48
+ });
49
+ }
50
+ return REFRESH_TOKEN;
51
+ };
52
+ export default handleRotateRefreshToken;
53
+ //# sourceMappingURL=rotateRefreshToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotateRefreshToken.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/rotateRefreshToken.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAc/D,MAAM,wBAAwB,GAAG,KAAK,EAAE,EACtC,KAAK,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,UAAU,EACV,SAAS,EACT,EAAE,GACmB,EAAE,EAAE;IACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAExB,MAAM,YAAY,CAAC,SAAS,CAC1B;YACE,KAAK;YACL,GAAG;YACH,OAAO,EAAE,KAAK;SACf,EACD,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CACrC,CAAC;IACJ,CAAC;SAAM,CAAC;QAEN,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;YACnD,UAAU;YACV,gBAAgB,EAAE,aAAa,CAAC,gBAAiB;YACjD,GAAG;YACH,QAAQ;YACR,mBAAmB,EAAE;gBACnB,GAAG,EAAE,KAAK;aACX;YACD,GAAG;YACH,QAAQ;SACT,CAAC,CAAC;QAEH,aAAa,GAAG,YAAY,CAAC;QAG7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,CAAC;QAG9C,MAAM,YAAY,CAAC,UAAU,CAC3B;YACE,KAAK;YACL,gBAAgB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,QAAQ;YACR,OAAO,EAAE,KAAK;SACf,EACD,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAC5B,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,GAAG,EAAE,KAAK;YACV,QAAQ;YACR,GAAG;YACH,WAAW;YACX,eAAe;YACf,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS;YACT,EAAE;SACH,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -1,16 +1,20 @@
1
1
  import type { Response } from "express";
2
2
  import type { Route } from "../../types/Collection.js";
3
- export declare const sendCookie: ({ res, accessTokenName, accessTokenPayload, refreshTokenName, refreshTokenPayload, routeObj, }: {
3
+ export interface SendCookie {
4
4
  res: Response;
5
- accessTokenName: string;
6
- accessTokenPayload: string | object;
5
+ accessTokenName?: string;
6
+ accessTokenPayload?: string | object;
7
7
  refreshTokenName?: string;
8
8
  refreshTokenPayload?: string | object;
9
9
  routeObj: Route;
10
- }) => {
11
- accessToken: string;
10
+ jti?: string;
11
+ deviceType?: string;
12
+ familyId?: string | undefined;
13
+ }
14
+ export declare const sendCookie: ({ res, accessTokenName, accessTokenPayload, refreshTokenName, refreshTokenPayload, routeObj, jti, familyId, deviceType, }: SendCookie) => {
15
+ accessToken: string | null;
12
16
  refreshToken: string | null;
13
- refreshTokenAge: "1m" | "3m" | "5m" | "10m" | "15m" | "20m" | "30m" | "1h" | "6h" | "12h" | "1d" | "3d" | "7d" | "14d" | "30d" | undefined;
17
+ refreshTokenAge: "0s" | "5s" | "10s" | "15s" | "20s" | "30s" | "45s" | "1m" | "2m" | "3m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "1h" | "2h" | "3h" | "4h" | "6h" | "8h" | "12h" | "18h" | "24h" | "1d" | "2d" | "3d" | "4d" | "5d" | "7d" | "10d" | "14d" | "21d" | "30d" | "1w" | "2w" | "3w" | "4w" | "6w" | "8w" | "1mo" | "2mo" | "3mo" | "6mo" | "9mo" | "12mo" | "1y" | "2y" | "3y" | "5y" | undefined;
14
18
  };
15
19
  export declare const clearCookie: ({ res, cookieName, routeObj, }: {
16
20
  res: Response;
@@ -1 +1 @@
1
- {"version":3,"file":"sendCookie.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/sendCookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGvD,eAAO,MAAM,UAAU,GAAI,gGAOxB;IACD,GAAG,EAAE,QAAQ,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC;CACjB;;;;CAmDA,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,gCAIzB;IACD,GAAG,EAAE,QAAQ,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;CACjB,SAiCA,CAAC"}
1
+ {"version":3,"file":"sendCookie.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/sendCookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAGD,eAAO,MAAM,UAAU,GAAI,2HAUxB,UAAU;;;;CAqEZ,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,gCAIzB;IACD,GAAG,EAAE,QAAQ,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;CACjB,SAiCA,CAAC"}
@@ -2,7 +2,7 @@ import getDuration from "../../config/duration.js";
2
2
  import { getEnvs } from "../../config/envs.js";
3
3
  import AppError from "../../utils/AppError.js";
4
4
  import { signJWT } from "../../utils/handleJWT.js";
5
- export const sendCookie = ({ res, accessTokenName, accessTokenPayload, refreshTokenName, refreshTokenPayload, routeObj, }) => {
5
+ export const sendCookie = ({ res, accessTokenName, accessTokenPayload, refreshTokenName, refreshTokenPayload, routeObj, jti, familyId, deviceType, }) => {
6
6
  const { ENV, domain, authConfigObj } = getEnvs();
7
7
  const { accessTokenAge, refreshTokenAge } = authConfigObj;
8
8
  if (ENV === "production" && !domain)
@@ -16,25 +16,33 @@ export const sendCookie = ({ res, accessTokenName, accessTokenPayload, refreshTo
16
16
  path: routeObj.path,
17
17
  },
18
18
  });
19
- const accessToken = signJWT({
20
- payload: accessTokenPayload,
21
- routeObj,
22
- age: accessTokenAge,
23
- });
19
+ let accessToken = null;
20
+ if (accessTokenName)
21
+ accessToken = signJWT({
22
+ payload: accessTokenPayload,
23
+ routeObj,
24
+ age: accessTokenAge,
25
+ });
24
26
  let refreshToken = null;
25
27
  if (refreshTokenName)
26
28
  refreshToken = signJWT({
27
- payload: refreshTokenPayload,
28
29
  routeObj,
29
30
  age: refreshTokenAge,
31
+ payload: {
32
+ jti,
33
+ familyId,
34
+ deviceType,
35
+ ...refreshTokenPayload,
36
+ },
37
+ });
38
+ if (accessToken)
39
+ res.cookie(accessTokenName, accessToken, {
40
+ httpOnly: true,
41
+ maxAge: getDuration(accessTokenAge, routeObj),
42
+ sameSite: ENV === "production" ? "none" : "lax",
43
+ secure: ENV === "production",
44
+ domain: ENV === "production" ? domain : undefined,
30
45
  });
31
- res.cookie(accessTokenName, accessToken, {
32
- httpOnly: true,
33
- maxAge: getDuration(accessTokenAge, routeObj),
34
- sameSite: ENV === "production" ? "none" : "lax",
35
- secure: ENV === "production",
36
- domain: ENV === "production" ? domain : undefined,
37
- });
38
46
  if (refreshToken)
39
47
  res.cookie(refreshTokenName, refreshToken, {
40
48
  httpOnly: true,
@@ -43,7 +51,11 @@ export const sendCookie = ({ res, accessTokenName, accessTokenPayload, refreshTo
43
51
  secure: ENV === "production",
44
52
  domain: ENV === "production" ? domain : undefined,
45
53
  });
46
- return { accessToken, refreshToken, refreshTokenAge };
54
+ return {
55
+ accessToken,
56
+ refreshToken,
57
+ refreshTokenAge,
58
+ };
47
59
  };
48
60
  export const clearCookie = ({ res, cookieName, routeObj, }) => {
49
61
  const { ENV, domain } = getEnvs();
@@ -1 +1 @@
1
- {"version":3,"file":"sendCookie.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/sendCookie.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAInD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,GAAG,EACH,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,GAQT,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;IAE1D,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,MAAM;QACjC,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mCAAmC;YAC5C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,8CAA8C;YACpD,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,MAAM,WAAW,GAAG,OAAO,CAAC;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,QAAQ;QACR,GAAG,EAAE,cAAe;KACrB,CAAC,CAAC;IAGH,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,gBAAgB;QAClB,YAAY,GAAG,OAAO,CAAC;YACrB,OAAO,EAAE,mBAAoB;YAC7B,QAAQ;YACR,GAAG,EAAE,eAAgB;SACtB,CAAC,CAAC;IAEL,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE;QACvC,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,WAAW,CAAC,cAAe,EAAE,QAAQ,CAAC;QAC9C,QAAQ,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC/C,MAAM,EAAE,GAAG,KAAK,YAAY;QAC5B,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC,CAAC;IAGH,IAAI,YAAY;QACd,GAAG,CAAC,MAAM,CAAC,gBAAiB,EAAE,YAAY,EAAE;YAC1C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,WAAW,CAAC,eAAgB,EAAE,QAAQ,CAAC;YAC/C,QAAQ,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,GAAG,KAAK,YAAY;YAC5B,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IAEL,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACxD,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,GAAG,EACH,UAAU,EACV,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAElC,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,+CAA+C;YACrD,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,MAAM;QACjC,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mCAAmC;YAC5C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,8CAA8C;YACpD,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC/C,MAAM,EAAE,GAAG,KAAK,YAAY;QAC5B,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"sendCookie.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/sendCookie.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,56 @@
1
1
  import type { Route } from "../types/Collection.js";
2
2
  export declare const DURATIONS: {
3
+ "0s": number;
4
+ "5s": number;
5
+ "10s": number;
6
+ "15s": number;
7
+ "20s": number;
8
+ "30s": number;
9
+ "45s": number;
3
10
  "1m": number;
11
+ "2m": number;
4
12
  "3m": number;
5
13
  "5m": number;
6
14
  "10m": number;
7
15
  "15m": number;
8
16
  "20m": number;
9
17
  "30m": number;
18
+ "45m": number;
10
19
  "1h": number;
20
+ "2h": number;
21
+ "3h": number;
22
+ "4h": number;
11
23
  "6h": number;
24
+ "8h": number;
12
25
  "12h": number;
26
+ "18h": number;
27
+ "24h": number;
13
28
  "1d": number;
29
+ "2d": number;
14
30
  "3d": number;
31
+ "4d": number;
32
+ "5d": number;
15
33
  "7d": number;
34
+ "10d": number;
16
35
  "14d": number;
36
+ "21d": number;
17
37
  "30d": number;
38
+ "1w": number;
39
+ "2w": number;
40
+ "3w": number;
41
+ "4w": number;
42
+ "6w": number;
43
+ "8w": number;
44
+ "1mo": number;
45
+ "2mo": number;
46
+ "3mo": number;
47
+ "6mo": number;
48
+ "9mo": number;
49
+ "12mo": number;
50
+ "1y": number;
51
+ "2y": number;
52
+ "3y": number;
53
+ "5y": number;
18
54
  };
19
55
  export type DurationType = keyof typeof DURATIONS;
20
56
  declare const getDuration: (key: DurationType, routeObj: Route) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../src/js/config/duration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;CAgBrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAElD,QAAA,MAAM,WAAW,GAAI,KAAK,YAAY,EAAE,UAAU,KAAK,WActD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../src/js/config/duration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiErB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAElD,QAAA,MAAM,WAAW,GAAI,KAAK,YAAY,EAAE,UAAU,KAAK,WActD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,23 +1,59 @@
1
1
  import AppError from "../utils/AppError.js";
2
2
  export const DURATIONS = {
3
- "1m": 60 * 1000,
3
+ "0s": 1 * 1000,
4
+ "5s": 5 * 1000,
5
+ "10s": 10 * 1000,
6
+ "15s": 15 * 1000,
7
+ "20s": 20 * 1000,
8
+ "30s": 30 * 1000,
9
+ "45s": 45 * 1000,
10
+ "1m": 1 * 60 * 1000,
11
+ "2m": 2 * 60 * 1000,
4
12
  "3m": 3 * 60 * 1000,
5
13
  "5m": 5 * 60 * 1000,
6
14
  "10m": 10 * 60 * 1000,
7
15
  "15m": 15 * 60 * 1000,
8
16
  "20m": 20 * 60 * 1000,
9
17
  "30m": 30 * 60 * 1000,
10
- "1h": 60 * 60 * 1000,
18
+ "45m": 45 * 60 * 1000,
19
+ "1h": 1 * 60 * 60 * 1000,
20
+ "2h": 2 * 60 * 60 * 1000,
21
+ "3h": 3 * 60 * 60 * 1000,
22
+ "4h": 4 * 60 * 60 * 1000,
11
23
  "6h": 6 * 60 * 60 * 1000,
24
+ "8h": 8 * 60 * 60 * 1000,
12
25
  "12h": 12 * 60 * 60 * 1000,
13
- "1d": 24 * 60 * 60 * 1000,
26
+ "18h": 18 * 60 * 60 * 1000,
27
+ "24h": 24 * 60 * 60 * 1000,
28
+ "1d": 1 * 24 * 60 * 60 * 1000,
29
+ "2d": 2 * 24 * 60 * 60 * 1000,
14
30
  "3d": 3 * 24 * 60 * 60 * 1000,
31
+ "4d": 4 * 24 * 60 * 60 * 1000,
32
+ "5d": 5 * 24 * 60 * 60 * 1000,
15
33
  "7d": 7 * 24 * 60 * 60 * 1000,
34
+ "10d": 10 * 24 * 60 * 60 * 1000,
16
35
  "14d": 14 * 24 * 60 * 60 * 1000,
36
+ "21d": 21 * 24 * 60 * 60 * 1000,
17
37
  "30d": 30 * 24 * 60 * 60 * 1000,
38
+ "1w": 7 * 24 * 60 * 60 * 1000,
39
+ "2w": 14 * 24 * 60 * 60 * 1000,
40
+ "3w": 21 * 24 * 60 * 60 * 1000,
41
+ "4w": 28 * 24 * 60 * 60 * 1000,
42
+ "6w": 42 * 24 * 60 * 60 * 1000,
43
+ "8w": 56 * 24 * 60 * 60 * 1000,
44
+ "1mo": 30 * 24 * 60 * 60 * 1000,
45
+ "2mo": 60 * 24 * 60 * 60 * 1000,
46
+ "3mo": 90 * 24 * 60 * 60 * 1000,
47
+ "6mo": 180 * 24 * 60 * 60 * 1000,
48
+ "9mo": 270 * 24 * 60 * 60 * 1000,
49
+ "12mo": 365 * 24 * 60 * 60 * 1000,
50
+ "1y": 365 * 24 * 60 * 60 * 1000,
51
+ "2y": 2 * 365 * 24 * 60 * 60 * 1000,
52
+ "3y": 3 * 365 * 24 * 60 * 60 * 1000,
53
+ "5y": 5 * 365 * 24 * 60 * 60 * 1000,
18
54
  };
19
55
  const getDuration = (key, routeObj) => {
20
- if (!DURATIONS[key])
56
+ if (!(key in DURATIONS))
21
57
  throw new AppError({
22
58
  message: "Invalid duration key",
23
59
  statusCode: 409,
@@ -1 +1 @@
1
- {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/js/config/duration.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,EAAE,GAAG,IAAI;IACf,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IACnB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACrB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACrB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACrB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACrB,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACpB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC1B,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACzB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC7B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC/B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAChC,CAAC;AAIF,MAAM,WAAW,GAAG,CAAC,GAAiB,EAAE,QAAe,EAAE,EAAE;IACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QACjB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,wCAAwC;YAC9C,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;gBAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;aAC1B;SACF,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/js/config/duration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"envs.d.ts","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI/E,QAAA,IAAI,IAAI,EAAE,mBAA0C,CAAC;AAqErD,QAAA,MAAM,OAAO,GAAI,QAAQ,mBAAmB,KAAG,IAoB9C,CAAC;AAEF,QAAA,MAAM,OAAO,QAAO,mBAEnB,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"envs.d.ts","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI/E,QAAA,IAAI,IAAI,EAAE,mBAA0C,CAAC;AAqErD,QAAA,MAAM,OAAO,GAAI,QAAQ,mBAAmB,KAAG,IAwB9C,CAAC;AAEF,QAAA,MAAM,OAAO,QAAO,mBAEnB,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -52,9 +52,11 @@ const setEnvs = (values) => {
52
52
  if (!values.authConfigObj.refreshTokenAge)
53
53
  values.authConfigObj.refreshTokenAge = "30d";
54
54
  if (!values.authConfigObj.accessTokenName)
55
- values.authConfigObj.accessTokenName = "access_token";
55
+ values.authConfigObj.accessTokenName = "accessToken";
56
56
  if (!values.authConfigObj.refreshTokenName)
57
- values.authConfigObj.refreshTokenName = "refresh_token";
57
+ values.authConfigObj.refreshTokenName = "refreshToken";
58
+ if (!values.authConfigObj.refreshTokenRotationInterval)
59
+ values.authConfigObj.refreshTokenRotationInterval = "0s";
58
60
  envs = values;
59
61
  };
60
62
  const getEnvs = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"refreshModel.d.ts","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AA+CA,QAAA,MAAM,kBAAkB,oBAIpB,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"refreshModel.d.ts","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,kBAAkB,oBAIpB,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
@@ -11,7 +11,21 @@ const refreshModelDefinition = {
11
11
  ref: "User",
12
12
  required: true,
13
13
  },
14
- refreshTokenHash: NullString,
14
+ refreshTokenHash: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ familyId: {
19
+ type: String,
20
+ required: true,
21
+ index: true,
22
+ },
23
+ jti: {
24
+ type: String,
25
+ required: true,
26
+ unique: true,
27
+ index: true,
28
+ },
15
29
  deviceType: NullString,
16
30
  deviceName: NullString,
17
31
  ipAddress: NullString,
@@ -1 +1 @@
1
- {"version":3,"file":"refreshModel.js","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpC,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;KACf;IAED,gBAAgB,EAAE,UAAU;IAE5B,UAAU,EAAE,UAAU;IAEtB,UAAU,EAAE,UAAU;IAEtB,SAAS,EAAE,UAAU;IAErB,EAAE,EAAE,UAAU;IAEd,OAAO,EAAE,UAAU;IAEnB,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACtB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACZ;CACF,CAAC;AAGF,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE,CACpC,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,WAAW,CAC1C,cAAc,EACd,sBAAsB,CACvB,CAAC,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"refreshModel.js","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpC,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;KACf;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ;IAED,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;KACZ;IAED,UAAU,EAAE,UAAU;IAEtB,UAAU,EAAE,UAAU;IAEtB,SAAS,EAAE,UAAU;IAErB,EAAE,EAAE,UAAU;IAEd,OAAO,EAAE,UAAU;IAEnB,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACtB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACZ;CACF,CAAC;AAGF,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE,CACpC,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,WAAW,CAC1C,cAAc,EACd,sBAAsB,CACvB,CAAC,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,QAAQ,GACnB,IAAI,MAAM,EACV,UAAU,KAAK,EACf,eAAe,MAAM,iBAuBtB,CAAC;AAEF,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MACT,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CA4EpE,CAAC;AAEJ,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,QAAQ,GACnB,IAAI,MAAM,EACV,UAAU,KAAK,EACf,eAAe,MAAM,iBAuBtB,CAAC;AAEF,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MACT,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CA8EpE,CAAC;AAEJ,eAAe,OAAO,CAAC"}
@@ -26,7 +26,8 @@ export const findUser = async (id, routeObj, userModelName) => {
26
26
  const protect = (routeObj) => async (req, res, next) => {
27
27
  try {
28
28
  const { userModelName, authConfigObj } = getEnvs();
29
- const token = req.cookies?.[authConfigObj.accessTokenName];
29
+ const { accessTokenName, verifyAccessUser } = authConfigObj;
30
+ const token = req.cookies?.[accessTokenName];
30
31
  if (!token) {
31
32
  return next(new AppError({
32
33
  message: "Access token is missing",
@@ -49,20 +50,20 @@ const protect = (routeObj) => async (req, res, next) => {
49
50
  details: getErrorDetail(routeObj),
50
51
  }));
51
52
  }
52
- const user = await findUser(payload.sub, routeObj, userModelName);
53
- if (!user) {
54
- return next(new AppError({
55
- message: "User associated with the access token was not found",
56
- code: "ACCESS_USER_NOT_FOUND",
57
- statusCode: 401,
58
- hint: "Sign in again with an existing account.",
59
- details: getErrorDetail(routeObj),
60
- }));
53
+ if (verifyAccessUser) {
54
+ const user = await findUser(payload.sub, routeObj, userModelName);
55
+ if (!user) {
56
+ return next(new AppError({
57
+ message: "User associated with the access token was not found",
58
+ code: "ACCESS_USER_NOT_FOUND",
59
+ statusCode: 401,
60
+ hint: "Sign in again with an existing account.",
61
+ details: getErrorDetail(routeObj),
62
+ }));
63
+ }
61
64
  }
62
65
  req.user = {
63
- email: user.email,
64
- role: user.role,
65
- _id: user._id,
66
+ _id: payload.sub,
66
67
  };
67
68
  next();
68
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,19 @@ export interface AuthConfig {
6
6
  mode: "builtin" | "manual";
7
7
  returnAccessToken?: boolean;
8
8
  returnRefreshToken?: boolean;
9
+ rotateRefreshToken?: boolean;
10
+ refreshTokenRotationInterval?: DurationType;
11
+ verifyAccessUser?: boolean;
9
12
  fieldsObj?: {
10
- otp: "otp" | "[field name]" | (string & {});
11
- purpose: "purpose" | "[field name]" | (string & {});
13
+ otp: "otp" | "write_a_custom_field_name" | (string & {});
14
+ purpose: "purpose" | "write_a_custom_field_name" | (string & {});
12
15
  };
13
16
  schemaObj?: {
14
- modelName: "User" | "[Model Name]" | (string & {});
17
+ modelName: "User" | "WRITE_A_CUSTOM_USER_Model_Name" | (string & {});
15
18
  schema: Record<string, UnifiedField>;
16
19
  };
17
- accessTokenName?: "access_token" | "[choose a custom name]" | (string & {});
18
- refreshTokenName?: "refresh_token" | "[choose a custom name]" | (string & {});
20
+ accessTokenName?: "access_token" | "write_a_custom_name" | (string & {});
21
+ refreshTokenName?: "refresh_token" | "write_a_custom_name" | (string & {});
19
22
  accessTokenAge?: DurationType;
20
23
  refreshTokenAge?: DurationType;
21
24
  signupMode?: authMode;
@@ -1 +1 @@
1
- {"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,KAAK,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;KACrD,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtC,CAAC;IAEF,eAAe,CAAC,EAAE,cAAc,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5E,gBAAgB,CAAC,EAAE,eAAe,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAE9E,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,eAAe,CAAC,EAAE,YAAY,CAAC;IAE/B,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,UAAU,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4BAA4B,CAAC,EAAE,YAAY,CAAC;IAE5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,KAAK,GAAG,2BAA2B,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,SAAS,GAAG,2BAA2B,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;KAClE,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,EAAE,MAAM,GAAG,gCAAgC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtC,CAAC;IAEF,eAAe,CAAC,EAAE,cAAc,GAAG,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACzE,gBAAgB,CAAC,EAAE,eAAe,GAAG,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAE3E,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,eAAe,CAAC,EAAE,YAAY,CAAC;IAE/B,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,UAAU,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -8,6 +8,6 @@ export interface AppResponse {
8
8
  refreshToken?: string | undefined;
9
9
  purpose?: string;
10
10
  }
11
- declare const appResponse: ({ res, data, message, statusCode, accessToken, refreshToken, purpose }: AppResponse) => void;
11
+ declare const appResponse: ({ res, data, message, statusCode, accessToken, refreshToken, purpose, }: AppResponse) => void;
12
12
  export default appResponse;
13
13
  //# sourceMappingURL=response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/js/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,QAAA,MAAM,WAAW,GAAI,wEAQlB,WAAW,KAAG,IAShB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/js/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,WAAW,GAAI,yEAQlB,WAAW,KAAG,IAWhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,11 +1,13 @@
1
- const appResponse = ({ res, data = undefined, message, statusCode = 200, accessToken, refreshToken, purpose }) => {
1
+ import { getEnvs } from "../config/envs.js";
2
+ const appResponse = ({ res, data = undefined, message, statusCode = 200, accessToken, refreshToken, purpose, }) => {
3
+ const { authConfigObj } = getEnvs();
2
4
  res.status(statusCode).json({
3
5
  success: true,
4
6
  data,
5
7
  message,
6
- accessToken,
7
- refreshToken,
8
- purpose
8
+ [authConfigObj.accessTokenName ?? "accessToken"]: accessToken,
9
+ [authConfigObj.refreshTokenName ?? "refreshToken"]: refreshToken,
10
+ purpose,
9
11
  });
10
12
  };
11
13
  export default appResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/js/utils/response.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,GAAG,CAAC,EACnB,GAAG,EACH,IAAI,GAAG,SAAS,EAChB,OAAO,EACP,UAAU,GAAG,GAAG,EAChB,WAAW,EACX,YAAY,EACZ,OAAO,EACK,EAAQ,EAAE;IACtB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,OAAO;QACP,WAAW;QACX,YAAY;QACZ,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/js/utils/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAY5C,MAAM,WAAW,GAAG,CAAC,EACnB,GAAG,EACH,IAAI,GAAG,SAAS,EAChB,OAAO,EACP,UAAU,GAAG,GAAG,EAChB,WAAW,EACX,YAAY,EACZ,OAAO,GACK,EAAQ,EAAE;IACtB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,OAAO;QACP,CAAC,aAAa,CAAC,eAAe,IAAI,aAAa,CAAC,EAAE,WAAW;QAC7D,CAAC,aAAa,CAAC,gBAAgB,IAAI,cAAc,CAAC,EAAE,YAAY;QAChE,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,13 +1,17 @@
1
- import type { Request } from "express";
2
1
  import type { DurationType } from "../config/duration.js";
3
2
  import type { Route } from "../types/Collection.js";
4
3
  export interface RefreshToken {
5
- req: Request;
6
- refreshToken: string;
4
+ hashedToken: string;
7
5
  refreshTokenAge: DurationType | undefined;
8
6
  _id: string;
9
7
  routeObj: Route;
8
+ jti: string;
9
+ familyId: string;
10
+ deviceType: string;
11
+ deviceName: string | undefined;
12
+ ipAddress: string | undefined;
13
+ os: string;
10
14
  }
11
- declare const saveRefreshToken: ({ req, refreshToken, refreshTokenAge, _id, routeObj, }: RefreshToken) => Promise<void>;
15
+ declare const saveRefreshToken: ({ hashedToken, refreshTokenAge, _id, routeObj, jti, familyId, deviceName, deviceType, ipAddress, os }: RefreshToken) => Promise<void>;
12
16
  export default saveRefreshToken;
13
17
  //# sourceMappingURL=saveRefreshToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"saveRefreshToken.d.ts","sourceRoot":"","sources":["../../../src/js/utils/saveRefreshToken.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED,QAAA,MAAM,gBAAgB,GAAU,wDAM7B,YAAY,kBAiCd,CAAC;AACF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"saveRefreshToken.d.ts","sourceRoot":"","sources":["../../../src/js/utils/saveRefreshToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,QAAA,MAAM,gBAAgB,GAAU,uGAW7B,YAAY,kBAed,CAAC;AACF,eAAe,gBAAgB,CAAC"}
@@ -1,27 +1,17 @@
1
- import { UAParser } from "ua-parser-js";
2
- import { hash } from "./libsodium.js";
3
- import registerModel from "../lib/model.registry.js";
4
1
  import getDuration from "../config/duration.js";
5
- const saveRefreshToken = async ({ req, refreshToken, refreshTokenAge, _id, routeObj, }) => {
6
- const RefreshToken = registerModel["RefreshToken"];
7
- const parser = new UAParser(req.get("user-agent"));
8
- const result = parser.getResult();
9
- const deviceType = result.device.type || "desktop";
10
- const hashedToken = await hash(refreshToken);
11
- await RefreshToken.updateMany({
12
- owner: _id,
13
- refreshTokenHash: { $ne: hashedToken },
14
- deviceType,
15
- revoked: false,
16
- }, { $set: { revoked: true } });
2
+ import getModel from "./getModel.js";
3
+ const saveRefreshToken = async ({ hashedToken, refreshTokenAge, _id, routeObj, jti, familyId, deviceName, deviceType, ipAddress, os }) => {
4
+ const RefreshToken = await getModel({ modelName: "RefreshToken" });
17
5
  await RefreshToken.create({
18
6
  owner: _id,
19
7
  refreshTokenHash: hashedToken,
8
+ jti,
20
9
  deviceType,
21
- deviceName: result.device.model,
22
- ipAddress: req.ip,
23
- os: `${result.os.name} ${result.os.version || ""}`,
24
- expiresAt: getDuration(refreshTokenAge, routeObj),
10
+ familyId,
11
+ deviceName,
12
+ ipAddress,
13
+ os,
14
+ expiresAt: Date.now() + getDuration(refreshTokenAge, routeObj),
25
15
  });
26
16
  };
27
17
  export default saveRefreshToken;
@@ -1 +1 @@
1
- {"version":3,"file":"saveRefreshToken.js","sourceRoot":"","sources":["../../../src/js/utils/saveRefreshToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAWhD,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAC9B,GAAG,EACH,YAAY,EACZ,eAAe,EACf,GAAG,EACH,QAAQ,GACK,EAAE,EAAE;IAEjB,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAGnD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;IAGnD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;IAG7C,MAAM,YAAY,CAAC,UAAU,CAC3B;QACE,KAAK,EAAE,GAAG;QACV,gBAAgB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;QACtC,UAAU;QACV,OAAO,EAAE,KAAK;KACf,EACD,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAC5B,CAAC;IAGF,MAAM,YAAY,CAAC,MAAM,CAAC;QACxB,KAAK,EAAE,GAAG;QACV,gBAAgB,EAAE,WAAW;QAC7B,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;QAC/B,SAAS,EAAE,GAAG,CAAC,EAAE;QACjB,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE;QAClD,SAAS,EAAE,WAAW,CAAC,eAAgB,EAAE,QAAQ,CAAC;KACnD,CAAC,CAAC;AACL,CAAC,CAAC;AACF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"saveRefreshToken.js","sourceRoot":"","sources":["../../../src/js/utils/saveRefreshToken.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAerC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAC9B,WAAW,EACX,eAAe,EACf,GAAG,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,EAAE,EACW,EAAE,EAAE;IACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,EAAC,SAAS,EAAE,cAAc,EAAC,CAAC,CAAA;IAGhE,MAAM,YAAY,CAAC,MAAM,CAAC;QACxB,KAAK,EAAE,GAAG;QACV,gBAAgB,EAAE,WAAW;QAC7B,GAAG;QACH,UAAU;QACV,QAAQ;QACR,UAAU;QACV,SAAS;QACT,EAAE;QACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,eAAgB,EAAE,QAAQ,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC;AACF,eAAe,gBAAgB,CAAC"}