@unchainedshop/platform 2.7.4 → 2.7.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.
@@ -1,4 +1,5 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
+ import { timingSafeEqual } from 'crypto';
2
3
  const logger = createLogger('unchained:platform');
3
4
  const contextIdentity = (params) => params;
4
5
  export default (fn = contextIdentity) => {
@@ -15,12 +16,15 @@ export default (fn = contextIdentity) => {
15
16
  const user = await unchainedContext.modules.users.findUser({
16
17
  username,
17
18
  });
18
- if (secret && user?.services.token?.secret === secret) {
19
- newContext.userId = user._id;
20
- newContext.user = user;
21
- }
22
- else {
23
- logger.warn('Token login failed');
19
+ if (secret && user?.services.token?.secret) {
20
+ if (timingSafeEqual(Buffer.from(secret), Buffer.from(user?.services.token?.secret))) {
21
+ newContext.userId = user._id;
22
+ newContext.user = user;
23
+ logger.debug('Token login success');
24
+ }
25
+ else {
26
+ logger.warn('Token login failed');
27
+ }
24
28
  }
25
29
  }
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"withAccessToken.js","sourceRoot":"","sources":["../../src/context/withAccessToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;AAE3C,eAAe,CAAC,KAAgC,eAAe,EAAO,EAAE;IACtE,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE;QAC1C,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;SAC5B,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtE,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACzD,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,MAAM,IAAI,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtD,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;oBAC7B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;YACR,GAAG,gBAAgB;YACnB,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"withAccessToken.js","sourceRoot":"","sources":["../../src/context/withAccessToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;AAE3C,eAAe,CAAC,KAAgC,eAAe,EAAO,EAAE;IACtE,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE;QAC1C,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;SAC5B,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtE,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACzD,QAAQ;iBACT,CAAC,CAAC;gBAEH,IAAI,MAAM,IAAI,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC3C,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;wBACpF,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;wBAC7B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;wBACvB,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;YACR,GAAG,gBAAgB;YACnB,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/platform",
3
- "version": "2.7.4",
3
+ "version": "2.7.5",
4
4
  "main": "lib/platform-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/platform-index.js",
@@ -31,22 +31,22 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/api": "^2.7.4",
35
- "@unchainedshop/core": "^2.7.4",
36
- "@unchainedshop/events": "^2.7.4",
37
- "@unchainedshop/file-upload": "^2.7.4",
38
- "@unchainedshop/logger": "^2.7.4",
39
- "@unchainedshop/mongodb": "^2.7.4",
40
- "@unchainedshop/plugins": "^2.7.4",
41
- "@unchainedshop/roles": "^2.7.4",
42
- "@unchainedshop/utils": "^2.7.4",
34
+ "@unchainedshop/api": "^2.7.5",
35
+ "@unchainedshop/core": "^2.7.5",
36
+ "@unchainedshop/events": "^2.7.5",
37
+ "@unchainedshop/file-upload": "^2.7.5",
38
+ "@unchainedshop/logger": "^2.7.5",
39
+ "@unchainedshop/mongodb": "^2.7.5",
40
+ "@unchainedshop/plugins": "^2.7.5",
41
+ "@unchainedshop/roles": "^2.7.5",
42
+ "@unchainedshop/utils": "^2.7.5",
43
43
  "event-iterator": "^2.0.0",
44
44
  "JSONStream": "^1.3.5",
45
45
  "moniker": "0.1.2"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/node": "^20.11.17",
49
- "@unchainedshop/types": "^2.7.4",
48
+ "@types/node": "^20.11.21",
49
+ "@unchainedshop/types": "^2.7.5",
50
50
  "cross-env": "^7.0.3",
51
51
  "jest": "^29.7.0",
52
52
  "ts-jest": "^29.1.2",
@@ -1,5 +1,6 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import { Context } from '@unchainedshop/types/api.js';
3
+ import { timingSafeEqual } from 'crypto';
3
4
 
4
5
  const logger = createLogger('unchained:platform');
5
6
 
@@ -19,11 +20,15 @@ export default (fn: (context: Context) => any = contextIdentity): any => {
19
20
  const user = await unchainedContext.modules.users.findUser({
20
21
  username,
21
22
  });
22
- if (secret && user?.services.token?.secret === secret) {
23
- newContext.userId = user._id;
24
- newContext.user = user;
25
- } else {
26
- logger.warn('Token login failed');
23
+
24
+ if (secret && user?.services.token?.secret) {
25
+ if (timingSafeEqual(Buffer.from(secret), Buffer.from(user?.services.token?.secret))) {
26
+ newContext.userId = user._id;
27
+ newContext.user = user;
28
+ logger.debug('Token login success');
29
+ } else {
30
+ logger.warn('Token login failed');
31
+ }
27
32
  }
28
33
  }
29
34
  }