@explorins/pers-sdk 1.6.32 → 1.6.36
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 +50 -3
- package/dist/chunks/{pers-sdk-BbflloQE.cjs → pers-sdk-BGDZS3-x.cjs} +393 -19
- package/dist/chunks/pers-sdk-BGDZS3-x.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-Cb3gtslf.js → pers-sdk-Ca36Z7SO.js} +389 -20
- package/dist/chunks/pers-sdk-Ca36Z7SO.js.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +12 -0
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
- package/dist/core/auth/default-auth-provider.d.ts +2 -0
- package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
- package/dist/core/auth/dpop/dpop-manager.d.ts +32 -0
- package/dist/core/auth/dpop/dpop-manager.d.ts.map +1 -0
- package/dist/core/auth/dpop/dpop.types.d.ts +30 -0
- package/dist/core/auth/dpop/dpop.types.d.ts.map +1 -0
- package/dist/core/auth/dpop/index.d.ts +4 -0
- package/dist/core/auth/dpop/index.d.ts.map +1 -0
- package/dist/core/auth/dpop/web-crypto-dpop-provider.d.ts +13 -0
- package/dist/core/auth/dpop/web-crypto-dpop-provider.d.ts.map +1 -0
- package/dist/core/auth/index.d.ts +1 -0
- package/dist/core/auth/index.d.ts.map +1 -1
- package/dist/core/auth/indexed-db-storage.d.ts +24 -0
- package/dist/core/auth/indexed-db-storage.d.ts.map +1 -0
- package/dist/core/auth/token-storage.d.ts +19 -5
- package/dist/core/auth/token-storage.d.ts.map +1 -1
- package/dist/core/index.d.ts +3 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts +2 -0
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/pers-config.d.ts +12 -1
- package/dist/core/pers-config.d.ts.map +1 -1
- package/dist/core.cjs +6 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/index.cjs +6 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/package.json +2 -2
- package/package.json +2 -2
- package/dist/chunks/pers-sdk-BbflloQE.cjs.map +0 -1
- package/dist/chunks/pers-sdk-Cb3gtslf.js.map +0 -1
- package/dist/legacy-pers-sdk.d.ts +0 -79
- package/dist/legacy-pers-sdk.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pers-sdk-BGDZS3-x.cjs","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/pers-api-client.ts","../../src/core/auth/indexed-db-storage.ts","../../src/core/environment.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/managers/web3-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":["AccountOwnerType","AuthStatus","isTokenExpired","ErrorUtils","AuthenticationError","PersApiError","UserApi","UserService","createUserStatusSDK","TokenApi","TokenService","BusinessApi","BusinessService","CampaignApi","CampaignService","RedemptionApi","RedemptionService","TransactionApi","TransactionService","PaymentApi","PaymentService","TenantApi","TenantService","AnalyticsApi","AnalyticsService","DonationApi","DonationService","Web3ChainApi","Web3ChainService","Web3InfrastructureApi","IPFSInfrastructureApi","Web3ApplicationService","getExplorerUrlByChainId"],"mappings":"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"}
|
|
@@ -333,14 +333,19 @@ const AUTH_STORAGE_KEYS = {
|
|
|
333
333
|
};
|
|
334
334
|
/**
|
|
335
335
|
* LocalStorage implementation
|
|
336
|
+
* Note: Forces string conversion for compatibility
|
|
336
337
|
*/
|
|
337
338
|
class LocalStorageTokenStorage {
|
|
339
|
+
constructor() {
|
|
340
|
+
this.supportsObjects = false;
|
|
341
|
+
}
|
|
338
342
|
async get(key) {
|
|
339
343
|
return typeof localStorage !== 'undefined' ? localStorage.getItem(key) : null;
|
|
340
344
|
}
|
|
341
345
|
async set(key, value) {
|
|
342
346
|
if (typeof localStorage !== 'undefined') {
|
|
343
|
-
|
|
347
|
+
const stringValue = typeof value === 'string' ? value : JSON.stringify(value);
|
|
348
|
+
localStorage.setItem(key, stringValue);
|
|
344
349
|
}
|
|
345
350
|
}
|
|
346
351
|
async remove(key) {
|
|
@@ -361,6 +366,7 @@ class LocalStorageTokenStorage {
|
|
|
361
366
|
*/
|
|
362
367
|
class MemoryTokenStorage {
|
|
363
368
|
constructor() {
|
|
369
|
+
this.supportsObjects = true;
|
|
364
370
|
this.store = new Map();
|
|
365
371
|
}
|
|
366
372
|
async get(key) {
|
|
@@ -384,26 +390,30 @@ class AuthTokenManager {
|
|
|
384
390
|
this.storage = storage;
|
|
385
391
|
}
|
|
386
392
|
async getAccessToken() {
|
|
387
|
-
|
|
393
|
+
const val = await this.storage.get(AUTH_STORAGE_KEYS.ACCESS_TOKEN);
|
|
394
|
+
// Ensure we return string for tokens
|
|
395
|
+
return typeof val === 'string' ? val : null;
|
|
388
396
|
}
|
|
389
397
|
async setAccessToken(token) {
|
|
390
398
|
await this.storage.set(AUTH_STORAGE_KEYS.ACCESS_TOKEN, token);
|
|
391
399
|
}
|
|
392
400
|
async getRefreshToken() {
|
|
393
|
-
|
|
401
|
+
const val = await this.storage.get(AUTH_STORAGE_KEYS.REFRESH_TOKEN);
|
|
402
|
+
return typeof val === 'string' ? val : null;
|
|
394
403
|
}
|
|
395
404
|
async setRefreshToken(token) {
|
|
396
405
|
await this.storage.set(AUTH_STORAGE_KEYS.REFRESH_TOKEN, token);
|
|
397
406
|
}
|
|
398
407
|
async getProviderToken() {
|
|
399
|
-
|
|
408
|
+
const val = await this.storage.get(AUTH_STORAGE_KEYS.PROVIDER_TOKEN);
|
|
409
|
+
return typeof val === 'string' ? val : null;
|
|
400
410
|
}
|
|
401
411
|
async setProviderToken(token) {
|
|
402
412
|
await this.storage.set(AUTH_STORAGE_KEYS.PROVIDER_TOKEN, token);
|
|
403
413
|
}
|
|
404
414
|
async getAuthType() {
|
|
405
415
|
const authType = await this.storage.get(AUTH_STORAGE_KEYS.AUTH_TYPE);
|
|
406
|
-
return authType;
|
|
416
|
+
return typeof authType === 'string' ? authType : null;
|
|
407
417
|
}
|
|
408
418
|
async setAuthType(authType) {
|
|
409
419
|
await this.storage.set(AUTH_STORAGE_KEYS.AUTH_TYPE, authType);
|
|
@@ -428,6 +438,218 @@ class AuthTokenManager {
|
|
|
428
438
|
}
|
|
429
439
|
}
|
|
430
440
|
|
|
441
|
+
class WebDPoPCryptoProvider {
|
|
442
|
+
get crypto() {
|
|
443
|
+
// Basic environment check
|
|
444
|
+
if (typeof crypto !== 'undefined')
|
|
445
|
+
return crypto;
|
|
446
|
+
if (typeof window !== 'undefined' && window.crypto)
|
|
447
|
+
return window.crypto;
|
|
448
|
+
if (typeof globalThis !== 'undefined' && globalThis.crypto)
|
|
449
|
+
return globalThis.crypto;
|
|
450
|
+
throw new Error('WebCrypto API not found. Please polyfill crypto.subtle or use a different DPoPCryptoProvider.');
|
|
451
|
+
}
|
|
452
|
+
async generateKeyPair(options) {
|
|
453
|
+
const extractable = options?.extractable ?? true;
|
|
454
|
+
const keyPair = await this.crypto.subtle.generateKey({
|
|
455
|
+
name: 'ECDSA',
|
|
456
|
+
namedCurve: 'P-256',
|
|
457
|
+
}, extractable, // Configurable extractability
|
|
458
|
+
['sign', 'verify']);
|
|
459
|
+
const publicKey = await this.crypto.subtle.exportKey('jwk', keyPair.publicKey);
|
|
460
|
+
// If extractable, export private key as JWK (plain object)
|
|
461
|
+
// If NOT extractable, keep it as CryptoKey (native handle)
|
|
462
|
+
// However, DPoPKeyPair interface currently expects JsonWebKey | CryptoKey
|
|
463
|
+
// We need to check DPoPKeyPair type definition.
|
|
464
|
+
// Wait, DPoPKeyPair definition in dpop.types.ts says:
|
|
465
|
+
// publicKey: JsonWebKey; privateKey: JsonWebKey;
|
|
466
|
+
// I need to change that to support CryptoKey.
|
|
467
|
+
// Let's re-read dpop.types.ts
|
|
468
|
+
// I assumed it might be compatible but let's verify.
|
|
469
|
+
// If I change privateKey to unknown or JsonWebKey | CryptoKey, it will be safer.
|
|
470
|
+
let privateKey;
|
|
471
|
+
if (extractable) {
|
|
472
|
+
privateKey = await this.crypto.subtle.exportKey('jwk', keyPair.privateKey);
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
privateKey = keyPair.privateKey;
|
|
476
|
+
}
|
|
477
|
+
return { publicKey, privateKey };
|
|
478
|
+
}
|
|
479
|
+
async signProof(payload, keyPair) {
|
|
480
|
+
// 1. Prepare Header
|
|
481
|
+
const header = {
|
|
482
|
+
typ: 'dpop+jwt',
|
|
483
|
+
alg: 'ES256',
|
|
484
|
+
jwk: keyPair.publicKey
|
|
485
|
+
};
|
|
486
|
+
// 2. Prepare Payload
|
|
487
|
+
// Ensure jti and iat if not present (though Manager usually provides them)
|
|
488
|
+
const finalPayload = {
|
|
489
|
+
...payload,
|
|
490
|
+
iat: payload.iat || Math.floor(Date.now() / 1000),
|
|
491
|
+
jti: payload.jti || this.generateUUID()
|
|
492
|
+
};
|
|
493
|
+
// 3. Encode segments
|
|
494
|
+
const encodedHeader = this.base64UrlEncode(JSON.stringify(header));
|
|
495
|
+
const encodedPayload = this.base64UrlEncode(JSON.stringify(finalPayload));
|
|
496
|
+
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
497
|
+
// 4. Import private key for signing
|
|
498
|
+
let privateKey;
|
|
499
|
+
// Check if it's already a CryptoKey (non-extractable handle)
|
|
500
|
+
// We check for 'algorithm' property which signals a CryptoKey object
|
|
501
|
+
if (keyPair.privateKey.algorithm) {
|
|
502
|
+
privateKey = keyPair.privateKey;
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
// Otherwise import from JWK
|
|
506
|
+
privateKey = await this.crypto.subtle.importKey('jwk', keyPair.privateKey, {
|
|
507
|
+
name: 'ECDSA',
|
|
508
|
+
namedCurve: 'P-256',
|
|
509
|
+
}, false, ['sign']);
|
|
510
|
+
}
|
|
511
|
+
// 5. Sign
|
|
512
|
+
const signatureBuffer = await this.crypto.subtle.sign({
|
|
513
|
+
name: 'ECDSA',
|
|
514
|
+
hash: { name: 'SHA-256' },
|
|
515
|
+
}, privateKey, new TextEncoder().encode(signingInput));
|
|
516
|
+
const encodedSignature = this.base64UrlEncodeBuffer(signatureBuffer);
|
|
517
|
+
return `${signingInput}.${encodedSignature}`;
|
|
518
|
+
}
|
|
519
|
+
async hashAccessToken(accessToken) {
|
|
520
|
+
const encoder = new TextEncoder();
|
|
521
|
+
const data = encoder.encode(accessToken);
|
|
522
|
+
const hashBuffer = await this.crypto.subtle.digest('SHA-256', data);
|
|
523
|
+
return this.base64UrlEncodeBuffer(hashBuffer);
|
|
524
|
+
}
|
|
525
|
+
// --- Helpers ---
|
|
526
|
+
generateUUID() {
|
|
527
|
+
if (typeof crypto !== 'undefined' && crypto.randomUUID) {
|
|
528
|
+
return crypto.randomUUID();
|
|
529
|
+
}
|
|
530
|
+
// Fallback for older envs
|
|
531
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
532
|
+
const r = (Math.random() * 16) | 0;
|
|
533
|
+
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
534
|
+
return v.toString(16);
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
base64UrlEncode(str) {
|
|
538
|
+
// Use TextEncoder to handle UTF-8 properly
|
|
539
|
+
const encoder = new TextEncoder();
|
|
540
|
+
return this.base64UrlEncodeBuffer(encoder.encode(str));
|
|
541
|
+
}
|
|
542
|
+
base64UrlEncodeBuffer(buffer) {
|
|
543
|
+
const bytes = new Uint8Array(buffer);
|
|
544
|
+
let binary = '';
|
|
545
|
+
const len = bytes.byteLength;
|
|
546
|
+
// Chunk processing for large buffers if needed, but proofs are small
|
|
547
|
+
for (let i = 0; i < len; i++) {
|
|
548
|
+
binary += String.fromCharCode(bytes[i]);
|
|
549
|
+
}
|
|
550
|
+
// btoa is widely available in browsers.
|
|
551
|
+
// In Node (non-globals), we might need Buffer.
|
|
552
|
+
// For universal 'platform agnostic' aiming at standard web-like envs:
|
|
553
|
+
let base64 = '';
|
|
554
|
+
if (typeof btoa === 'function') {
|
|
555
|
+
base64 = btoa(binary);
|
|
556
|
+
}
|
|
557
|
+
else if (typeof Buffer !== 'undefined') {
|
|
558
|
+
base64 = Buffer.from(binary, 'binary').toString('base64');
|
|
559
|
+
}
|
|
560
|
+
else {
|
|
561
|
+
throw new Error('Base64 encoding not supported in this environment');
|
|
562
|
+
}
|
|
563
|
+
return base64
|
|
564
|
+
.replace(/\+/g, '-')
|
|
565
|
+
.replace(/\//g, '_')
|
|
566
|
+
.replace(/=+$/, '');
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
const DPOP_STORAGE_KEYS = {
|
|
571
|
+
PUBLIC: 'pers_dpop_public_key',
|
|
572
|
+
PRIVATE: 'pers_dpop_private_key'
|
|
573
|
+
};
|
|
574
|
+
class DPoPManager {
|
|
575
|
+
constructor(storage, cryptoProvider) {
|
|
576
|
+
this.storage = storage;
|
|
577
|
+
this.memoryKeyPair = null;
|
|
578
|
+
this.cryptoProvider = cryptoProvider || new WebDPoPCryptoProvider();
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Ensures a DPoP key pair exists, loading from storage or generating new one.
|
|
582
|
+
*/
|
|
583
|
+
async ensureKeyPair() {
|
|
584
|
+
if (this.memoryKeyPair)
|
|
585
|
+
return this.memoryKeyPair;
|
|
586
|
+
const storedPublic = await this.storage.get(DPOP_STORAGE_KEYS.PUBLIC);
|
|
587
|
+
const storedPrivate = await this.storage.get(DPOP_STORAGE_KEYS.PRIVATE);
|
|
588
|
+
if (storedPublic && storedPrivate) {
|
|
589
|
+
try {
|
|
590
|
+
// Handle polymorphic storage: String (JSON) or Object (CryptoKey)
|
|
591
|
+
const publicKey = typeof storedPublic === 'string' ? JSON.parse(storedPublic) : storedPublic;
|
|
592
|
+
const privateKey = typeof storedPrivate === 'string' ? JSON.parse(storedPrivate) : storedPrivate;
|
|
593
|
+
this.memoryKeyPair = { publicKey, privateKey };
|
|
594
|
+
return this.memoryKeyPair;
|
|
595
|
+
}
|
|
596
|
+
catch (e) {
|
|
597
|
+
console.warn('Corrupted DPoP keys in storage, regenerating.');
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
// Generate new key pair
|
|
601
|
+
// Adaptation: If storage supports raw objects (like IndexedDB or Native Keychain),
|
|
602
|
+
// we can generate Non-Extractable keys for maximum security.
|
|
603
|
+
// If storage is text-only (LocalStorage), we must use Extractable keys to serialize them.
|
|
604
|
+
const useHighSecurity = !!this.storage.supportsObjects;
|
|
605
|
+
const keyPair = await this.cryptoProvider.generateKeyPair({
|
|
606
|
+
extractable: !useHighSecurity
|
|
607
|
+
});
|
|
608
|
+
// Save to storage
|
|
609
|
+
await this.storage.set(DPOP_STORAGE_KEYS.PUBLIC, keyPair.publicKey);
|
|
610
|
+
await this.storage.set(DPOP_STORAGE_KEYS.PRIVATE, keyPair.privateKey);
|
|
611
|
+
this.memoryKeyPair = keyPair;
|
|
612
|
+
return keyPair;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Generates the DPoP proof header value.
|
|
616
|
+
* @param method HTTP method
|
|
617
|
+
* @param url Request URL
|
|
618
|
+
* @param accessToken Optional access token to bind the proof to (ath claim)
|
|
619
|
+
*/
|
|
620
|
+
async generateProofHeader(method, url, accessToken) {
|
|
621
|
+
const keyPair = await this.ensureKeyPair();
|
|
622
|
+
const payload = {
|
|
623
|
+
htm: method,
|
|
624
|
+
htu: url,
|
|
625
|
+
};
|
|
626
|
+
if (accessToken) {
|
|
627
|
+
payload.ath = await this.cryptoProvider.hashAccessToken(accessToken);
|
|
628
|
+
}
|
|
629
|
+
return this.cryptoProvider.signProof(payload, keyPair);
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Clears DPoP keys (e.g. on logout)
|
|
633
|
+
*/
|
|
634
|
+
async clearKeys() {
|
|
635
|
+
this.memoryKeyPair = null;
|
|
636
|
+
await this.storage.remove(DPOP_STORAGE_KEYS.PUBLIC);
|
|
637
|
+
await this.storage.remove(DPOP_STORAGE_KEYS.PRIVATE);
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* Gets the public key (for debugging/inspection)
|
|
641
|
+
*/
|
|
642
|
+
async getPublicKey() {
|
|
643
|
+
try {
|
|
644
|
+
const kp = await this.ensureKeyPair();
|
|
645
|
+
return kp.publicKey;
|
|
646
|
+
}
|
|
647
|
+
catch {
|
|
648
|
+
return null;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
|
|
431
653
|
/**
|
|
432
654
|
* Default Authentication Provider
|
|
433
655
|
* Simple implementation of PERS authentication with token lifecycle management
|
|
@@ -441,6 +663,9 @@ class DefaultAuthProvider {
|
|
|
441
663
|
this.authType = config.authType || 'user';
|
|
442
664
|
const storage = config.storage || this.createStorage();
|
|
443
665
|
this.tokenManager = new AuthTokenManager(storage);
|
|
666
|
+
if (config.dpop?.enabled) {
|
|
667
|
+
this.dpopManager = new DPoPManager(storage, config.dpop.cryptoProvider);
|
|
668
|
+
}
|
|
444
669
|
}
|
|
445
670
|
createStorage() {
|
|
446
671
|
return typeof window === 'undefined' || typeof localStorage === 'undefined'
|
|
@@ -450,6 +675,26 @@ class DefaultAuthProvider {
|
|
|
450
675
|
getToken() {
|
|
451
676
|
return this.tokenManager.getAccessToken();
|
|
452
677
|
}
|
|
678
|
+
async getAuthHeaders(token, method, url) {
|
|
679
|
+
const headers = {};
|
|
680
|
+
if (this.dpopManager && method && url) {
|
|
681
|
+
// Generate DPoP Proof
|
|
682
|
+
// Note: For 'bypassAuth' requests (token is null), we still generate proof (bound to public key, no ath)
|
|
683
|
+
// This covers Token Requests (Login) which need DPoP header to bind the issued token.
|
|
684
|
+
const proof = await this.dpopManager.generateProofHeader(method, url, token || undefined);
|
|
685
|
+
headers['DPoP'] = proof;
|
|
686
|
+
if (token) {
|
|
687
|
+
headers['Authorization'] = `DPoP ${token}`;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
// Standard Bearer
|
|
692
|
+
if (token) {
|
|
693
|
+
headers['Authorization'] = `Bearer ${token}`;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return headers;
|
|
697
|
+
}
|
|
453
698
|
async getProjectKey() {
|
|
454
699
|
return this.config.projectKey || null;
|
|
455
700
|
}
|
|
@@ -484,6 +729,9 @@ class DefaultAuthProvider {
|
|
|
484
729
|
}
|
|
485
730
|
async clearTokens() {
|
|
486
731
|
await this.tokenManager.clearAllTokens();
|
|
732
|
+
if (this.dpopManager) {
|
|
733
|
+
await this.dpopManager.clearKeys();
|
|
734
|
+
}
|
|
487
735
|
}
|
|
488
736
|
async setTokens(accessToken, refreshToken, providerToken) {
|
|
489
737
|
await this.tokenManager.setTokens(accessToken, refreshToken, providerToken);
|
|
@@ -532,7 +780,11 @@ class PersApiClient {
|
|
|
532
780
|
this.mergedConfig.authProvider = new DefaultAuthProvider({
|
|
533
781
|
authType: this.mergedConfig.authType || 'user',
|
|
534
782
|
projectKey: this.mergedConfig.apiProjectKey,
|
|
535
|
-
storage: this.mergedConfig.authStorage // Support custom storage
|
|
783
|
+
storage: this.mergedConfig.authStorage, // Support custom storage
|
|
784
|
+
dpop: {
|
|
785
|
+
enabled: this.mergedConfig.dpop?.enabled ?? true, // Enable DPoP by default
|
|
786
|
+
cryptoProvider: this.mergedConfig.dpop?.cryptoProvider
|
|
787
|
+
}
|
|
536
788
|
});
|
|
537
789
|
}
|
|
538
790
|
this.authService = new AuthService(this.authApi, this.mergedConfig.authProvider);
|
|
@@ -595,7 +847,7 @@ class PersApiClient {
|
|
|
595
847
|
});
|
|
596
848
|
}
|
|
597
849
|
const requestOptions = {
|
|
598
|
-
headers: await this.getHeaders(!bypassAuth),
|
|
850
|
+
headers: await this.getHeaders(!bypassAuth, method, url),
|
|
599
851
|
timeout: this.mergedConfig.timeout,
|
|
600
852
|
responseType
|
|
601
853
|
};
|
|
@@ -690,26 +942,45 @@ class PersApiClient {
|
|
|
690
942
|
* Get request headers with optional auth token and project key
|
|
691
943
|
*
|
|
692
944
|
* @param includeAuth - Whether to include the Authorization header (default: true)
|
|
945
|
+
* @param method - HTTP Method (required for DPoP)
|
|
946
|
+
* @param url - Full Request URL (required for DPoP)
|
|
693
947
|
*/
|
|
694
|
-
async getHeaders(includeAuth = true) {
|
|
948
|
+
async getHeaders(includeAuth = true, method, url) {
|
|
695
949
|
const headers = {
|
|
696
950
|
'Content-Type': 'application/json',
|
|
697
951
|
};
|
|
698
|
-
if (
|
|
699
|
-
|
|
700
|
-
if (
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
952
|
+
if (this.mergedConfig.authProvider) {
|
|
953
|
+
let token = null;
|
|
954
|
+
if (includeAuth) {
|
|
955
|
+
token = await this.mergedConfig.authProvider.getToken();
|
|
956
|
+
}
|
|
957
|
+
// Handle Authentication Headers (Bearer or DPoP)
|
|
958
|
+
if (this.mergedConfig.authProvider.getAuthHeaders) {
|
|
959
|
+
// Provider supports advanced headers (DPoP)
|
|
960
|
+
// We pass token (null if includeAuth=false) so it can generate DPoP proofs for login requests too
|
|
961
|
+
try {
|
|
962
|
+
const authHeaders = await this.mergedConfig.authProvider.getAuthHeaders(token, method, url);
|
|
963
|
+
Object.assign(headers, authHeaders);
|
|
704
964
|
}
|
|
705
|
-
|
|
706
|
-
console.warn('[PersApiClient]
|
|
965
|
+
catch (e) {
|
|
966
|
+
console.warn('[PersApiClient] Failed to generate auth headers:', e);
|
|
967
|
+
// Fallback if token exists but DPoP generation failed?
|
|
968
|
+
// Better to fail or let standardized fallback below handle it?
|
|
969
|
+
// If DPoP fails, falling back to Bearer might be insecure if server enforces DPoP.
|
|
970
|
+
// For now, valid token -> Bearer fallback logic mostly for non-DPoP legacy providers.
|
|
707
971
|
}
|
|
708
972
|
}
|
|
709
|
-
|
|
710
|
-
|
|
973
|
+
// Fallback: If provider didn't give headers but we have token and NO Authorization header yet
|
|
974
|
+
if (includeAuth && token && !headers['Authorization']) {
|
|
975
|
+
headers['Authorization'] = `Bearer ${token}`;
|
|
976
|
+
}
|
|
977
|
+
else if (includeAuth && !token) {
|
|
978
|
+
console.warn('[PersApiClient] No token available from auth provider');
|
|
711
979
|
}
|
|
712
980
|
}
|
|
981
|
+
else if (includeAuth) {
|
|
982
|
+
console.warn('[PersApiClient] No auth provider configured');
|
|
983
|
+
}
|
|
713
984
|
// Add project key
|
|
714
985
|
if (this.mergedConfig.authProvider) {
|
|
715
986
|
const projectKey = await this.mergedConfig.authProvider.getProjectKey();
|
|
@@ -745,6 +1016,104 @@ class PersApiClient {
|
|
|
745
1016
|
}
|
|
746
1017
|
}
|
|
747
1018
|
|
|
1019
|
+
class IndexedDBTokenStorage {
|
|
1020
|
+
constructor() {
|
|
1021
|
+
this.supportsObjects = true;
|
|
1022
|
+
this.dbPromise = null;
|
|
1023
|
+
if (typeof indexedDB === 'undefined') {
|
|
1024
|
+
console.warn('IndexedDB is not available in this environment');
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
getDB() {
|
|
1028
|
+
if (this.dbPromise)
|
|
1029
|
+
return this.dbPromise;
|
|
1030
|
+
this.dbPromise = new Promise((resolve, reject) => {
|
|
1031
|
+
if (typeof indexedDB === 'undefined') {
|
|
1032
|
+
return reject(new Error('IndexedDB not supported'));
|
|
1033
|
+
}
|
|
1034
|
+
const request = indexedDB.open(IndexedDBTokenStorage.DB_NAME, IndexedDBTokenStorage.DB_VERSION);
|
|
1035
|
+
request.onupgradeneeded = (event) => {
|
|
1036
|
+
const db = event.target.result;
|
|
1037
|
+
if (!db.objectStoreNames.contains(IndexedDBTokenStorage.STORE_NAME)) {
|
|
1038
|
+
db.createObjectStore(IndexedDBTokenStorage.STORE_NAME);
|
|
1039
|
+
}
|
|
1040
|
+
};
|
|
1041
|
+
request.onsuccess = (event) => {
|
|
1042
|
+
resolve(event.target.result);
|
|
1043
|
+
};
|
|
1044
|
+
request.onerror = (event) => {
|
|
1045
|
+
reject(event.target.error);
|
|
1046
|
+
};
|
|
1047
|
+
});
|
|
1048
|
+
return this.dbPromise;
|
|
1049
|
+
}
|
|
1050
|
+
async get(key) {
|
|
1051
|
+
try {
|
|
1052
|
+
const db = await this.getDB();
|
|
1053
|
+
return new Promise((resolve, reject) => {
|
|
1054
|
+
const transaction = db.transaction(IndexedDBTokenStorage.STORE_NAME, 'readonly');
|
|
1055
|
+
const store = transaction.objectStore(IndexedDBTokenStorage.STORE_NAME);
|
|
1056
|
+
const request = store.get(key);
|
|
1057
|
+
request.onsuccess = () => resolve(request.result || null);
|
|
1058
|
+
request.onerror = () => reject(request.error);
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1061
|
+
catch (e) {
|
|
1062
|
+
console.warn('[IndexedDBTokenStorage] Failed to get key', key, e);
|
|
1063
|
+
return null;
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
async set(key, value) {
|
|
1067
|
+
try {
|
|
1068
|
+
const db = await this.getDB();
|
|
1069
|
+
return new Promise((resolve, reject) => {
|
|
1070
|
+
const transaction = db.transaction(IndexedDBTokenStorage.STORE_NAME, 'readwrite');
|
|
1071
|
+
const store = transaction.objectStore(IndexedDBTokenStorage.STORE_NAME);
|
|
1072
|
+
const request = store.put(value, key);
|
|
1073
|
+
request.onsuccess = () => resolve();
|
|
1074
|
+
request.onerror = () => reject(request.error);
|
|
1075
|
+
});
|
|
1076
|
+
}
|
|
1077
|
+
catch (e) {
|
|
1078
|
+
console.error('[IndexedDBTokenStorage] Failed to set key', key, e);
|
|
1079
|
+
throw e;
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
async remove(key) {
|
|
1083
|
+
try {
|
|
1084
|
+
const db = await this.getDB();
|
|
1085
|
+
return new Promise((resolve, reject) => {
|
|
1086
|
+
const transaction = db.transaction(IndexedDBTokenStorage.STORE_NAME, 'readwrite');
|
|
1087
|
+
const store = transaction.objectStore(IndexedDBTokenStorage.STORE_NAME);
|
|
1088
|
+
const request = store.delete(key);
|
|
1089
|
+
request.onsuccess = () => resolve();
|
|
1090
|
+
request.onerror = () => reject(request.error);
|
|
1091
|
+
});
|
|
1092
|
+
}
|
|
1093
|
+
catch (e) {
|
|
1094
|
+
console.warn('[IndexedDBTokenStorage] Failed to remove key', key, e);
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
async clear() {
|
|
1098
|
+
try {
|
|
1099
|
+
const db = await this.getDB();
|
|
1100
|
+
return new Promise((resolve, reject) => {
|
|
1101
|
+
const transaction = db.transaction(IndexedDBTokenStorage.STORE_NAME, 'readwrite');
|
|
1102
|
+
const store = transaction.objectStore(IndexedDBTokenStorage.STORE_NAME);
|
|
1103
|
+
const request = store.clear();
|
|
1104
|
+
request.onsuccess = () => resolve();
|
|
1105
|
+
request.onerror = () => reject(request.error);
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1108
|
+
catch (e) {
|
|
1109
|
+
console.warn('[IndexedDBTokenStorage] Failed to clear storage', e);
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
IndexedDBTokenStorage.DB_NAME = 'pers-sdk-storage';
|
|
1114
|
+
IndexedDBTokenStorage.STORE_NAME = 'auth-tokens';
|
|
1115
|
+
IndexedDBTokenStorage.DB_VERSION = 1;
|
|
1116
|
+
|
|
748
1117
|
/**
|
|
749
1118
|
* Environment Detection Utility
|
|
750
1119
|
* Detects runtime environment for platform-specific behaviors
|
|
@@ -5926,5 +6295,5 @@ function createPersSDK(httpClient, config) {
|
|
|
5926
6295
|
return new PersSDK(httpClient, config);
|
|
5927
6296
|
}
|
|
5928
6297
|
|
|
5929
|
-
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, TokenManager as T, UserManager as U,
|
|
5930
|
-
//# sourceMappingURL=pers-sdk-
|
|
6298
|
+
export { AuthStatus as A, BusinessManager as B, CampaignManager as C, DefaultAuthProvider as D, FileManager as F, IndexedDBTokenStorage as I, LocalStorageTokenStorage as L, MemoryTokenStorage as M, PersSDK as P, RedemptionManager as R, 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, PersApiClient as e, DEFAULT_PERS_CONFIG as f, buildApiRoot as g, detectEnvironment as h, environment as i, AuthApi as j, AuthService as k, DPoPManager as l, mergeWithDefaults as m, AuthManager as n, UserStatusManager as o, TransactionManager as p, PurchaseManager as q, TenantManager as r, ApiKeyManager as s, AnalyticsManager as t, DonationManager as u, Web3Manager as v, warnIfProblematicEnvironment as w, FileApi as x, FileService as y, ApiKeyApi as z };
|
|
6299
|
+
//# sourceMappingURL=pers-sdk-Ca36Z7SO.js.map
|