@onairos/react-native 3.0.75 → 3.1.1

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 (43) hide show
  1. package/lib/commonjs/components/EmailVerificationModal.js +7 -5
  2. package/lib/commonjs/components/EmailVerificationModal.js.map +1 -1
  3. package/lib/commonjs/index.js +18 -6
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/services/apiKeyService.js +401 -27
  6. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  7. package/lib/commonjs/services/platformAuthService.js +130 -299
  8. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  9. package/lib/commonjs/utils/onairosApi.js +151 -71
  10. package/lib/commonjs/utils/onairosApi.js.map +1 -1
  11. package/lib/commonjs/utils/secureStorage.js +123 -1
  12. package/lib/commonjs/utils/secureStorage.js.map +1 -1
  13. package/lib/module/components/EmailVerificationModal.js +7 -5
  14. package/lib/module/components/EmailVerificationModal.js.map +1 -1
  15. package/lib/module/index.js +4 -2
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/services/apiKeyService.js +384 -22
  18. package/lib/module/services/apiKeyService.js.map +1 -1
  19. package/lib/module/services/platformAuthService.js +127 -295
  20. package/lib/module/services/platformAuthService.js.map +1 -1
  21. package/lib/module/utils/onairosApi.js +147 -70
  22. package/lib/module/utils/onairosApi.js.map +1 -1
  23. package/lib/module/utils/secureStorage.js +116 -0
  24. package/lib/module/utils/secureStorage.js.map +1 -1
  25. package/lib/typescript/components/EmailVerificationModal.d.ts.map +1 -1
  26. package/lib/typescript/index.d.ts +2 -2
  27. package/lib/typescript/index.d.ts.map +1 -1
  28. package/lib/typescript/services/apiKeyService.d.ts +68 -2
  29. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  30. package/lib/typescript/services/platformAuthService.d.ts +29 -14
  31. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  32. package/lib/typescript/utils/onairosApi.d.ts +25 -10
  33. package/lib/typescript/utils/onairosApi.d.ts.map +1 -1
  34. package/lib/typescript/utils/secureStorage.d.ts +31 -0
  35. package/lib/typescript/utils/secureStorage.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/components/EmailVerificationModal.tsx +9 -5
  38. package/src/index.ts +4 -1
  39. package/src/services/apiKeyService.ts +412 -18
  40. package/src/services/platformAuthService.ts +219 -421
  41. package/src/types/index.d.ts +11 -5
  42. package/src/utils/onairosApi.ts +162 -74
  43. package/src/utils/secureStorage.ts +122 -0
@@ -1,3 +1,5 @@
1
+ import AsyncStorage from '@react-native-async-storage/async-storage';
2
+
1
3
  // Admin key for backend validation
2
4
  export const ADMIN_API_KEY = 'OnairosIsAUnicorn2025';
3
5
 
@@ -9,30 +11,33 @@ export let ApiKeyType = /*#__PURE__*/function (ApiKeyType) {
9
11
  return ApiKeyType;
10
12
  }({});
11
13
 
14
+ // JWT token storage key
15
+ const JWT_TOKEN_KEY = 'onairos_jwt_token';
16
+
12
17
  /**
13
- * API Key Service for Onairos React Native SDK
18
+ * Two-Tier Authentication Service for Onairos React Native SDK
14
19
  *
15
- * This service handles API key validation, management, and authentication
16
- * following standard SDK patterns for secure API key handling.
20
+ * This service implements the two-tier authentication system:
21
+ * 1. Developer API Keys: For app-level operations (email verification, app registration)
22
+ * 2. JWT User Tokens: For user-level operations (PIN storage, user profile)
17
23
  *
18
24
  * How it works:
19
- * 1. Initialize with API key and configuration
20
- * 2. Validate API key with the Onairos backend
21
- * 3. Cache validation results for performance
22
- * 4. Include API key in all authenticated requests
23
- * 5. Handle API key errors gracefully with developer-friendly messages
25
+ * 1. Initialize with developer API key
26
+ * 2. Use API key for email verification requests
27
+ * 3. Store JWT token from email verification response
28
+ * 4. Use JWT token for user-authenticated requests
29
+ * 5. Handle token expiration gracefully
24
30
  *
25
31
  * Backend Integration:
26
- * - All API requests include: Authorization: Bearer {apiKey}
27
- * - Backend should validate API keys on each request
28
- * - Admin key "OnairosIsAUnicorn2025" has full permissions
29
- * - Developer keys have limited permissions based on validation response
32
+ * - Developer routes: Authorization: Bearer ${API_KEY}
33
+ * - User routes: Authorization: Bearer ${JWT_TOKEN}
30
34
  */
31
35
 
32
36
  // Global configuration state
33
37
  let globalConfig = null;
34
38
  let validationCache = new Map();
35
39
  let isInitialized = false;
40
+ let userToken = null;
36
41
 
37
42
  // Cache duration (5 minutes)
38
43
  const CACHE_DURATION = 5 * 60 * 1000;
@@ -45,14 +50,14 @@ const API_ENDPOINTS = {
45
50
  };
46
51
 
47
52
  /**
48
- * Initialize the SDK with API key and configuration
49
- * @param config API configuration including API key
53
+ * Initialize the SDK with developer API key
54
+ * @param config API configuration including developer API key
50
55
  */
51
56
  export const initializeApiKey = async config => {
52
57
  try {
53
- console.log('🔑 Initializing Onairos SDK with API key...');
58
+ console.log('🔑 Initializing Onairos SDK with developer API key...');
54
59
  if (!config.apiKey) {
55
- throw new Error('API key is required for SDK initialization');
60
+ throw new Error('Developer API key is required for SDK initialization');
56
61
  }
57
62
  if (config.apiKey.length < 32) {
58
63
  throw new Error('Invalid API key format. API key must be at least 32 characters long.');
@@ -77,14 +82,21 @@ export const initializeApiKey = async config => {
77
82
  });
78
83
  }
79
84
 
80
- // Validate the API key
85
+ // Validate the developer API key
81
86
  const validation = await validateApiKey(config.apiKey);
82
87
  if (!validation.isValid) {
83
- throw new Error(`API key validation failed: ${validation.error}`);
88
+ throw new Error(`Developer API key validation failed: ${validation.error}`);
84
89
  }
90
+
91
+ // Try to load existing JWT token
92
+ await loadJWT();
85
93
  isInitialized = true;
86
94
  if (globalConfig.enableLogging) {
87
95
  console.log('✅ Onairos SDK initialized successfully');
96
+ console.log('🔑 Developer API key ready for app-level operations');
97
+ if (userToken) {
98
+ console.log('🎫 User JWT token loaded from storage');
99
+ }
88
100
  if (validation.permissions) {
89
101
  console.log('🔐 API Key Permissions:', validation.permissions);
90
102
  }
@@ -284,13 +296,198 @@ export const isApiKeyInitialized = () => {
284
296
  return isInitialized && globalConfig !== null;
285
297
  };
286
298
 
299
+ /**
300
+ * Store JWT token securely after email verification
301
+ * @param token JWT token from email verification response
302
+ */
303
+ export const storeJWT = async token => {
304
+ try {
305
+ var _globalConfig7;
306
+ await AsyncStorage.setItem(JWT_TOKEN_KEY, token);
307
+ userToken = token;
308
+ if ((_globalConfig7 = globalConfig) !== null && _globalConfig7 !== void 0 && _globalConfig7.enableLogging) {
309
+ console.log('🎫 JWT token stored successfully');
310
+ }
311
+ } catch (error) {
312
+ console.error('❌ Failed to store JWT token:', error);
313
+ throw error;
314
+ }
315
+ };
316
+
317
+ /**
318
+ * Load JWT token from storage
319
+ * @returns JWT token or null if not found
320
+ */
321
+ export const loadJWT = async () => {
322
+ try {
323
+ const token = await AsyncStorage.getItem(JWT_TOKEN_KEY);
324
+ userToken = token;
325
+ return token;
326
+ } catch (error) {
327
+ console.error('❌ Failed to load JWT token:', error);
328
+ return null;
329
+ }
330
+ };
331
+
332
+ /**
333
+ * Get current JWT token
334
+ * @returns JWT token or null if not available
335
+ */
336
+ export const getJWT = () => {
337
+ return userToken;
338
+ };
339
+
340
+ /**
341
+ * Clear JWT token (on logout or token expiration)
342
+ */
343
+ export const clearJWT = async () => {
344
+ try {
345
+ var _globalConfig8;
346
+ await AsyncStorage.removeItem(JWT_TOKEN_KEY);
347
+ userToken = null;
348
+ if ((_globalConfig8 = globalConfig) !== null && _globalConfig8 !== void 0 && _globalConfig8.enableLogging) {
349
+ console.log('🗑️ JWT token cleared');
350
+ }
351
+ } catch (error) {
352
+ console.error('❌ Failed to clear JWT token:', error);
353
+ }
354
+ };
355
+
356
+ /**
357
+ * React Native compatible base64 decoder
358
+ * @param str Base64 encoded string
359
+ * @returns Decoded string
360
+ */
361
+ const base64Decode = str => {
362
+ // Simple base64 decoding for React Native
363
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
364
+ let result = '';
365
+ let i = 0;
366
+ str = str.replace(/[^A-Za-z0-9+/]/g, '');
367
+ while (i < str.length) {
368
+ const a = chars.indexOf(str.charAt(i++));
369
+ const b = chars.indexOf(str.charAt(i++));
370
+ const c = chars.indexOf(str.charAt(i++));
371
+ const d = chars.indexOf(str.charAt(i++));
372
+ const bitmap = a << 18 | b << 12 | c << 6 | d;
373
+ result += String.fromCharCode(bitmap >> 16 & 255);
374
+ if (c !== 64) result += String.fromCharCode(bitmap >> 8 & 255);
375
+ if (d !== 64) result += String.fromCharCode(bitmap & 255);
376
+ }
377
+ return result;
378
+ };
379
+
380
+ /**
381
+ * Decode JWT token payload (React Native compatible)
382
+ * @param token JWT token string
383
+ * @returns Decoded payload or null if invalid
384
+ */
385
+ export const decodeJWTPayload = token => {
386
+ try {
387
+ // Split JWT token (header.payload.signature)
388
+ const parts = token.split('.');
389
+ if (parts.length !== 3) {
390
+ console.error('❌ Invalid JWT token format');
391
+ return null;
392
+ }
393
+
394
+ // Decode payload (base64url to base64)
395
+ const payload = parts[1];
396
+ const base64 = payload.replace(/-/g, '+').replace(/_/g, '/');
397
+
398
+ // Add padding if needed
399
+ const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, '=');
400
+
401
+ // Decode base64 to JSON using React Native compatible decoder
402
+ const decoded = base64Decode(padded);
403
+ return JSON.parse(decoded);
404
+ } catch (error) {
405
+ console.error('❌ Failed to decode JWT token:', error);
406
+ return null;
407
+ }
408
+ };
409
+
410
+ /**
411
+ * Extract username from JWT token
412
+ * @param token JWT token (optional, uses stored token if not provided)
413
+ * @returns Username or null if not found
414
+ */
415
+ export const extractUsernameFromJWT = token => {
416
+ try {
417
+ var _globalConfig9;
418
+ const jwtToken = token || userToken;
419
+ if (!jwtToken) {
420
+ console.warn('⚠️ No JWT token available for username extraction');
421
+ return null;
422
+ }
423
+ const payload = decodeJWTPayload(jwtToken);
424
+ if (!payload) {
425
+ return null;
426
+ }
427
+
428
+ // Try different possible username fields in order of preference
429
+ const username = payload.userName || payload.username || payload.userId || payload.email;
430
+ if ((_globalConfig9 = globalConfig) !== null && _globalConfig9 !== void 0 && _globalConfig9.enableLogging) {
431
+ console.log('👤 Extracted username from JWT:', username);
432
+ }
433
+ return username || null;
434
+ } catch (error) {
435
+ console.error('❌ Failed to extract username from JWT:', error);
436
+ return null;
437
+ }
438
+ };
439
+
440
+ /**
441
+ * Extract user data from JWT token
442
+ * @param token JWT token (optional, uses stored token if not provided)
443
+ * @returns User data object or null if not found
444
+ */
445
+ export const extractUserDataFromJWT = token => {
446
+ try {
447
+ var _globalConfig0;
448
+ const jwtToken = token || userToken;
449
+ if (!jwtToken) {
450
+ console.warn('⚠️ No JWT token available for user data extraction');
451
+ return null;
452
+ }
453
+ const payload = decodeJWTPayload(jwtToken);
454
+ if (!payload) {
455
+ return null;
456
+ }
457
+ const userData = {
458
+ id: payload.id,
459
+ email: payload.email,
460
+ userId: payload.userId,
461
+ userName: payload.userName || payload.username,
462
+ verified: payload.verified,
463
+ iat: payload.iat,
464
+ exp: payload.exp
465
+ };
466
+ if ((_globalConfig0 = globalConfig) !== null && _globalConfig0 !== void 0 && _globalConfig0.enableLogging) {
467
+ console.log('👤 Extracted user data from JWT:', userData);
468
+ }
469
+ return userData;
470
+ } catch (error) {
471
+ console.error('❌ Failed to extract user data from JWT:', error);
472
+ return null;
473
+ }
474
+ };
475
+
476
+ /**
477
+ * Check if user is authenticated with JWT token
478
+ * @returns True if user has valid JWT token
479
+ */
480
+ export const isUserAuthenticated = () => {
481
+ return !!userToken;
482
+ };
483
+
287
484
  /**
288
485
  * Get authenticated headers for API requests
289
486
  * @returns Headers object with Authorization and other required headers
290
487
  */
291
488
  export const getAuthHeaders = () => {
292
- var _globalConfig7;
293
- if (!((_globalConfig7 = globalConfig) !== null && _globalConfig7 !== void 0 && _globalConfig7.apiKey)) {
489
+ var _globalConfig1;
490
+ if (!((_globalConfig1 = globalConfig) !== null && _globalConfig1 !== void 0 && _globalConfig1.apiKey)) {
294
491
  throw new Error('SDK not initialized. Call initializeApiKey() first.');
295
492
  }
296
493
  const keyType = getApiKeyType(globalConfig.apiKey);
@@ -305,6 +502,45 @@ export const getAuthHeaders = () => {
305
502
  };
306
503
  };
307
504
 
505
+ /**
506
+ * Get authentication headers for developer API requests
507
+ * @returns Headers with developer API key
508
+ */
509
+ export const getDeveloperAuthHeaders = () => {
510
+ var _globalConfig10;
511
+ if (!((_globalConfig10 = globalConfig) !== null && _globalConfig10 !== void 0 && _globalConfig10.apiKey)) {
512
+ throw new Error('SDK not initialized. Call initializeApiKey() first.');
513
+ }
514
+ const keyType = getApiKeyType(globalConfig.apiKey);
515
+ return {
516
+ 'Content-Type': 'application/json',
517
+ 'Authorization': `Bearer ${globalConfig.apiKey}`,
518
+ 'User-Agent': 'OnairosSDK/1.0.0',
519
+ 'X-SDK-Version': '3.0.72',
520
+ 'X-SDK-Environment': globalConfig.environment || 'production',
521
+ 'X-API-Key-Type': keyType,
522
+ 'X-Timestamp': new Date().toISOString()
523
+ };
524
+ };
525
+
526
+ /**
527
+ * Get authentication headers for user JWT requests
528
+ * @returns Headers with user JWT token
529
+ */
530
+ export const getUserAuthHeaders = () => {
531
+ var _globalConfig11;
532
+ if (!userToken) {
533
+ throw new Error('User not authenticated. Please verify email first.');
534
+ }
535
+ return {
536
+ 'Content-Type': 'application/json',
537
+ 'Authorization': `Bearer ${userToken}`,
538
+ 'User-Agent': 'OnairosSDK/1.0.0',
539
+ 'X-SDK-Version': '3.0.72',
540
+ 'X-SDK-Environment': ((_globalConfig11 = globalConfig) === null || _globalConfig11 === void 0 ? void 0 : _globalConfig11.environment) || 'production'
541
+ };
542
+ };
543
+
308
544
  /**
309
545
  * Make an authenticated API request
310
546
  * @param endpoint The API endpoint (relative to base URL)
@@ -366,13 +602,139 @@ export const makeAuthenticatedRequest = async (endpoint, options = {}) => {
366
602
  }
367
603
  };
368
604
 
605
+ /**
606
+ * Make authenticated request with developer API key
607
+ * @param endpoint The API endpoint
608
+ * @param options Fetch options
609
+ * @returns Response promise
610
+ */
611
+ export const makeDeveloperRequest = async (endpoint, options = {}) => {
612
+ if (!isApiKeyInitialized()) {
613
+ throw new Error('SDK not initialized. Call initializeApiKey() first.');
614
+ }
615
+ const config = getApiConfig();
616
+ const baseUrl = API_ENDPOINTS[config.environment || 'production'];
617
+ const url = `${baseUrl}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;
618
+
619
+ // Merge developer authentication headers
620
+ const headers = {
621
+ ...getDeveloperAuthHeaders(),
622
+ ...(options.headers || {})
623
+ };
624
+
625
+ // Add timeout
626
+ const controller = new AbortController();
627
+ const timeoutId = setTimeout(() => controller.abort(), config.timeout || 30000);
628
+ try {
629
+ if (config.enableLogging) {
630
+ console.log(`🌐 Making developer request to: ${endpoint}`);
631
+ }
632
+ const response = await fetch(url, {
633
+ ...options,
634
+ headers,
635
+ signal: controller.signal
636
+ });
637
+ clearTimeout(timeoutId);
638
+ if (config.enableLogging) {
639
+ console.log(`📡 Developer request response: ${response.status} for ${endpoint}`);
640
+ }
641
+
642
+ // Handle API key errors
643
+ if (response.status === 401) {
644
+ console.error('❌ Developer API key authentication failed');
645
+ throw new Error('Invalid or expired API key');
646
+ }
647
+ if (response.status === 403) {
648
+ console.error('❌ Developer API key permissions insufficient');
649
+ throw new Error('Insufficient API key permissions');
650
+ }
651
+ if (response.status === 429) {
652
+ console.error('❌ API rate limit exceeded');
653
+ throw new Error('Rate limit exceeded');
654
+ }
655
+ return response;
656
+ } catch (error) {
657
+ clearTimeout(timeoutId);
658
+ if (error.name === 'AbortError') {
659
+ console.error('⏱️ Request timeout for:', endpoint);
660
+ throw new Error('Request timeout');
661
+ }
662
+ throw error;
663
+ }
664
+ };
665
+
666
+ /**
667
+ * Make authenticated request with user JWT token
668
+ * @param endpoint The API endpoint
669
+ * @param options Fetch options
670
+ * @returns Response promise
671
+ */
672
+ export const makeUserRequest = async (endpoint, options = {}) => {
673
+ if (!isUserAuthenticated()) {
674
+ await loadJWT(); // Try to load from storage
675
+ }
676
+ if (!isUserAuthenticated()) {
677
+ throw new Error('User not authenticated. Please verify email first.');
678
+ }
679
+ const config = getApiConfig() || {
680
+ environment: 'production',
681
+ timeout: 30000,
682
+ enableLogging: false
683
+ };
684
+ const baseUrl = API_ENDPOINTS[config.environment || 'production'];
685
+ const url = `${baseUrl}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;
686
+
687
+ // Merge user authentication headers
688
+ const headers = {
689
+ ...getUserAuthHeaders(),
690
+ ...(options.headers || {})
691
+ };
692
+
693
+ // Add timeout
694
+ const controller = new AbortController();
695
+ const timeoutId = setTimeout(() => controller.abort(), config.timeout || 30000);
696
+ try {
697
+ if (config.enableLogging) {
698
+ console.log(`🌐 Making user request to: ${endpoint}`);
699
+ }
700
+ const response = await fetch(url, {
701
+ ...options,
702
+ headers,
703
+ signal: controller.signal
704
+ });
705
+ clearTimeout(timeoutId);
706
+ if (config.enableLogging) {
707
+ console.log(`📡 User request response: ${response.status} for ${endpoint}`);
708
+ }
709
+
710
+ // Handle JWT token errors
711
+ if (response.status === 401) {
712
+ console.error('❌ JWT token authentication failed - token may be expired');
713
+ await clearJWT(); // Clear expired token
714
+ throw new Error('Authentication expired. Please verify email again.');
715
+ }
716
+ if (response.status === 403) {
717
+ console.error('❌ JWT token permissions insufficient');
718
+ throw new Error('Insufficient permissions for this operation');
719
+ }
720
+ return response;
721
+ } catch (error) {
722
+ clearTimeout(timeoutId);
723
+ if (error.name === 'AbortError') {
724
+ console.error('⏱️ Request timeout for:', endpoint);
725
+ throw new Error('Request timeout');
726
+ }
727
+ throw error;
728
+ }
729
+ };
730
+
369
731
  /**
370
732
  * Clear the API key validation cache
371
733
  */
372
734
  export const clearValidationCache = () => {
373
- var _globalConfig8;
735
+ var _globalConfig12;
374
736
  validationCache.clear();
375
- if ((_globalConfig8 = globalConfig) !== null && _globalConfig8 !== void 0 && _globalConfig8.enableLogging) {
737
+ if ((_globalConfig12 = globalConfig) !== null && _globalConfig12 !== void 0 && _globalConfig12.enableLogging) {
376
738
  console.log('🗑️ API key validation cache cleared');
377
739
  }
378
740
  };
@@ -1 +1 @@
1
- {"version":3,"names":["ADMIN_API_KEY","ApiKeyType","globalConfig","validationCache","Map","isInitialized","CACHE_DURATION","API_ENDPOINTS","production","staging","development","initializeApiKey","config","console","log","apiKey","Error","length","environment","enableLogging","timeout","retryAttempts","apiKeyPrefix","substring","validation","validateApiKey","isValid","error","permissions","rateLimits","getApiKeyType","ADMIN","startsWith","DEVELOPER","INVALID","isAdminKey","_globalConfig2","_globalConfig3","remaining","resetTime","Date","now","keyType","cached","get","timestamp","_globalConfig","result","baseUrl","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","sdk_version","platform","toISOString","signal","clearTimeout","data","json","ok","success","_globalConfig4","set","_globalConfig5","errorMessage","status","statusText","fetchError","name","message","getApiConfig","getApiKey","_globalConfig6","isApiKeyInitialized","getAuthHeaders","_globalConfig7","makeAuthenticatedRequest","endpoint","options","url","clearValidationCache","_globalConfig8","clear","resetApiKeyService"],"sourceRoot":"..\\..\\..\\src","sources":["services/apiKeyService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncStorage","ADMIN_API_KEY","ApiKeyType","JWT_TOKEN_KEY","globalConfig","validationCache","Map","isInitialized","userToken","CACHE_DURATION","API_ENDPOINTS","production","staging","development","initializeApiKey","config","console","log","apiKey","Error","length","environment","enableLogging","timeout","retryAttempts","apiKeyPrefix","substring","validation","validateApiKey","isValid","error","loadJWT","permissions","rateLimits","getApiKeyType","ADMIN","startsWith","DEVELOPER","INVALID","isAdminKey","_globalConfig2","_globalConfig3","remaining","resetTime","Date","now","keyType","cached","get","timestamp","_globalConfig","result","baseUrl","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","sdk_version","platform","toISOString","signal","clearTimeout","data","json","ok","success","_globalConfig4","set","_globalConfig5","errorMessage","status","statusText","fetchError","name","message","getApiConfig","getApiKey","_globalConfig6","isApiKeyInitialized","storeJWT","token","_globalConfig7","setItem","getItem","getJWT","clearJWT","_globalConfig8","removeItem","base64Decode","str","chars","i","replace","a","indexOf","charAt","b","c","d","bitmap","String","fromCharCode","decodeJWTPayload","parts","split","payload","base64","padded","padEnd","Math","ceil","decoded","parse","extractUsernameFromJWT","_globalConfig9","jwtToken","warn","username","userName","userId","email","extractUserDataFromJWT","_globalConfig0","userData","id","verified","iat","exp","isUserAuthenticated","getAuthHeaders","_globalConfig1","getDeveloperAuthHeaders","_globalConfig10","getUserAuthHeaders","_globalConfig11","makeAuthenticatedRequest","endpoint","options","url","makeDeveloperRequest","makeUserRequest","clearValidationCache","_globalConfig12","clear","resetApiKeyService"],"sourceRoot":"..\\..\\..\\src","sources":["services/apiKeyService.ts"],"mappings":"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","ignoreList":[]}