@thirdweb-dev/service-utils 0.0.0-dev-eacca0c-20230714191703 → 0.0.0-dev-5d07f9d-20230714193021

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-c32e136a.cjs.dev.js');
5
+ var index = require('../../dist/index-ded83ecc.cjs.dev.js');
6
6
  var services = require('../../dist/services-a3f36057.cjs.dev.js');
7
7
 
8
8
  const DEFAULT_CACHE_TTL_SECONDS = 60;
@@ -93,8 +93,7 @@ async function extractAuthorizationData(authInput) {
93
93
  clientId,
94
94
  origin,
95
95
  bundleId,
96
- secretKeyHash,
97
- targetAddress: authInput.targetAddress
96
+ secretKeyHash
98
97
  };
99
98
  }
100
99
  async function hashSecretKey(secretKey) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-175beb0e.cjs.prod.js');
5
+ var index = require('../../dist/index-bc2b86a5.cjs.prod.js');
6
6
  var services = require('../../dist/services-9e185105.cjs.prod.js');
7
7
 
8
8
  const DEFAULT_CACHE_TTL_SECONDS = 60;
@@ -93,8 +93,7 @@ async function extractAuthorizationData(authInput) {
93
93
  clientId,
94
94
  origin,
95
95
  bundleId,
96
- secretKeyHash,
97
- targetAddress: authInput.targetAddress
96
+ secretKeyHash
98
97
  };
99
98
  }
100
99
  async function hashSecretKey(secretKey) {
@@ -1,4 +1,4 @@
1
- import { a as authorize } from '../../dist/index-5476722b.esm.js';
1
+ import { a as authorize } from '../../dist/index-1125bae0.esm.js';
2
2
  export { b as SERVICES, S as SERVICE_DEFINITIONS, a as SERVICE_NAMES, g as getServiceByName } from '../../dist/services-86283509.esm.js';
3
3
 
4
4
  const DEFAULT_CACHE_TTL_SECONDS = 60;
@@ -89,8 +89,7 @@ async function extractAuthorizationData(authInput) {
89
89
  clientId,
90
90
  origin,
91
91
  bundleId,
92
- secretKeyHash,
93
- targetAddress: authInput.targetAddress
92
+ secretKeyHash
94
93
  };
95
94
  }
96
95
  async function hashSecretKey(secretKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/cf-worker","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAkB,iBAAiB,EAAE,uBAAoB;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mCAAgC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAsB;AAEnD,oCAAiC;AAEjC,KAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,gBAAgB,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,KAAK,SAAS,GAAG,aAAa,GAAG;IAC/B,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA0C9B;AAoED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,mBAIpD;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/cf-worker","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAkB,iBAAiB,EAAE,uBAAoB;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mCAAgC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAsB;AAEnD,oCAAiC;AAEjC,KAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,gBAAgB,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,KAAK,SAAS,GAAG,aAAa,GAAG;IAC/B,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA0C9B;AAmED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,mBAIpD;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE"}
@@ -6,7 +6,7 @@ export type AuthorizationInput = {
6
6
  origin: string | null;
7
7
  bundleId: string | null;
8
8
  secretKeyHash: string | null;
9
- targetAddress?: string | string[];
9
+ targetAddress?: string;
10
10
  };
11
11
  type CacheOptions = {
12
12
  get: (clientId: string) => Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../../../src/core/authorize","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EAElB,kBAAe;AAGhB,OAAO,EAAE,mBAAmB,EAAE,mBAAgB;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AASF,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,iBAAiB,EAChC,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAoH9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../../src/core/authorize","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EAElB,kBAAe;AAGhB,OAAO,EAAE,mBAAmB,EAAE,mBAAgB;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AASF,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,iBAAiB,EAChC,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAoH9B"}
@@ -1,5 +1,5 @@
1
1
  export type CoreAuthInput = {
2
2
  clientId?: string;
3
- targetAddress?: string | string[];
3
+ targetAddress?: string;
4
4
  };
5
5
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"../../../../src/core","sources":["types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"../../../../src/core","sources":["types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/node","sources":["index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAA0B;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAoB;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mCAAgC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAsB;AAEnD,oCAAiC;AAEjC,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG;IACtC,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,iBAAiB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAaD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,GACnB,kBAAkB,CAgEpB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,UAE9C;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/node","sources":["index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAA0B;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAoB;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mCAAgC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAsB;AAEnD,oCAAiC;AAEjC,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG;IACtC,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,iBAAiB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAaD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,GACnB,kBAAkB,CA+DpB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,UAE9C;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE"}
@@ -7,7 +7,7 @@ async function fetchKeyMetadataFromApi(clientId, config) {
7
7
  const url = new URL(`${apiUrl}/v1/keys/use`);
8
8
  url.searchParams.set("clientId", clientId);
9
9
  url.searchParams.set("scope", serviceScope);
10
- const response = await fetch(url.toString(), {
10
+ const response = await fetch(url.href, {
11
11
  method: "GET",
12
12
  headers: {
13
13
  "x-service-api-key": serviceApiKey,
@@ -112,6 +112,8 @@ function authorizeService(apiKeyMetadata, serviceConfig, authorizationPayload) {
112
112
  const {
113
113
  services
114
114
  } = apiKeyMetadata;
115
+ // const { serviceTargetAddresses, serviceAction } = validations;
116
+
115
117
  // validate services
116
118
  const service = services.find(srv => srv.name === serviceConfig.serviceScope);
117
119
  if (!service) {
@@ -139,12 +141,11 @@ function authorizeService(apiKeyMetadata, serviceConfig, authorizationPayload) {
139
141
  // validate service target addresses
140
142
  // the service has to pass in the target address for this to be validated
141
143
  if (authorizationPayload?.targetAddress) {
142
- const checkedAddresses = Array.isArray(authorizationPayload.targetAddress) ? authorizationPayload.targetAddress : [authorizationPayload.targetAddress];
143
- const allAllowed = service.targetAddresses.includes("*");
144
- if (!allAllowed && checkedAddresses.some(ta => !service.targetAddresses.includes(ta))) {
144
+ const isTargetAddressAllowed = service.targetAddresses.includes(authorizationPayload.targetAddress);
145
+ if (!isTargetAddressAllowed) {
145
146
  return {
146
147
  authorized: false,
147
- errorMessage: `The service "${serviceConfig.serviceScope}" target address is not authorized for this key.`,
148
+ errorMessage: `The service "${serviceConfig.serviceScope}" target address "${authorizationPayload.targetAddress}" is not authorized for this key.`,
148
149
  errorCode: "SERVICE_TARGET_ADDRESS_UNAUTHORIZED",
149
150
  status: 403
150
151
  };
@@ -9,7 +9,7 @@ async function fetchKeyMetadataFromApi(clientId, config) {
9
9
  const url = new URL(`${apiUrl}/v1/keys/use`);
10
10
  url.searchParams.set("clientId", clientId);
11
11
  url.searchParams.set("scope", serviceScope);
12
- const response = await fetch(url.toString(), {
12
+ const response = await fetch(url.href, {
13
13
  method: "GET",
14
14
  headers: {
15
15
  "x-service-api-key": serviceApiKey,
@@ -114,6 +114,8 @@ function authorizeService(apiKeyMetadata, serviceConfig, authorizationPayload) {
114
114
  const {
115
115
  services
116
116
  } = apiKeyMetadata;
117
+ // const { serviceTargetAddresses, serviceAction } = validations;
118
+
117
119
  // validate services
118
120
  const service = services.find(srv => srv.name === serviceConfig.serviceScope);
119
121
  if (!service) {
@@ -141,12 +143,11 @@ function authorizeService(apiKeyMetadata, serviceConfig, authorizationPayload) {
141
143
  // validate service target addresses
142
144
  // the service has to pass in the target address for this to be validated
143
145
  if (authorizationPayload?.targetAddress) {
144
- const checkedAddresses = Array.isArray(authorizationPayload.targetAddress) ? authorizationPayload.targetAddress : [authorizationPayload.targetAddress];
145
- const allAllowed = service.targetAddresses.includes("*");
146
- if (!allAllowed && checkedAddresses.some(ta => !service.targetAddresses.includes(ta))) {
146
+ const isTargetAddressAllowed = service.targetAddresses.includes(authorizationPayload.targetAddress);
147
+ if (!isTargetAddressAllowed) {
147
148
  return {
148
149
  authorized: false,
149
- errorMessage: `The service "${serviceConfig.serviceScope}" target address is not authorized for this key.`,
150
+ errorMessage: `The service "${serviceConfig.serviceScope}" target address "${authorizationPayload.targetAddress}" is not authorized for this key.`,
150
151
  errorCode: "SERVICE_TARGET_ADDRESS_UNAUTHORIZED",
151
152
  status: 403
152
153
  };
@@ -9,7 +9,7 @@ async function fetchKeyMetadataFromApi(clientId, config) {
9
9
  const url = new URL(`${apiUrl}/v1/keys/use`);
10
10
  url.searchParams.set("clientId", clientId);
11
11
  url.searchParams.set("scope", serviceScope);
12
- const response = await fetch(url.toString(), {
12
+ const response = await fetch(url.href, {
13
13
  method: "GET",
14
14
  headers: {
15
15
  "x-service-api-key": serviceApiKey,
@@ -114,6 +114,8 @@ function authorizeService(apiKeyMetadata, serviceConfig, authorizationPayload) {
114
114
  const {
115
115
  services
116
116
  } = apiKeyMetadata;
117
+ // const { serviceTargetAddresses, serviceAction } = validations;
118
+
117
119
  // validate services
118
120
  const service = services.find(srv => srv.name === serviceConfig.serviceScope);
119
121
  if (!service) {
@@ -141,12 +143,11 @@ function authorizeService(apiKeyMetadata, serviceConfig, authorizationPayload) {
141
143
  // validate service target addresses
142
144
  // the service has to pass in the target address for this to be validated
143
145
  if (authorizationPayload?.targetAddress) {
144
- const checkedAddresses = Array.isArray(authorizationPayload.targetAddress) ? authorizationPayload.targetAddress : [authorizationPayload.targetAddress];
145
- const allAllowed = service.targetAddresses.includes("*");
146
- if (!allAllowed && checkedAddresses.some(ta => !service.targetAddresses.includes(ta))) {
146
+ const isTargetAddressAllowed = service.targetAddresses.includes(authorizationPayload.targetAddress);
147
+ if (!isTargetAddressAllowed) {
147
148
  return {
148
149
  authorized: false,
149
- errorMessage: `The service "${serviceConfig.serviceScope}" target address is not authorized for this key.`,
150
+ errorMessage: `The service "${serviceConfig.serviceScope}" target address "${authorizationPayload.targetAddress}" is not authorized for this key.`,
150
151
  errorCode: "SERVICE_TARGET_ADDRESS_UNAUTHORIZED",
151
152
  status: 403
152
153
  };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_crypto = require('node:crypto');
6
- var index = require('../../dist/index-c32e136a.cjs.dev.js');
6
+ var index = require('../../dist/index-ded83ecc.cjs.dev.js');
7
7
  var services = require('../../dist/services-a3f36057.cjs.dev.js');
8
8
 
9
9
  async function authorizeNode(authInput, serviceConfig) {
@@ -93,8 +93,7 @@ function extractAuthorizationData(authInput) {
93
93
  secretKey,
94
94
  clientId,
95
95
  origin,
96
- bundleId,
97
- targetAddress: authInput.targetAddress
96
+ bundleId
98
97
  };
99
98
  }
100
99
  function hashSecretKey(secretKey) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_crypto = require('node:crypto');
6
- var index = require('../../dist/index-175beb0e.cjs.prod.js');
6
+ var index = require('../../dist/index-bc2b86a5.cjs.prod.js');
7
7
  var services = require('../../dist/services-9e185105.cjs.prod.js');
8
8
 
9
9
  async function authorizeNode(authInput, serviceConfig) {
@@ -93,8 +93,7 @@ function extractAuthorizationData(authInput) {
93
93
  secretKey,
94
94
  clientId,
95
95
  origin,
96
- bundleId,
97
- targetAddress: authInput.targetAddress
96
+ bundleId
98
97
  };
99
98
  }
100
99
  function hashSecretKey(secretKey) {
@@ -1,5 +1,5 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { a as authorize } from '../../dist/index-5476722b.esm.js';
2
+ import { a as authorize } from '../../dist/index-1125bae0.esm.js';
3
3
  export { b as SERVICES, S as SERVICE_DEFINITIONS, a as SERVICE_NAMES, g as getServiceByName } from '../../dist/services-86283509.esm.js';
4
4
 
5
5
  async function authorizeNode(authInput, serviceConfig) {
@@ -89,8 +89,7 @@ function extractAuthorizationData(authInput) {
89
89
  secretKey,
90
90
  clientId,
91
91
  origin,
92
- bundleId,
93
- targetAddress: authInput.targetAddress
92
+ bundleId
94
93
  };
95
94
  }
96
95
  function hashSecretKey(secretKey) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thirdweb-dev/service-utils",
3
- "version": "0.0.0-dev-eacca0c-20230714191703",
3
+ "version": "0.0.0-dev-5d07f9d-20230714193021",
4
4
  "main": "dist/thirdweb-dev-service-utils.cjs.js",
5
5
  "module": "dist/thirdweb-dev-service-utils.esm.js",
6
6
  "exports": {