@scalekit-sdk/node 2.2.2 → 2.4.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.
Files changed (69) hide show
  1. package/lib/auth.d.ts +6 -6
  2. package/lib/auth.js +6 -6
  3. package/lib/auth.js.map +1 -1
  4. package/lib/connect.js +1 -1
  5. package/lib/connect.js.map +1 -1
  6. package/lib/connection.d.ts +27 -3
  7. package/lib/connection.js +36 -0
  8. package/lib/connection.js.map +1 -1
  9. package/lib/constants/user.js +18 -18
  10. package/lib/constants/user.js.map +1 -1
  11. package/lib/core.d.ts +14 -6
  12. package/lib/core.js +15 -13
  13. package/lib/core.js.map +1 -1
  14. package/lib/directory.d.ts +27 -3
  15. package/lib/directory.js +37 -1
  16. package/lib/directory.js.map +1 -1
  17. package/lib/domain.d.ts +5 -5
  18. package/lib/domain.js +6 -6
  19. package/lib/domain.js.map +1 -1
  20. package/lib/errors/base-exception.js +80 -48
  21. package/lib/errors/base-exception.js.map +1 -1
  22. package/lib/errors/specific-exceptions.js +1 -1
  23. package/lib/errors/specific-exceptions.js.map +1 -1
  24. package/lib/index.d.ts +4 -4
  25. package/lib/organization.d.ts +6 -6
  26. package/lib/organization.js +6 -6
  27. package/lib/organization.js.map +1 -1
  28. package/lib/passwordless.js +8 -6
  29. package/lib/passwordless.js.map +1 -1
  30. package/lib/permission.d.ts +5 -5
  31. package/lib/permission.js.map +1 -1
  32. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.d.ts +29 -0
  33. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js +23 -17
  34. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js.map +1 -1
  35. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +1 -1
  36. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
  37. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js +1 -1
  38. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js.map +1 -1
  39. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +1 -1
  40. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js.map +1 -1
  41. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +1 -1
  42. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js.map +1 -1
  43. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js +1 -1
  44. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js.map +1 -1
  45. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js +1 -1
  46. package/lib/pkg/grpc/scalekit/v1/tokens/tokens_pb.d.ts +404 -0
  47. package/lib/pkg/grpc/scalekit/v1/tokens/tokens_pb.js +96 -0
  48. package/lib/pkg/grpc/scalekit/v1/tokens/tokens_pb.js.map +1 -0
  49. package/lib/pkg/grpc/scalekit/v1/users/users_pb.d.ts +22 -0
  50. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +8 -3
  51. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
  52. package/lib/role.d.ts +22 -5
  53. package/lib/role.js +22 -0
  54. package/lib/role.js.map +1 -1
  55. package/lib/scalekit.d.ts +19 -0
  56. package/lib/scalekit.js +81 -32
  57. package/lib/scalekit.js.map +1 -1
  58. package/lib/session.d.ts +3 -3
  59. package/lib/session.js +7 -3
  60. package/lib/session.js.map +1 -1
  61. package/lib/token.d.ts +187 -0
  62. package/lib/token.js +221 -0
  63. package/lib/token.js.map +1 -0
  64. package/lib/user.d.ts +6 -9
  65. package/lib/user.js +11 -14
  66. package/lib/user.js.map +1 -1
  67. package/lib/webauthn.js +3 -3
  68. package/lib/webauthn.js.map +1 -1
  69. package/package.json +10 -3
package/lib/scalekit.js CHANGED
@@ -62,12 +62,14 @@ const session_1 = __importDefault(require("./session"));
62
62
  const role_1 = __importDefault(require("./role"));
63
63
  const permission_1 = __importDefault(require("./permission"));
64
64
  const webauthn_1 = __importDefault(require("./webauthn"));
65
+ const token_1 = __importDefault(require("./token"));
65
66
  const scalekit_1 = require("./types/scalekit");
66
67
  const base_exception_1 = require("./errors/base-exception");
67
- const authorizeEndpoint = "oauth/authorize";
68
- const logoutEndpoint = "oidc/logout";
68
+ const axios_1 = require("axios");
69
+ const authorizeEndpoint = 'oauth/authorize';
70
+ const logoutEndpoint = 'oidc/logout';
69
71
  const WEBHOOK_TOLERANCE_IN_SECONDS = 5 * 60; // 5 minutes
70
- const WEBHOOK_SIGNATURE_VERSION = "v1";
72
+ const WEBHOOK_SIGNATURE_VERSION = 'v1';
71
73
  /**
72
74
  * Main Scalekit SDK client for interacting with all Scalekit API endpoints.
73
75
  *
@@ -113,6 +115,7 @@ class ScalekitClient {
113
115
  this.permission = new permission_1.default(this.grpcConnect, this.coreClient);
114
116
  this.auth = new auth_1.default(this.grpcConnect, this.coreClient);
115
117
  this.webauthn = new webauthn_1.default(this.grpcConnect, this.coreClient);
118
+ this.token = new token_1.default(this.grpcConnect, this.coreClient);
116
119
  }
117
120
  /**
118
121
  * Utility method to generate the OAuth 2.0 authorization URL to initiate the SSO authentication flow.
@@ -186,10 +189,10 @@ class ScalekitClient {
186
189
  getAuthorizationUrl(redirectUri, options) {
187
190
  var _a;
188
191
  const defaultOptions = {
189
- scopes: ["openid", "profile", "email"],
192
+ scopes: ['openid', 'profile', 'email'],
190
193
  };
191
194
  options = Object.assign(Object.assign({}, defaultOptions), options);
192
- const qs = qs_1.default.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ response_type: "code", client_id: this.coreClient.clientId, redirect_uri: redirectUri, scope: (_a = options.scopes) === null || _a === void 0 ? void 0 : _a.join(" ") }, (options.state && { state: options.state })), (options.nonce && { nonce: options.nonce })), (options.loginHint && { login_hint: options.loginHint })), (options.domainHint && { domain_hint: options.domainHint })), (options.domainHint && { domain: options.domainHint })), (options.connectionId && { connection_id: options.connectionId })), (options.organizationId && {
195
+ const qs = qs_1.default.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ response_type: 'code', client_id: this.coreClient.clientId, redirect_uri: redirectUri, scope: (_a = options.scopes) === null || _a === void 0 ? void 0 : _a.join(' ') }, (options.state && { state: options.state })), (options.nonce && { nonce: options.nonce })), (options.loginHint && { login_hint: options.loginHint })), (options.domainHint && { domain_hint: options.domainHint })), (options.domainHint && { domain: options.domainHint })), (options.connectionId && { connection_id: options.connectionId })), (options.organizationId && {
193
196
  organization_id: options.organizationId,
194
197
  })), (options.codeChallenge && { code_challenge: options.codeChallenge })), (options.codeChallengeMethod && {
195
198
  code_challenge_method: options.codeChallengeMethod,
@@ -373,7 +376,7 @@ class ScalekitClient {
373
376
  const qs = qs_1.default.stringify(Object.assign(Object.assign(Object.assign({}, ((options === null || options === void 0 ? void 0 : options.idTokenHint) && { id_token_hint: options.idTokenHint })), ((options === null || options === void 0 ? void 0 : options.postLogoutRedirectUri) && {
374
377
  post_logout_redirect_uri: options.postLogoutRedirectUri,
375
378
  })), ((options === null || options === void 0 ? void 0 : options.state) && { state: options.state })));
376
- return `${this.coreClient.envUrl}/${logoutEndpoint}${qs ? `?${qs}` : ""}`;
379
+ return `${this.coreClient.envUrl}/${logoutEndpoint}${qs ? `?${qs}` : ''}`;
377
380
  }
378
381
  /**
379
382
  * Verifies the authenticity and integrity of webhook payloads from Scalekit.
@@ -428,9 +431,9 @@ class ScalekitClient {
428
431
  * @see {@link verifyInterceptorPayload} - Similar method for interceptor payloads
429
432
  */
430
433
  verifyWebhookPayload(secret, headers, payload) {
431
- const webhookId = headers["webhook-id"];
432
- const webhookTimestamp = headers["webhook-timestamp"];
433
- const webhookSignature = headers["webhook-signature"];
434
+ const webhookId = headers['webhook-id'];
435
+ const webhookTimestamp = headers['webhook-timestamp'];
436
+ const webhookSignature = headers['webhook-signature'];
434
437
  return this.verifyPayloadSignature(secret, webhookId, webhookTimestamp, webhookSignature, payload);
435
438
  }
436
439
  /**
@@ -446,9 +449,9 @@ class ScalekitClient {
446
449
  * @return {boolean} Returns true if the interceptor payload is valid.
447
450
  */
448
451
  verifyInterceptorPayload(secret, headers, payload) {
449
- const interceptorId = headers["interceptor-id"];
450
- const interceptorTimestamp = headers["interceptor-timestamp"];
451
- const interceptorSignature = headers["interceptor-signature"];
452
+ const interceptorId = headers['interceptor-id'];
453
+ const interceptorTimestamp = headers['interceptor-timestamp'];
454
+ const interceptorSignature = headers['interceptor-signature'];
452
455
  return this.verifyPayloadSignature(secret, interceptorId, interceptorTimestamp, interceptorSignature, payload);
453
456
  }
454
457
  /**
@@ -463,34 +466,34 @@ class ScalekitClient {
463
466
  */
464
467
  verifyPayloadSignature(secret, id, timestamp, signature, payload) {
465
468
  if (!id || !timestamp || !signature) {
466
- throw new base_exception_1.WebhookVerificationError("Missing required headers");
469
+ throw new base_exception_1.WebhookVerificationError('Missing required headers');
467
470
  }
468
- const secretParts = secret.split("_");
471
+ const secretParts = secret.split('_');
469
472
  if (secretParts.length < 2) {
470
- throw new base_exception_1.WebhookVerificationError("Invalid secret");
473
+ throw new base_exception_1.WebhookVerificationError('Invalid secret');
471
474
  }
472
475
  try {
473
476
  const timestampDate = this.verifyTimestamp(timestamp);
474
477
  const data = `${id}.${Math.floor(timestampDate.getTime() / 1000)}.${payload}`;
475
- const secretBytes = Buffer.from(secretParts[1], "base64");
478
+ const secretBytes = Buffer.from(secretParts[1], 'base64');
476
479
  const computedSignature = this.computeSignature(secretBytes, data);
477
- const receivedSignatures = signature.split(" ");
480
+ const receivedSignatures = signature.split(' ');
478
481
  for (const versionedSignature of receivedSignatures) {
479
- const [version, receivedSignature] = versionedSignature.split(",");
482
+ const [version, receivedSignature] = versionedSignature.split(',');
480
483
  if (version !== WEBHOOK_SIGNATURE_VERSION) {
481
484
  continue;
482
485
  }
483
- if (crypto_1.default.timingSafeEqual(Buffer.from(receivedSignature, "base64"), Buffer.from(computedSignature, "base64"))) {
486
+ if (crypto_1.default.timingSafeEqual(Buffer.from(receivedSignature, 'base64'), Buffer.from(computedSignature, 'base64'))) {
484
487
  return true;
485
488
  }
486
489
  }
487
- throw new base_exception_1.WebhookVerificationError("Invalid Signature");
490
+ throw new base_exception_1.WebhookVerificationError('Invalid Signature');
488
491
  }
489
492
  catch (error) {
490
493
  if (error instanceof base_exception_1.WebhookVerificationError) {
491
494
  throw error;
492
495
  }
493
- throw new base_exception_1.WebhookVerificationError("Invalid Signature");
496
+ throw new base_exception_1.WebhookVerificationError('Invalid Signature');
494
497
  }
495
498
  }
496
499
  /**
@@ -533,7 +536,7 @@ class ScalekitClient {
533
536
  const scopes = this.extractScopesFromPayload(payload);
534
537
  const missingScopes = requiredScopes.filter((scope) => !scopes.includes(scope));
535
538
  if (missingScopes.length > 0) {
536
- throw new base_exception_1.ScalekitValidateTokenFailureException(`Token missing required scopes: ${missingScopes.join(", ")}`);
539
+ throw new base_exception_1.ScalekitValidateTokenFailureException(`Token missing required scopes: ${missingScopes.join(', ')}`);
537
540
  }
538
541
  return true;
539
542
  }
@@ -559,16 +562,62 @@ class ScalekitClient {
559
562
  const now = Math.floor(Date.now() / 1000);
560
563
  const timestamp = parseInt(timestampStr, 10);
561
564
  if (isNaN(timestamp)) {
562
- throw new base_exception_1.WebhookVerificationError("Invalid Signature Headers");
565
+ throw new base_exception_1.WebhookVerificationError('Invalid Signature Headers');
563
566
  }
564
567
  if (now - timestamp > WEBHOOK_TOLERANCE_IN_SECONDS) {
565
- throw new base_exception_1.WebhookVerificationError("Message timestamp too old");
568
+ throw new base_exception_1.WebhookVerificationError('Message timestamp too old');
566
569
  }
567
570
  if (timestamp > now + WEBHOOK_TOLERANCE_IN_SECONDS) {
568
- throw new base_exception_1.WebhookVerificationError("Message timestamp too new");
571
+ throw new base_exception_1.WebhookVerificationError('Message timestamp too new');
569
572
  }
570
573
  return new Date(timestamp * 1000);
571
574
  }
575
+ /**
576
+ * Generates an M2M access token using the client credentials grant for the given clientId and clientSecret.
577
+ *
578
+ * @param {string} clientId - The client ID to authenticate with
579
+ * @param {string} clientSecret - The client secret to authenticate with
580
+ * @returns {Promise<string>} The access token string
581
+ * @throws {ScalekitServerException} If the server returns an error response (e.g. invalid credentials)
582
+ * @throws {ScalekitException} If a network, DNS, or timeout failure occurs, or if the access token is missing from the response
583
+ */
584
+ generateClientToken(clientId, clientSecret) {
585
+ return __awaiter(this, void 0, void 0, function* () {
586
+ var _a;
587
+ try {
588
+ const res = yield this.coreClient.authenticate(qs_1.default.stringify({
589
+ grant_type: scalekit_1.GrantType.ClientCredentials,
590
+ client_id: clientId,
591
+ client_secret: clientSecret,
592
+ }));
593
+ if (!((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.access_token)) {
594
+ throw new base_exception_1.ScalekitException('Missing access_token in authentication response');
595
+ }
596
+ return res.data.access_token;
597
+ }
598
+ catch (error) {
599
+ if (error instanceof base_exception_1.ScalekitException) {
600
+ throw error;
601
+ }
602
+ if (error instanceof axios_1.AxiosError) {
603
+ if (error.response) {
604
+ throw base_exception_1.ScalekitServerException.promote(error.response);
605
+ }
606
+ throw new base_exception_1.ScalekitException(error);
607
+ }
608
+ throw new base_exception_1.ScalekitException(error);
609
+ }
610
+ });
611
+ }
612
+ /**
613
+ * Generates an M2M access token using the stored client credentials (clientId and clientSecret
614
+ * supplied to the ScalekitClient constructor).
615
+ *
616
+ * @returns {Promise<string>} The access token string
617
+ */
618
+ getClientAccessToken() {
619
+ return this.generateClientToken(this.coreClient.clientId, this.coreClient.clientSecret);
620
+ }
572
621
  /**
573
622
  * Compute the signature
574
623
  *
@@ -578,9 +627,9 @@ class ScalekitClient {
578
627
  */
579
628
  computeSignature(secretBytes, data) {
580
629
  return crypto_1.default
581
- .createHmac("sha256", secretBytes)
630
+ .createHmac('sha256', secretBytes)
582
631
  .update(data)
583
- .digest("base64");
632
+ .digest('base64');
584
633
  }
585
634
  /**
586
635
  * Obtains a new access token using a refresh token.
@@ -644,7 +693,7 @@ class ScalekitClient {
644
693
  refreshAccessToken(refreshToken) {
645
694
  return __awaiter(this, void 0, void 0, function* () {
646
695
  if (!refreshToken) {
647
- throw new Error("Refresh token is required");
696
+ throw new Error('Refresh token is required');
648
697
  }
649
698
  let res;
650
699
  try {
@@ -656,18 +705,18 @@ class ScalekitClient {
656
705
  }));
657
706
  }
658
707
  catch (error) {
659
- throw new Error(`Failed to refresh token: ${error instanceof Error ? error.message : "Unknown error"}`);
708
+ throw new Error(`Failed to refresh token: ${error instanceof Error ? error.message : 'Unknown error'}`);
660
709
  }
661
710
  if (!res || !res.data) {
662
- throw new Error("Invalid response from authentication server");
711
+ throw new Error('Invalid response from authentication server');
663
712
  }
664
713
  const { access_token, refresh_token } = res.data;
665
714
  // Validate that all required properties exist
666
715
  if (!access_token) {
667
- throw new Error("Missing access_token in authentication response");
716
+ throw new Error('Missing access_token in authentication response');
668
717
  }
669
718
  if (!refresh_token) {
670
- throw new Error("Missing refresh_token in authentication response");
719
+ throw new Error('Missing refresh_token in authentication response');
671
720
  }
672
721
  return {
673
722
  accessToken: access_token,
@@ -1 +1 @@
1
- {"version":3,"file":"scalekit.js","sourceRoot":"","sources":["../src/scalekit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalekit.js","sourceRoot":"","sources":["../src/scalekit.ts"],"names":[],"mappings":"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"}
package/lib/session.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import GrpcConnect from "./connect";
2
- import CoreClient from "./core";
3
- import { SessionDetails, UserSessionDetails, RevokeSessionResponse, RevokeAllUserSessionsResponse } from "./pkg/grpc/scalekit/v1/sessions/sessions_pb";
1
+ import GrpcConnect from './connect';
2
+ import CoreClient from './core';
3
+ import { SessionDetails, UserSessionDetails, RevokeSessionResponse, RevokeAllUserSessionsResponse } from './pkg/grpc/scalekit/v1/sessions/sessions_pb';
4
4
  export default class SessionClient {
5
5
  private readonly grpcConnect;
6
6
  private readonly coreClient;
package/lib/session.js CHANGED
@@ -131,8 +131,12 @@ class SessionClient {
131
131
  const filter = (options === null || options === void 0 ? void 0 : options.filter)
132
132
  ? (0, protobuf_1.create)(sessions_pb_1.UserSessionFilterSchema, {
133
133
  status: options.filter.status,
134
- startTime: options.filter.startTime ? (0, wkt_1.timestampFromDate)(options.filter.startTime) : undefined,
135
- endTime: options.filter.endTime ? (0, wkt_1.timestampFromDate)(options.filter.endTime) : undefined,
134
+ startTime: options.filter.startTime
135
+ ? (0, wkt_1.timestampFromDate)(options.filter.startTime)
136
+ : undefined,
137
+ endTime: options.filter.endTime
138
+ ? (0, wkt_1.timestampFromDate)(options.filter.endTime)
139
+ : undefined,
136
140
  })
137
141
  : undefined;
138
142
  const request = (0, protobuf_1.create)(sessions_pb_1.UserSessionDetailsRequestSchema, {
@@ -293,7 +297,7 @@ class SessionClient {
293
297
  revokeAllUserSessions(userId) {
294
298
  return __awaiter(this, void 0, void 0, function* () {
295
299
  if (!userId) {
296
- throw new Error("userId is required");
300
+ throw new Error('userId is required');
297
301
  }
298
302
  return this.coreClient.connectExec(this.client.revokeAllUserSessions, {
299
303
  userId,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA4C;AAC5C,gDAA2D;AAI3D,6EAYqD;AAErD,MAAqB,aAAa;IAGhC,YACmB,WAAwB,EACxB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,4BAAc,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,UAAU,CAAC,SAAiB;;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACzD,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACG,eAAe,CACnB,MAAc,EACd,OAQC;;YAED,MAAM,MAAM,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;gBAC5B,CAAC,CAAC,IAAA,iBAAM,EAAC,qCAAuB,EAAE;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;oBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAiB,EAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC7F,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,uBAAiB,EAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxF,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,6CAA+B,EAAE;gBACtD,MAAM;gBACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;gBAC3B,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;gBAC7B,MAAM;aACP,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0EG;IACG,aAAa,CAAC,SAAiB;;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAC5D,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+DG;IACG,qBAAqB,CACzB,MAAc;;YAEd,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACpE,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AA/SD,gCA+SC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA4C;AAC5C,gDAA2D;AAI3D,6EAYqD;AAErD,MAAqB,aAAa;IAGhC,YACmB,WAAwB,EACxB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,4BAAc,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,UAAU,CAAC,SAAiB;;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACzD,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACG,eAAe,CACnB,MAAc,EACd,OAQC;;YAED,MAAM,MAAM,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;gBAC5B,CAAC,CAAC,IAAA,iBAAM,EAAC,qCAAuB,EAAE;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;oBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;wBACjC,CAAC,CAAC,IAAA,uBAAiB,EAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;wBAC7C,CAAC,CAAC,SAAS;oBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;wBAC7B,CAAC,CAAC,IAAA,uBAAiB,EAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;wBAC3C,CAAC,CAAC,SAAS;iBACd,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,6CAA+B,EAAE;gBACtD,MAAM;gBACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;gBAC3B,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;gBAC7B,MAAM;aACP,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0EG;IACG,aAAa,CAAC,SAAiB;;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAC5D,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+DG;IACG,qBAAqB,CACzB,MAAc;;YAEd,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACpE,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAnTD,gCAmTC"}
package/lib/token.d.ts ADDED
@@ -0,0 +1,187 @@
1
+ import type { MessageShape } from '@bufbuild/protobuf';
2
+ import { EmptySchema } from '@bufbuild/protobuf/wkt';
3
+ import type { Timestamp } from '@bufbuild/protobuf/wkt';
4
+ import GrpcConnect from './connect';
5
+ import CoreClient from './core';
6
+ import { CreateTokenResponse, ValidateTokenResponse, ListTokensResponse, Token } from './pkg/grpc/scalekit/v1/tokens/tokens_pb';
7
+ /**
8
+ * Options for creating an API token.
9
+ */
10
+ export interface CreateTokenOptions {
11
+ /** Optional User ID to scope token to a specific user */
12
+ userId?: string;
13
+ /** Optional custom claims key-value pairs (max 20 entries) */
14
+ customClaims?: {
15
+ [key: string]: string;
16
+ };
17
+ /** Optional expiry timestamp */
18
+ expiry?: Timestamp;
19
+ /** Optional human-readable label (max 255 chars) */
20
+ description?: string;
21
+ }
22
+ /**
23
+ * Options for listing API tokens.
24
+ */
25
+ export interface ListTokensOptions {
26
+ /** Optional User ID to filter tokens */
27
+ userId?: string;
28
+ /** Page size (default 10, max 30) */
29
+ pageSize?: number;
30
+ /** Pagination cursor for next page */
31
+ pageToken?: string;
32
+ }
33
+ /**
34
+ * Client for managing API tokens in your Scalekit application.
35
+ *
36
+ * API tokens provide programmatic access credentials for automated clients
37
+ * and external systems. Each token is scoped to an organization and optionally
38
+ * to a specific user.
39
+ *
40
+ * @example
41
+ * const scalekitClient = new ScalekitClient(envUrl, clientId, clientSecret);
42
+ * const tokenClient = scalekitClient.token;
43
+ *
44
+ * @see {@link https://docs.scalekit.com/apis/#tag/tokens | Token API Documentation}
45
+ */
46
+ export default class TokenClient {
47
+ private readonly grpcConnect;
48
+ private readonly coreClient;
49
+ private client;
50
+ constructor(grpcConnect: GrpcConnect, coreClient: CoreClient);
51
+ /**
52
+ * Creates a new API token for an organization.
53
+ *
54
+ * Generates an opaque token string that can be used for programmatic access.
55
+ * The plain-text token value is returned only at creation time.
56
+ *
57
+ * @param {string} organizationId - The organization ID to scope the token to
58
+ * @param {CreateTokenOptions} [options] - Optional configuration
59
+ * @param {string} [options.userId] - Optional user ID to scope the token to
60
+ * @param {object} [options.customClaims] - Optional custom claims key-value pairs
61
+ * @param {Timestamp} [options.expiry] - Optional expiry timestamp
62
+ * @param {string} [options.description] - Optional human-readable label
63
+ *
64
+ * @returns {Promise<CreateTokenResponse>} Response containing:
65
+ * - token: The opaque token string (only returned at creation)
66
+ * - tokenId: Internal token identifier (format: apit_xxxxx)
67
+ * - tokenInfo: Token metadata
68
+ *
69
+ * @example
70
+ * // Create a basic organization token
71
+ * const response = await scalekitClient.token.createToken('org_12345');
72
+ * console.log('Token:', response.token);
73
+ * console.log('Token ID:', response.tokenId);
74
+ *
75
+ * @example
76
+ * // Create a user-scoped token with custom claims
77
+ * const response = await scalekitClient.token.createToken('org_12345', {
78
+ * userId: 'usr_67890',
79
+ * customClaims: { env: 'production', scope: 'read' },
80
+ * description: 'CI/CD pipeline token'
81
+ * });
82
+ *
83
+ * @see {@link https://docs.scalekit.com/apis/#tag/tokens | Create Token API}
84
+ */
85
+ createToken(organizationId: string, options?: CreateTokenOptions): Promise<CreateTokenResponse>;
86
+ /**
87
+ * Validates an API token and returns associated context.
88
+ *
89
+ * Verifies the token is valid and returns the organization/user context
90
+ * along with any custom claims.
91
+ *
92
+ * @param {string} token - The opaque token string or token_id (apit_xxxxx)
93
+ *
94
+ * @returns {Promise<ValidateTokenResponse>} Response containing:
95
+ * - tokenInfo: Token metadata including organization, user, and custom claims
96
+ *
97
+ * @throws {ScalekitValidateTokenFailureException} If the token is invalid, expired, or not found
98
+ * @throws {ScalekitServerException} If a network or server error occurs
99
+ *
100
+ * @example
101
+ * // Validate a token
102
+ * try {
103
+ * const response = await scalekitClient.token.validateToken('opaque_token_string');
104
+ * console.log('Organization:', response.tokenInfo?.organizationId);
105
+ * console.log('Custom Claims:', response.tokenInfo?.customClaims);
106
+ * } catch (error) {
107
+ * console.error('Invalid token:', error);
108
+ * }
109
+ *
110
+ * @see {@link https://docs.scalekit.com/apis/#tag/tokens | Validate Token API}
111
+ */
112
+ validateToken(token: string): Promise<ValidateTokenResponse>;
113
+ /**
114
+ * Invalidates (soft deletes) an API token.
115
+ *
116
+ * Marks the token as invalid. This operation is idempotent - it succeeds
117
+ * even if the token was already invalidated.
118
+ *
119
+ * @param {string} token - The opaque token string or token_id (apit_xxxxx)
120
+ *
121
+ * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
122
+ *
123
+ * @example
124
+ * // Revoke a token
125
+ * await scalekitClient.token.invalidateToken('apit_123456789');
126
+ * console.log('Token invalidated');
127
+ *
128
+ * @example
129
+ * // Revoke using opaque token string
130
+ * await scalekitClient.token.invalidateToken(opaqueTokenString);
131
+ *
132
+ * @see {@link https://docs.scalekit.com/apis/#tag/tokens | Invalidate Token API}
133
+ */
134
+ invalidateToken(token: string): Promise<MessageShape<typeof EmptySchema>>;
135
+ /**
136
+ * Lists API tokens for an organization with pagination.
137
+ *
138
+ * Retrieves all active tokens for an organization, with optional
139
+ * filtering by user and support for pagination.
140
+ *
141
+ * @param {string} organizationId - The organization ID to list tokens for
142
+ * @param {ListTokensOptions} [options] - Optional configuration
143
+ * @param {string} [options.userId] - Optional user ID to filter tokens
144
+ * @param {number} [options.pageSize] - Page size (default 10, max 30)
145
+ * @param {string} [options.pageToken] - Pagination cursor for next page
146
+ *
147
+ * @returns {Promise<ListTokensResponse>} Response containing:
148
+ * - tokens: Array of token metadata objects
149
+ * - totalCount: Total number of matching tokens
150
+ * - nextPageToken: Cursor for next page (empty if no more pages)
151
+ * - prevPageToken: Cursor for previous page
152
+ *
153
+ * @example
154
+ * // List tokens for an organization
155
+ * const response = await scalekitClient.token.listTokens('org_12345', {
156
+ * pageSize: 20
157
+ * });
158
+ *
159
+ * console.log('Tokens:', response.tokens);
160
+ * console.log('Total:', response.totalCount);
161
+ *
162
+ * @example
163
+ * // List tokens for a specific user
164
+ * const response = await scalekitClient.token.listTokens('org_12345', {
165
+ * userId: 'usr_67890'
166
+ * });
167
+ *
168
+ * @example
169
+ * // Paginate through all tokens
170
+ * let pageToken: string | undefined;
171
+ * let allTokens: Token[] = [];
172
+ *
173
+ * do {
174
+ * const response = await scalekitClient.token.listTokens('org_12345', {
175
+ * pageSize: 30,
176
+ * pageToken
177
+ * });
178
+ *
179
+ * allTokens.push(...response.tokens);
180
+ * pageToken = response.nextPageToken || undefined;
181
+ * } while (pageToken);
182
+ *
183
+ * @see {@link https://docs.scalekit.com/apis/#tag/tokens | List Tokens API}
184
+ */
185
+ listTokens(organizationId: string, options?: ListTokensOptions): Promise<ListTokensResponse>;
186
+ }
187
+ export { Token, CreateTokenResponse, ValidateTokenResponse, ListTokensResponse, };