@sweepbright/api-client 0.40.2 → 0.40.4-pre.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/README.md CHANGED
@@ -39,6 +39,11 @@ against the private API. This is done by call the `authorize` function of the cl
39
39
  > Currently this library does not provide a way to acquire such tokens.
40
40
  > It assumes you already have one. To set a user token the method `withUserToken` on the client is available
41
41
 
42
+ > **NOTE** In the `SweepbrightOAuthManager` method `getAccessTokenBySessionData`, we use a mutex to prevent concurrent access-token
43
+ > requests for the same session. We ran into issues with the Redis client under parallel execution: if multiple auth calls fire at
44
+ > once, they can race when setting the token and end up hitting the private API or Redis multiple times. To fix this, we introduced
45
+ > the async-mutex library and wrap our authorization logic in a runExclusive block so it only ever runs once per session.
46
+
42
47
  ### Estates - getOne
43
48
 
44
49
  Takes a single `options` parameter and returns a promise with the estate data
@@ -183,4 +188,4 @@ In `master` branch:
183
188
  - go to [Releases / Tags](https://github.com/sweepbright/api-client-js/tags)
184
189
  - find your new tag and click "Create Release From Tag" button
185
190
  - save the release
186
- - go to [Actions](https://github.com/sweepbright/api-client-js/actions) and make sure the NPM package is being published
191
+ - go to [Actions](https://github.com/sweepbright/api-client-js/actions) and make sure the NPM package is being published
package/dist/client.js CHANGED
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ClientImpl = void 0;
7
- const async_mutex_1 = require("async-mutex");
8
7
  const axios_1 = __importDefault(require("axios"));
8
+ const lodash_1 = require("lodash");
9
9
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
10
10
  const envHosts_1 = require("./common/envHosts");
11
11
  const logRequest_1 = require("./common/logRequest");
@@ -26,7 +26,6 @@ const negotiators_1 = __importDefault(require("./resources/negotiators"));
26
26
  const offices_1 = __importDefault(require("./resources/offices"));
27
27
  const types_1 = require("./types");
28
28
  const utils_1 = require("./utils");
29
- const authorizationMutex = new async_mutex_1.Mutex();
30
29
  const getDefaultAuthConfig = (conf, logger) => {
31
30
  return {
32
31
  storage: 'memory',
@@ -68,25 +67,21 @@ class ClientImpl {
68
67
  throw new ApiClientError_1.ApiClientError('Client is not authenticated');
69
68
  }
70
69
  if (this._auth.type !== tokenType) {
71
- throw new ApiClientError_1.ApiClientError('Authenticated with invalid token type');
70
+ throw new ApiClientError_1.ApiClientError(`Authenticated with invalid token type expected ${tokenType} got ${this._auth.type}`);
72
71
  }
73
72
  },
74
73
  };
75
74
  }
76
75
  async authorizeWithOAuthManager(clientId, clientSecret, scopes, options) {
77
- await authorizationMutex.runExclusive(async () => {
78
- this.logger?.debug('Started authorization mutex');
79
- if (this.isAuthorized({ scopes })) {
80
- return;
81
- }
82
- const accessToken = await this.localAuthManager.getAccessTokenBySessionData(new SessionDataImpl_1.SessionDataImpl({ clientId, clientSecret, scopes }), options);
83
- if (!accessToken) {
84
- throw new ApiClientError_1.ApiClientError('Authentication failed');
85
- }
86
- this._auth = { token: accessToken, type: types_1.TokenType.API_TOKEN, scopes };
87
- this.httpClient.defaults.headers.common['Authorization'] = `Bearer ${accessToken}`;
88
- });
89
- this.logger?.debug('End authorization mutex');
76
+ if (this.isAuthorized({ scopes })) {
77
+ return;
78
+ }
79
+ const accessToken = await this.localAuthManager.getAccessTokenBySessionData(new SessionDataImpl_1.SessionDataImpl({ clientId, clientSecret, scopes }), options);
80
+ if (!accessToken) {
81
+ throw new ApiClientError_1.ApiClientError('Authentication failed');
82
+ }
83
+ this._auth = { token: accessToken, type: types_1.TokenType.API_TOKEN, scopes };
84
+ this.httpClient.defaults.headers.common['Authorization'] = `Bearer ${accessToken}`;
90
85
  }
91
86
  resetAuth() {
92
87
  this._auth = null;
@@ -131,7 +126,13 @@ class ClientImpl {
131
126
  }
132
127
  isAuthorized(config = {}) {
133
128
  const { scopes = ['companies:read', 'properties:download', 'lead_info:write'], } = config;
134
- return !!this._auth?.token && this._auth.scopes === scopes;
129
+ return (this._auth !== undefined &&
130
+ this._auth !== null &&
131
+ this._auth.token !== undefined &&
132
+ this._auth.token !== null &&
133
+ this._auth.type !== undefined &&
134
+ this._auth.type !== null &&
135
+ (0, lodash_1.isEqual)(scopes, this._auth.scopes));
135
136
  }
136
137
  getCurrentToken() {
137
138
  return this._auth?.token ?? '';
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
+ import { SessionDataImpl } from './oauth-manager/SessionDataImpl';
2
+ import { SweepbrightOAuthManager } from './oauth-manager/SweepbrightOAuthManager';
1
3
  import { createCustomEndpointAuthManager } from './oauth-manager/factories/createCustomEndpointAuthManager';
2
4
  import { createOAuthManager } from './oauth-manager/factories/createOAuthManager';
3
5
  import { CreateOAuthManagerOptions } from './oauth-manager/factories/entities';
4
- import { Logger } from './oauth-manager/interfaces';
6
+ import { Logger, OAuthManager, SessionData } from './oauth-manager/interfaces';
5
7
  import { Client, ClientConf, Env } from './types';
6
8
  declare function createClient(conf: ClientConf, logger?: Logger): Client;
7
- export { Client, Env, CreateOAuthManagerOptions, createClient, createCustomEndpointAuthManager, createOAuthManager, };
9
+ export { Client, Env, CreateOAuthManagerOptions, SweepbrightOAuthManager, OAuthManager, SessionData, SessionDataImpl, createClient, createCustomEndpointAuthManager, createOAuthManager, };
package/dist/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createOAuthManager = exports.createCustomEndpointAuthManager = exports.Env = void 0;
3
+ exports.createOAuthManager = exports.createCustomEndpointAuthManager = exports.SessionDataImpl = exports.SweepbrightOAuthManager = exports.Env = void 0;
4
4
  exports.createClient = createClient;
5
5
  const client_1 = require("./client");
6
+ const SessionDataImpl_1 = require("./oauth-manager/SessionDataImpl");
7
+ Object.defineProperty(exports, "SessionDataImpl", { enumerable: true, get: function () { return SessionDataImpl_1.SessionDataImpl; } });
8
+ const SweepbrightOAuthManager_1 = require("./oauth-manager/SweepbrightOAuthManager");
9
+ Object.defineProperty(exports, "SweepbrightOAuthManager", { enumerable: true, get: function () { return SweepbrightOAuthManager_1.SweepbrightOAuthManager; } });
6
10
  const createCustomEndpointAuthManager_1 = require("./oauth-manager/factories/createCustomEndpointAuthManager");
7
11
  Object.defineProperty(exports, "createCustomEndpointAuthManager", { enumerable: true, get: function () { return createCustomEndpointAuthManager_1.createCustomEndpointAuthManager; } });
8
12
  const createOAuthManager_1 = require("./oauth-manager/factories/createOAuthManager");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAeE,oCAAY;AAfd,qCAAsC;AACtC,+GAA4G;AAe1G,gHAfO,iEAA+B,OAeP;AAdjC,qFAAkF;AAehF,mGAfO,uCAAkB,OAeP;AAZpB,mCAAkD;AAQhD,oFAR2B,WAAG,OAQ3B;AANL,SAAS,YAAY,CAAC,IAAgB,EAAE,MAAe;IACrD,OAAO,IAAI,mBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqBE,oCAAY;AArBd,qCAAsC;AACtC,qEAAkE;AAmBhE,gGAnBO,iCAAe,OAmBP;AAlBjB,qFAAkF;AAehF,wGAfO,iDAAuB,OAeP;AAdzB,+GAA4G;AAmB1G,gHAnBO,iEAA+B,OAmBP;AAlBjC,qFAAkF;AAmBhF,mGAnBO,uCAAkB,OAmBP;AAhBpB,mCAAkD;AAQhD,oFAR2B,WAAG,OAQ3B;AANL,SAAS,YAAY,CAAC,IAAgB,EAAE,MAAe;IACrD,OAAO,IAAI,mBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC"}
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SweepbrightOAuthManager = void 0;
4
4
  /* eslint no-console: "error" */
5
+ const async_mutex_1 = require("async-mutex");
5
6
  const sleep_1 = require("../common/sleep");
6
7
  const OAuthApiClientError_1 = require("../errors/OAuthApiClientError");
7
8
  const SECOND = 1000;
8
9
  const LOCK_TTL = 10 * SECOND;
9
10
  const MANAGER_POLLING_INTERVAL = 2 * SECOND;
10
11
  const MANAGER_POLLING_TIMEOUT = 20 * SECOND;
12
+ const authorizationMutex = new async_mutex_1.Mutex();
11
13
  class SweepbrightOAuthManager {
12
14
  constructor(tokensRepository, authenticationService, log) {
13
15
  this.tokensRepository = tokensRepository;
@@ -80,7 +82,9 @@ class SweepbrightOAuthManager {
80
82
  }
81
83
  async getAccessTokenBySessionData(sessionData, options = {}) {
82
84
  try {
83
- return await this._getAccessTokenBySessionData(sessionData, options);
85
+ // needed to prevent errors on concurrent redis request with node-redis https://github.com/redis/node-redis/issues/2704
86
+ const result = await authorizationMutex.runExclusive(async () => this._getAccessTokenBySessionData(sessionData, options));
87
+ return result;
84
88
  }
85
89
  catch (e) {
86
90
  this.log.warn('Failed to get access token');
@@ -1 +1 @@
1
- {"version":3,"file":"SweepbrightOAuthManager.js","sourceRoot":"","sources":["../../src/oauth-manager/SweepbrightOAuthManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SweepbrightOAuthManager.js","sourceRoot":"","sources":["../../src/oauth-manager/SweepbrightOAuthManager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class TokensRepository_Redis implements TokensRepository, CanChec
5
5
  private readonly redis;
6
6
  private readonly log;
7
7
  private readonly version;
8
+ private readonly expirationMarginMs;
8
9
  constructor(redis: RedisClientType | RedisClusterType, log: Logger);
9
10
  private forceDisconnect;
10
11
  private processRedisError;
@@ -7,6 +7,7 @@ class TokensRepository_Redis {
7
7
  this.redis = redis;
8
8
  this.log = log;
9
9
  this.version = 'v1';
10
+ this.expirationMarginMs = Number(process.env.REDUCE_TTL_MS) || 300000; // 5 minutes
10
11
  this.forceDisconnect = async () => {
11
12
  // try to force disconnect to connect again on next call
12
13
  await this.redis
@@ -103,8 +104,11 @@ class TokensRepository_Redis {
103
104
  try {
104
105
  if (shouldUpdateTokens) {
105
106
  const { tokens: { accessToken }, expiresAt, currentTime, } = options;
107
+ //if less then 0 set to 0
108
+ const ttl = Math.max(expiresAt.getTime() - currentTime.getTime() - this.expirationMarginMs, 0);
106
109
  await redis.set(this.accessTokenKey(sessionKey), accessToken, {
107
- PX: expiresAt.getTime() - currentTime.getTime(),
110
+ // to have token expired and updated before it actually expires
111
+ PX: ttl,
108
112
  });
109
113
  }
110
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TokensRepository_Redis.js","sourceRoot":"","sources":["../../src/oauth-manager/TokensRepository_Redis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokensRepository_Redis.js","sourceRoot":"","sources":["../../src/oauth-manager/TokensRepository_Redis.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.40.2",
2
+ "version": "0.40.4-pre.0",
3
3
  "license": "UNLICENCED",
4
4
  "main": "./dist/index.js",
5
5
  "typings": "./dist/index.d.ts",
@@ -31,6 +31,7 @@
31
31
  "@sweepbright/eslint-config-shared": "^1.0.5",
32
32
  "@sweepbright/shared-configs-tsconfig": "^1.0.1",
33
33
  "@types/jest": "^29.5.14",
34
+ "@types/lodash": "^4.17.20",
34
35
  "@types/redis-mock": "^0.17.3",
35
36
  "@types/uuid": "^10.0.0",
36
37
  "husky": "^9.1.7",
@@ -45,6 +46,7 @@
45
46
  "dependencies": {
46
47
  "async-mutex": "^0.5.0",
47
48
  "axios": "1.7.9",
49
+ "lodash": "^4.17.21",
48
50
  "redis": "^4.7.0",
49
51
  "tiny-invariant": "1.3.3",
50
52
  "ts-custom-error": "^3.3.1",