@explorins/pers-sdk 2.1.2 → 2.1.3

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.
@@ -28,8 +28,7 @@ const DEFAULT_PERS_CONFIG = {
28
28
  timeout: 30000,
29
29
  retries: 3,
30
30
  tokenRefreshMargin: 60, // Refresh tokens 60 seconds before expiry
31
- backgroundRefreshThreshold: 30, // Use background refresh if >30s remaining
32
- autoRestoreSession: true // Automatically restore session on initialization
31
+ backgroundRefreshThreshold: 30 // Use background refresh if >30s remaining
33
32
  };
34
33
  /**
35
34
  * Internal function to construct API root from environment
@@ -339,8 +338,12 @@ class AuthService {
339
338
  await extendedProvider.setProviderToken(providerToken);
340
339
  }
341
340
  if (authType && extendedProvider.setAuthType) {
341
+ console.log('[AuthService] Storing auth type:', authType);
342
342
  await extendedProvider.setAuthType(authType);
343
343
  }
344
+ else {
345
+ console.warn('[AuthService] Auth type not stored - authType:', authType, 'has setAuthType:', !!extendedProvider.setAuthType);
346
+ }
344
347
  // Emit authenticated status on successful token storage
345
348
  await this.emitAuthStatus(AuthStatus.AUTHENTICATED);
346
349
  }
@@ -359,8 +362,15 @@ class TokenRefreshManager {
359
362
  this.authService = authService;
360
363
  this.authProvider = authProvider;
361
364
  this.tokenRefreshMarginSeconds = 120; // 2 minutes
365
+ this.lastValidationTime = 0;
366
+ this.validationCacheDurationMs = 30000; // 30 seconds
362
367
  }
363
368
  async ensureValidToken() {
369
+ const now = Date.now();
370
+ // Skip validation if we checked recently (within cache duration)
371
+ if (now - this.lastValidationTime < this.validationCacheDurationMs) {
372
+ return;
373
+ }
364
374
  try {
365
375
  const token = await this.authProvider.getToken();
366
376
  if (!token) {
@@ -371,6 +381,14 @@ class TokenRefreshManager {
371
381
  if (!refreshSuccess) {
372
382
  await this.authService.handleAuthFailure();
373
383
  }
384
+ else {
385
+ // Update validation time on successful refresh
386
+ this.lastValidationTime = now;
387
+ }
388
+ }
389
+ else {
390
+ // Token is valid, update validation time
391
+ this.lastValidationTime = now;
374
392
  }
375
393
  }
376
394
  catch (error) {
@@ -454,42 +472,77 @@ class MemoryTokenStorage {
454
472
  }
455
473
  }
456
474
  /**
457
- * Token manager for authentication tokens
475
+ * Token manager for authentication tokens with memory caching
458
476
  */
459
477
  class AuthTokenManager {
460
478
  constructor(storage = new LocalStorageTokenStorage()) {
461
479
  this.storage = storage;
480
+ this.cache = {};
462
481
  }
463
482
  async getAccessToken() {
483
+ // Return cached value if available
484
+ if (this.cache.accessToken !== undefined) {
485
+ return this.cache.accessToken;
486
+ }
464
487
  const val = await this.storage.get(AUTH_STORAGE_KEYS.ACCESS_TOKEN);
465
488
  // Ensure we return string for tokens
466
- return typeof val === 'string' ? val : null;
489
+ const token = typeof val === 'string' ? val : null;
490
+ this.cache.accessToken = token;
491
+ return token;
467
492
  }
468
493
  async setAccessToken(token) {
494
+ this.cache.accessToken = token;
469
495
  await this.storage.set(AUTH_STORAGE_KEYS.ACCESS_TOKEN, token);
470
496
  }
471
497
  async getRefreshToken() {
498
+ // Return cached value if available
499
+ if (this.cache.refreshToken !== undefined) {
500
+ return this.cache.refreshToken;
501
+ }
472
502
  const val = await this.storage.get(AUTH_STORAGE_KEYS.REFRESH_TOKEN);
473
- return typeof val === 'string' ? val : null;
503
+ const token = typeof val === 'string' ? val : null;
504
+ this.cache.refreshToken = token;
505
+ return token;
474
506
  }
475
507
  async setRefreshToken(token) {
508
+ this.cache.refreshToken = token;
476
509
  await this.storage.set(AUTH_STORAGE_KEYS.REFRESH_TOKEN, token);
477
510
  }
478
511
  async getProviderToken() {
512
+ // Return cached value if available
513
+ if (this.cache.providerToken !== undefined) {
514
+ return this.cache.providerToken;
515
+ }
479
516
  const val = await this.storage.get(AUTH_STORAGE_KEYS.PROVIDER_TOKEN);
480
- return typeof val === 'string' ? val : null;
517
+ const token = typeof val === 'string' ? val : null;
518
+ this.cache.providerToken = token;
519
+ return token;
481
520
  }
482
521
  async setProviderToken(token) {
522
+ this.cache.providerToken = token;
483
523
  await this.storage.set(AUTH_STORAGE_KEYS.PROVIDER_TOKEN, token);
484
524
  }
485
525
  async getAuthType() {
526
+ // Return cached value if available
527
+ if (this.cache.authType !== undefined) {
528
+ return this.cache.authType;
529
+ }
486
530
  const authType = await this.storage.get(AUTH_STORAGE_KEYS.AUTH_TYPE);
487
- return typeof authType === 'string' ? authType : null;
531
+ const type = typeof authType === 'string' ? authType : null;
532
+ this.cache.authType = type;
533
+ return type;
488
534
  }
489
535
  async setAuthType(authType) {
536
+ this.cache.authType = authType;
490
537
  await this.storage.set(AUTH_STORAGE_KEYS.AUTH_TYPE, authType);
491
538
  }
492
539
  async setTokens(accessToken, refreshToken, providerToken) {
540
+ // Update cache for all tokens
541
+ this.cache.accessToken = accessToken;
542
+ if (refreshToken)
543
+ this.cache.refreshToken = refreshToken;
544
+ if (providerToken)
545
+ this.cache.providerToken = providerToken;
493
546
  await this.setAccessToken(accessToken);
494
547
  if (refreshToken)
495
548
  await this.setRefreshToken(refreshToken);
@@ -497,13 +550,23 @@ class AuthTokenManager {
497
550
  await this.setProviderToken(providerToken);
498
551
  }
499
552
  async clearAllTokens() {
553
+ // Clear cache
554
+ this.cache = {};
500
555
  await this.storage.clear();
501
556
  }
502
557
  async hasAccessToken() {
558
+ // Use cached value if available to avoid storage read
559
+ if (this.cache.accessToken !== undefined) {
560
+ return !!this.cache.accessToken;
561
+ }
503
562
  const token = await this.getAccessToken();
504
563
  return !!token;
505
564
  }
506
565
  async hasRefreshToken() {
566
+ // Use cached value if available to avoid storage read
567
+ if (this.cache.refreshToken !== undefined) {
568
+ return !!this.cache.refreshToken;
569
+ }
507
570
  const token = await this.getRefreshToken();
508
571
  return !!token;
509
572
  }
@@ -731,6 +794,7 @@ class DPoPManager {
731
794
  class DefaultAuthProvider {
732
795
  constructor(config = {}) {
733
796
  this.config = config;
797
+ this.authTypeCache = null;
734
798
  this.authType = config.authType || AccountOwnerType.USER;
735
799
  const storage = config.storage || this.createStorage();
736
800
  this.tokenManager = new AuthTokenManager(storage);
@@ -791,6 +855,15 @@ class DefaultAuthProvider {
791
855
  }
792
856
  async setAccessToken(token) {
793
857
  await this.tokenManager.setAccessToken(token);
858
+ // Invalidate cache when token changes
859
+ this.authTypeCache = null;
860
+ // Eager DPoP key generation after login
861
+ if (this.dpopManager) {
862
+ // Fire and forget - generate keys in background
863
+ this.dpopManager.ensureKeyPair().catch(err => {
864
+ console.warn('[DefaultAuthProvider] DPoP key generation failed:', err);
865
+ });
866
+ }
794
867
  }
795
868
  async setRefreshToken(token) {
796
869
  await this.tokenManager.setRefreshToken(token);
@@ -800,16 +873,51 @@ class DefaultAuthProvider {
800
873
  }
801
874
  async clearTokens() {
802
875
  await this.tokenManager.clearAllTokens();
876
+ // Invalidate cache on clear
877
+ this.authTypeCache = null;
803
878
  if (this.dpopManager) {
804
879
  await this.dpopManager.clearKeys();
805
880
  }
806
881
  }
807
882
  async setTokens(accessToken, refreshToken, providerToken) {
808
883
  await this.tokenManager.setTokens(accessToken, refreshToken, providerToken);
884
+ // Invalidate cache when tokens change
885
+ this.authTypeCache = null;
809
886
  }
810
887
  async hasValidToken() {
811
888
  return this.tokenManager.hasAccessToken();
812
889
  }
890
+ async getAuthType() {
891
+ // Read from JWT instead of separate storage for single source of truth
892
+ const token = await this.tokenManager.getAccessToken();
893
+ if (!token) {
894
+ this.authTypeCache = null;
895
+ return null;
896
+ }
897
+ // Return cached result if token hasn't changed
898
+ if (this.authTypeCache && this.authTypeCache.token === token) {
899
+ return this.authTypeCache.type;
900
+ }
901
+ try {
902
+ // Decode JWT payload (without verification - we just need to read the claim)
903
+ const parts = token.split('.');
904
+ if (parts.length !== 3) {
905
+ console.warn('[DefaultAuthProvider] Invalid JWT format');
906
+ return null;
907
+ }
908
+ const payloadJson = atob(parts[1]);
909
+ const payload = JSON.parse(payloadJson);
910
+ // Use accountOwnerType from AuthJWTPayload interface
911
+ const authType = payload.accountType || null;
912
+ // Cache result with token signature
913
+ this.authTypeCache = { token, type: authType };
914
+ return authType;
915
+ }
916
+ catch (error) {
917
+ console.warn('[DefaultAuthProvider] Failed to parse auth type from JWT:', error);
918
+ return null;
919
+ }
920
+ }
813
921
  }
814
922
 
815
923
  /**
@@ -6653,78 +6761,71 @@ class PersSDK {
6653
6761
  // Initialize event emitter and wire to API client for error events
6654
6762
  this._events = new PersEventEmitter();
6655
6763
  this.apiClient.setEvents(this._events);
6656
- // Initialize domain managers (pass events to managers that emit success events)
6657
- this._auth = new AuthManager(this.apiClient, this._events);
6658
- this._users = new UserManager(this.apiClient, this._events);
6659
- this._userStatus = new UserStatusManager(this.apiClient);
6660
- this._tokens = new TokenManager(this.apiClient);
6661
- this._businesses = new BusinessManager(this.apiClient, this._events);
6662
- this._campaigns = new CampaignManager(this.apiClient, this._events);
6663
- this._redemptions = new RedemptionManager(this.apiClient, this._events);
6664
- this._transactions = new TransactionManager(this.apiClient, this._events);
6665
- this._purchases = new PurchaseManager(this.apiClient);
6666
- this._files = new FileManager(this.apiClient);
6667
- this._tenants = new TenantManager(this.apiClient);
6668
- this._apiKeys = new ApiKeyManager(this.apiClient);
6669
- this._analytics = new AnalyticsManager(this.apiClient);
6670
- this._donations = new DonationManager(this.apiClient);
6671
- // Automatically restore session if enabled and tokens exist
6672
- if (config.autoRestoreSession !== false) {
6673
- this.restoreSessionIfTokensExist().catch(err => {
6674
- console.warn('[PersSDK] Failed to restore session on initialization:', err);
6675
- });
6676
- }
6677
6764
  }
6678
6765
  /**
6679
- * Restore user session if valid tokens exist in storage
6766
+ * Restore user session from stored tokens
6767
+ *
6768
+ * Call this method after SDK initialization to restore the user's session
6769
+ * if valid tokens exist. This is useful for maintaining login state across
6770
+ * app restarts.
6680
6771
  *
6681
- * This method is called automatically during SDK initialization when
6682
- * `autoRestoreSession` is enabled (default). It checks for stored tokens
6683
- * and fetches user data to restore the authentication state.
6772
+ * **Important:** Only works for USER and BUSINESS accounts. Admin/tenant
6773
+ * accounts don't support user data fetching, so this will return null for them
6774
+ * (though their tokens remain valid for API calls).
6684
6775
  *
6685
6776
  * Emits auth domain success event when session is restored.
6686
6777
  *
6687
- * @internal
6688
- * @returns Promise that resolves when session is restored or determined to be invalid
6778
+ * @returns Promise resolving to User data if session restored, null if no session or admin account
6779
+ * @throws {PersError} If token validation or user fetch fails
6780
+ *
6781
+ * @example
6782
+ * ```typescript
6783
+ * // Call after initial render for better perceived performance
6784
+ * const user = await sdk.restoreSession();
6785
+ * if (user) {
6786
+ * console.log('Welcome back,', user.name);
6787
+ * }
6788
+ * ```
6689
6789
  */
6690
- async restoreSessionIfTokensExist() {
6691
- try {
6692
- const hasToken = await this._auth.hasValidAuth();
6693
- if (hasToken) {
6694
- console.log('[PersSDK] Valid tokens found, restoring session...');
6695
- try {
6696
- // Fetch user data to validate tokens and restore session
6697
- const userData = await this._auth.getCurrentUser();
6698
- console.log('[PersSDK] Session restored successfully');
6699
- // Emit event through proper event emitter
6700
- // Send minimal data (just userId) - consumers can fetch full user if needed
6701
- this._events.emitSuccess({
6702
- type: 'session_restored',
6703
- domain: 'authentication',
6704
- userMessage: 'Session restored successfully',
6705
- details: { userId: userData.id }
6706
- });
6707
- }
6708
- catch (error) {
6709
- // Tokens exist but are invalid (expired, revoked, etc.)
6710
- console.warn('[PersSDK] Failed to restore session, tokens may be invalid:', error);
6711
- await this._auth.clearAuth();
6712
- // Emit restoration failed event
6713
- this._events.emitError({
6714
- type: 'session_restoration_failed',
6715
- domain: 'authentication',
6716
- userMessage: 'Session restoration failed',
6717
- code: 'SESSION_INVALID',
6718
- details: { error }
6719
- });
6720
- }
6721
- }
6722
- else {
6723
- console.log('[PersSDK] No valid tokens found');
6790
+ async restoreSession() {
6791
+ const hasToken = await this.auth.hasValidAuth();
6792
+ if (!hasToken) {
6793
+ return null;
6794
+ }
6795
+ // Check auth type - only restore session for user and business accounts
6796
+ const authProvider = this.apiClient.getConfig().authProvider;
6797
+ if (authProvider?.getAuthType) {
6798
+ const authType = await authProvider.getAuthType();
6799
+ if (authType === AccountOwnerType.TENANT) {
6800
+ // Admin sessions don't support getCurrentUser(), skip restoration
6801
+ // Tokens are valid and will be used for API calls
6802
+ return null;
6724
6803
  }
6725
6804
  }
6805
+ try {
6806
+ // Fetch user data to validate tokens and restore session
6807
+ const userData = await this.auth.getCurrentUser();
6808
+ // Emit event through proper event emitter
6809
+ this._events.emitSuccess({
6810
+ type: 'session_restored',
6811
+ domain: 'authentication',
6812
+ userMessage: 'Session restored successfully',
6813
+ details: { userId: userData.id }
6814
+ });
6815
+ return userData;
6816
+ }
6726
6817
  catch (error) {
6727
- console.warn('[PersSDK] Error during session restoration:', error);
6818
+ // Tokens exist but are invalid (expired, revoked, etc.)
6819
+ await this.auth.clearAuth();
6820
+ // Emit restoration failed event
6821
+ this._events.emitError({
6822
+ type: 'session_restoration_failed',
6823
+ domain: 'authentication',
6824
+ userMessage: 'Session restoration failed',
6825
+ code: 'SESSION_INVALID',
6826
+ details: { error }
6827
+ });
6828
+ throw error;
6728
6829
  }
6729
6830
  }
6730
6831
  /**
@@ -6813,6 +6914,9 @@ class PersSDK {
6813
6914
  * @see {@link AuthManager} for detailed documentation
6814
6915
  */
6815
6916
  get auth() {
6917
+ if (!this._auth) {
6918
+ this._auth = new AuthManager(this.apiClient, this._events);
6919
+ }
6816
6920
  return this._auth;
6817
6921
  }
6818
6922
  /**
@@ -6826,6 +6930,9 @@ class PersSDK {
6826
6930
  * ```
6827
6931
  */
6828
6932
  get users() {
6933
+ if (!this._users) {
6934
+ this._users = new UserManager(this.apiClient, this._events);
6935
+ }
6829
6936
  return this._users;
6830
6937
  }
6831
6938
  /**
@@ -6839,6 +6946,9 @@ class PersSDK {
6839
6946
  * ```
6840
6947
  */
6841
6948
  get userStatus() {
6949
+ if (!this._userStatus) {
6950
+ this._userStatus = new UserStatusManager(this.apiClient);
6951
+ }
6842
6952
  return this._userStatus;
6843
6953
  }
6844
6954
  /**
@@ -6852,6 +6962,9 @@ class PersSDK {
6852
6962
  * ```
6853
6963
  */
6854
6964
  get tokens() {
6965
+ if (!this._tokens) {
6966
+ this._tokens = new TokenManager(this.apiClient);
6967
+ }
6855
6968
  return this._tokens;
6856
6969
  }
6857
6970
  /**
@@ -6865,6 +6978,9 @@ class PersSDK {
6865
6978
  * ```
6866
6979
  */
6867
6980
  get businesses() {
6981
+ if (!this._businesses) {
6982
+ this._businesses = new BusinessManager(this.apiClient, this._events);
6983
+ }
6868
6984
  return this._businesses;
6869
6985
  }
6870
6986
  /**
@@ -6878,6 +6994,9 @@ class PersSDK {
6878
6994
  * ```
6879
6995
  */
6880
6996
  get campaigns() {
6997
+ if (!this._campaigns) {
6998
+ this._campaigns = new CampaignManager(this.apiClient, this._events);
6999
+ }
6881
7000
  return this._campaigns;
6882
7001
  }
6883
7002
  /**
@@ -6891,6 +7010,9 @@ class PersSDK {
6891
7010
  * ```
6892
7011
  */
6893
7012
  get redemptions() {
7013
+ if (!this._redemptions) {
7014
+ this._redemptions = new RedemptionManager(this.apiClient, this._events);
7015
+ }
6894
7016
  return this._redemptions;
6895
7017
  }
6896
7018
  /**
@@ -6904,6 +7026,9 @@ class PersSDK {
6904
7026
  * ```
6905
7027
  */
6906
7028
  get transactions() {
7029
+ if (!this._transactions) {
7030
+ this._transactions = new TransactionManager(this.apiClient, this._events);
7031
+ }
6907
7032
  return this._transactions;
6908
7033
  }
6909
7034
  /**
@@ -6917,6 +7042,9 @@ class PersSDK {
6917
7042
  * ```
6918
7043
  */
6919
7044
  get purchases() {
7045
+ if (!this._purchases) {
7046
+ this._purchases = new PurchaseManager(this.apiClient);
7047
+ }
6920
7048
  return this._purchases;
6921
7049
  }
6922
7050
  /**
@@ -6930,6 +7058,9 @@ class PersSDK {
6930
7058
  * ```
6931
7059
  */
6932
7060
  get files() {
7061
+ if (!this._files) {
7062
+ this._files = new FileManager(this.apiClient);
7063
+ }
6933
7064
  return this._files;
6934
7065
  }
6935
7066
  /**
@@ -6943,6 +7074,9 @@ class PersSDK {
6943
7074
  * ```
6944
7075
  */
6945
7076
  get tenants() {
7077
+ if (!this._tenants) {
7078
+ this._tenants = new TenantManager(this.apiClient);
7079
+ }
6946
7080
  return this._tenants;
6947
7081
  }
6948
7082
  /**
@@ -6967,6 +7101,9 @@ class PersSDK {
6967
7101
  * ```
6968
7102
  */
6969
7103
  get apiKeys() {
7104
+ if (!this._apiKeys) {
7105
+ this._apiKeys = new ApiKeyManager(this.apiClient);
7106
+ }
6970
7107
  return this._apiKeys;
6971
7108
  }
6972
7109
  /**
@@ -6978,6 +7115,9 @@ class PersSDK {
6978
7115
  * ```
6979
7116
  */
6980
7117
  get analytics() {
7118
+ if (!this._analytics) {
7119
+ this._analytics = new AnalyticsManager(this.apiClient);
7120
+ }
6981
7121
  return this._analytics;
6982
7122
  }
6983
7123
  /**
@@ -6989,6 +7129,9 @@ class PersSDK {
6989
7129
  * ```
6990
7130
  */
6991
7131
  get donations() {
7132
+ if (!this._donations) {
7133
+ this._donations = new DonationManager(this.apiClient);
7134
+ }
6992
7135
  return this._donations;
6993
7136
  }
6994
7137
  /**
@@ -7041,4 +7184,4 @@ function createPersSDK(httpClient, config) {
7041
7184
  }
7042
7185
 
7043
7186
  export { AuthStatus as A, BusinessManager as B, CampaignManager as C, DefaultAuthProvider as D, FileManager as F, LocalStorageTokenStorage as L, MemoryTokenStorage as M, PersSDK as P, RedemptionManager as R, SDK_NAME as S, TokenManager as T, UserManager as U, WebDPoPCryptoProvider as W, AuthTokenManager as a, AUTH_STORAGE_KEYS as b, createPersSDK as c, DPOP_STORAGE_KEYS as d, SDK_VERSION as e, SDK_USER_AGENT as f, PersApiClient as g, DEFAULT_PERS_CONFIG as h, buildApiRoot as i, StaticJwtAuthProvider as j, AuthApi as k, AuthService as l, mergeWithDefaults as m, DPoPManager as n, PersEventEmitter as o, AuthManager as p, UserStatusManager as q, TransactionManager as r, PurchaseManager as s, TenantManager as t, ApiKeyManager as u, AnalyticsManager as v, DonationManager as w, FileApi as x, FileService as y, ApiKeyApi as z };
7044
- //# sourceMappingURL=pers-sdk-DnLw822h.js.map
7187
+ //# sourceMappingURL=pers-sdk-fWg-J3_h.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pers-sdk-fWg-J3_h.js","sources":["../../src/core/pers-config.ts","../../src/core/auth/api/auth-api.ts","../../src/core/auth/auth-status.ts","../../src/core/auth/services/auth-service.ts","../../src/core/auth/refresh-manager.ts","../../src/core/auth/token-storage.ts","../../src/core/auth/dpop/web-crypto-dpop-provider.ts","../../src/core/auth/dpop/dpop-manager.ts","../../src/core/auth/default-auth-provider.ts","../../src/core/version.ts","../../src/core/pers-api-client.ts","../../src/core/auth/static-jwt-auth-provider.ts","../../src/core/events/event-emitter.ts","../../src/managers/auth-manager.ts","../../src/managers/user-manager.ts","../../src/managers/user-status-manager.ts","../../src/managers/token-manager.ts","../../src/managers/business-manager.ts","../../src/managers/campaign-manager.ts","../../src/managers/redemption-manager.ts","../../src/managers/transaction-manager.ts","../../src/managers/purchase-manager.ts","../../src/file/api/file-api.ts","../../src/file/services/file-service.ts","../../src/managers/file-manager.ts","../../src/managers/tenant-manager.ts","../../src/api-key/api/api-key-api.ts","../../src/managers/api-key-manager.ts","../../src/managers/analytics-manager.ts","../../src/managers/donation-manager.ts","../../src/pers-sdk.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["PaymentApi"],"mappings":"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"}