@explorins/pers-sdk 2.0.4 → 2.0.6
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/dist/chunks/{pers-sdk-B_i-bGwq.cjs → pers-sdk-Bm6y6cX4.cjs} +149 -13
- package/dist/chunks/pers-sdk-Bm6y6cX4.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-CyGgL8Dg.js → pers-sdk-DLTY5heK.js} +149 -14
- package/dist/chunks/pers-sdk-DLTY5heK.js.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +4 -10
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
- package/dist/core/auth/default-auth-provider.d.ts +3 -2
- package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
- package/dist/core/auth/index.d.ts +1 -0
- package/dist/core/auth/index.d.ts.map +1 -1
- package/dist/core/auth/services/auth-service.d.ts.map +1 -1
- package/dist/core/auth/static-jwt-auth-provider.d.ts +88 -0
- package/dist/core/auth/static-jwt-auth-provider.d.ts.map +1 -0
- package/dist/core/auth/token-storage.d.ts +3 -3
- package/dist/core/auth/token-storage.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts +13 -5
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/pers-config.d.ts +4 -3
- package/dist/core/pers-config.d.ts.map +1 -1
- package/dist/core.cjs +7 -2
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +2 -2
- package/dist/index.cjs +17 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/managers/auth-manager.d.ts +34 -2
- package/dist/managers/auth-manager.d.ts.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/chunks/pers-sdk-B_i-bGwq.cjs.map +0 -1
- package/dist/chunks/pers-sdk-CyGgL8Dg.js.map +0 -1
|
@@ -196,7 +196,7 @@ class AuthService {
|
|
|
196
196
|
async loginTenantAdmin(jwt) {
|
|
197
197
|
const response = await this.authApi.loginTenantAdmin(jwt);
|
|
198
198
|
if (this.authProvider && response.accessToken) {
|
|
199
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
199
|
+
await this.storeTokens(response.accessToken, response.refreshToken, persShared.AccountOwnerType.TENANT, jwt);
|
|
200
200
|
}
|
|
201
201
|
return response;
|
|
202
202
|
}
|
|
@@ -206,7 +206,7 @@ class AuthService {
|
|
|
206
206
|
async loginUser(jwt) {
|
|
207
207
|
const response = await this.authApi.loginUser(jwt);
|
|
208
208
|
if (this.authProvider && response.accessToken) {
|
|
209
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
209
|
+
await this.storeTokens(response.accessToken, response.refreshToken, persShared.AccountOwnerType.USER, jwt);
|
|
210
210
|
}
|
|
211
211
|
return response;
|
|
212
212
|
}
|
|
@@ -237,7 +237,7 @@ class AuthService {
|
|
|
237
237
|
async loginBusiness(jwt, options) {
|
|
238
238
|
const response = await this.authApi.loginBusiness(jwt, options);
|
|
239
239
|
if (this.authProvider && response.accessToken) {
|
|
240
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
240
|
+
await this.storeTokens(response.accessToken, response.refreshToken, persShared.AccountOwnerType.BUSINESS, jwt);
|
|
241
241
|
}
|
|
242
242
|
return response;
|
|
243
243
|
}
|
|
@@ -247,7 +247,7 @@ class AuthService {
|
|
|
247
247
|
async loginUserWithRawData(rawLoginData) {
|
|
248
248
|
const response = await this.authApi.loginUnAuthenticated(rawLoginData);
|
|
249
249
|
if (this.authProvider && response.accessToken) {
|
|
250
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
250
|
+
await this.storeTokens(response.accessToken, response.refreshToken, persShared.AccountOwnerType.USER);
|
|
251
251
|
}
|
|
252
252
|
return response;
|
|
253
253
|
}
|
|
@@ -729,7 +729,7 @@ class DPoPManager {
|
|
|
729
729
|
class DefaultAuthProvider {
|
|
730
730
|
constructor(config = {}) {
|
|
731
731
|
this.config = config;
|
|
732
|
-
this.authType = config.authType ||
|
|
732
|
+
this.authType = config.authType || persShared.AccountOwnerType.USER;
|
|
733
733
|
const storage = config.storage || this.createStorage();
|
|
734
734
|
this.tokenManager = new AuthTokenManager(storage);
|
|
735
735
|
if (config.dpop?.enabled) {
|
|
@@ -862,7 +862,7 @@ class PersApiClient {
|
|
|
862
862
|
// Auto-create auth provider if none provided
|
|
863
863
|
if (!this.mergedConfig.authProvider) {
|
|
864
864
|
this.mergedConfig.authProvider = new DefaultAuthProvider({
|
|
865
|
-
authType: this.mergedConfig.authType ||
|
|
865
|
+
authType: this.mergedConfig.authType || persShared.AccountOwnerType.USER,
|
|
866
866
|
projectKey: this.mergedConfig.apiProjectKey,
|
|
867
867
|
storage: this.mergedConfig.authStorage, // Support custom storage
|
|
868
868
|
dpop: {
|
|
@@ -892,12 +892,20 @@ class PersApiClient {
|
|
|
892
892
|
/**
|
|
893
893
|
* Ensures valid authentication token before making requests
|
|
894
894
|
*
|
|
895
|
-
*
|
|
896
|
-
*
|
|
897
|
-
*
|
|
895
|
+
* Validates the current token and automatically refreshes if expired or near expiration.
|
|
896
|
+
* Uses a 120-second margin - tokens are refreshed if they expire within 2 minutes.
|
|
897
|
+
*
|
|
898
|
+
* This method is called automatically before each request but can also be called
|
|
899
|
+
* manually when needed (e.g., app resume from background).
|
|
898
900
|
*
|
|
899
|
-
* @private
|
|
900
901
|
* @returns Promise that resolves when token validation is complete
|
|
902
|
+
* @throws Error if token refresh fails
|
|
903
|
+
*
|
|
904
|
+
* @example
|
|
905
|
+
* ```typescript
|
|
906
|
+
* // Validate tokens when app becomes active
|
|
907
|
+
* await apiClient.ensureValidToken();
|
|
908
|
+
* ```
|
|
901
909
|
*/
|
|
902
910
|
async ensureValidToken() {
|
|
903
911
|
if (!this.mergedConfig.authProvider) {
|
|
@@ -1276,6 +1284,100 @@ function warnIfProblematicEnvironment(feature) {
|
|
|
1276
1284
|
}
|
|
1277
1285
|
}
|
|
1278
1286
|
|
|
1287
|
+
/**
|
|
1288
|
+
* Static JWT Authentication Provider
|
|
1289
|
+
* For server-side integrations with long-lived JWT tokens
|
|
1290
|
+
*
|
|
1291
|
+
* Use this provider when:
|
|
1292
|
+
* - Running in server environments (Node.js, serverless functions)
|
|
1293
|
+
* - Using static/long-lived JWT tokens (not OAuth flow)
|
|
1294
|
+
* - No token refresh mechanism needed
|
|
1295
|
+
* - JWT rotation handled externally (e.g., environment variables)
|
|
1296
|
+
*
|
|
1297
|
+
* @example Server-side usage
|
|
1298
|
+
* ```typescript
|
|
1299
|
+
* const sdk = new PersSdk(httpClient, {
|
|
1300
|
+
* environment: 'production',
|
|
1301
|
+
* apiProjectKey: 'your-project',
|
|
1302
|
+
* authProvider: new StaticJwtAuthProvider(
|
|
1303
|
+
* process.env.PERS_JWT_TOKEN!,
|
|
1304
|
+
* 'your-project',
|
|
1305
|
+
* 'business' // or 'admin'
|
|
1306
|
+
* )
|
|
1307
|
+
* });
|
|
1308
|
+
* ```
|
|
1309
|
+
*/
|
|
1310
|
+
/**
|
|
1311
|
+
* Simple authentication provider for static JWT tokens
|
|
1312
|
+
* No token storage, refresh, or DPoP - designed for server-side use
|
|
1313
|
+
*/
|
|
1314
|
+
class StaticJwtAuthProvider {
|
|
1315
|
+
constructor(configOrJwt, projectKey, authType) {
|
|
1316
|
+
if (typeof configOrJwt === 'string') {
|
|
1317
|
+
// Legacy constructor: (jwt, projectKey, authType)
|
|
1318
|
+
this.jwt = configOrJwt;
|
|
1319
|
+
this.projectKey = projectKey;
|
|
1320
|
+
this.authType = authType || persShared.AccountOwnerType.BUSINESS;
|
|
1321
|
+
}
|
|
1322
|
+
else {
|
|
1323
|
+
// New constructor: (config)
|
|
1324
|
+
this.jwt = configOrJwt.jwt;
|
|
1325
|
+
this.projectKey = configOrJwt.projectKey;
|
|
1326
|
+
this.authType = configOrJwt.authType || persShared.AccountOwnerType.BUSINESS;
|
|
1327
|
+
this.statusChangeCallback = configOrJwt.onAuthStatusChange;
|
|
1328
|
+
}
|
|
1329
|
+
if (!this.jwt) {
|
|
1330
|
+
throw new Error('StaticJwtAuthProvider: JWT token is required');
|
|
1331
|
+
}
|
|
1332
|
+
if (!this.projectKey) {
|
|
1333
|
+
throw new Error('StaticJwtAuthProvider: Project key is required');
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
/**
|
|
1337
|
+
* Get the static JWT token
|
|
1338
|
+
* @returns The configured JWT token
|
|
1339
|
+
*/
|
|
1340
|
+
async getToken() {
|
|
1341
|
+
return this.jwt;
|
|
1342
|
+
}
|
|
1343
|
+
/**
|
|
1344
|
+
* Get project key for API requests
|
|
1345
|
+
* @returns The configured project key
|
|
1346
|
+
*/
|
|
1347
|
+
async getProjectKey() {
|
|
1348
|
+
return this.projectKey;
|
|
1349
|
+
}
|
|
1350
|
+
/**
|
|
1351
|
+
* Get authentication headers (Bearer token)
|
|
1352
|
+
* Note: No DPoP support for server-side static tokens
|
|
1353
|
+
*
|
|
1354
|
+
* @param token - The access token (ignored, uses configured JWT)
|
|
1355
|
+
* @returns Headers with Bearer authorization
|
|
1356
|
+
*/
|
|
1357
|
+
async getAuthHeaders(token) {
|
|
1358
|
+
const actualToken = token || this.jwt;
|
|
1359
|
+
return actualToken ? { 'Authorization': `Bearer ${actualToken}` } : {};
|
|
1360
|
+
}
|
|
1361
|
+
/**
|
|
1362
|
+
* Handle authentication status changes
|
|
1363
|
+
*
|
|
1364
|
+
* Note: Static JWTs cannot be refreshed automatically.
|
|
1365
|
+
* TOKEN_EXPIRED status indicates manual JWT rotation is needed.
|
|
1366
|
+
*
|
|
1367
|
+
* @param status - The new authentication status
|
|
1368
|
+
*/
|
|
1369
|
+
async onAuthStatusChange(status) {
|
|
1370
|
+
if (status === exports.AuthStatus.TOKEN_EXPIRED) {
|
|
1371
|
+
console.warn('[StaticJwtAuthProvider] JWT token expired. Manual rotation required. ' +
|
|
1372
|
+
'Update the JWT in your environment configuration.');
|
|
1373
|
+
}
|
|
1374
|
+
// Delegate to custom callback if provided
|
|
1375
|
+
if (this.statusChangeCallback) {
|
|
1376
|
+
await this.statusChangeCallback(status);
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1279
1381
|
/**
|
|
1280
1382
|
* PERS SDK Event Emitter
|
|
1281
1383
|
*
|
|
@@ -1550,9 +1652,9 @@ class AuthManager {
|
|
|
1550
1652
|
* console.log('Admin authenticated:', authResult.admin.email);
|
|
1551
1653
|
* ```
|
|
1552
1654
|
*/
|
|
1553
|
-
async loginWithToken(jwtToken, userType =
|
|
1655
|
+
async loginWithToken(jwtToken, userType = persShared.AccountOwnerType.USER) {
|
|
1554
1656
|
const authService = this.apiClient.getAuthService();
|
|
1555
|
-
const result = userType ===
|
|
1657
|
+
const result = userType === persShared.AccountOwnerType.TENANT
|
|
1556
1658
|
? await authService.loginTenantAdmin(jwtToken)
|
|
1557
1659
|
: await authService.loginUser(jwtToken);
|
|
1558
1660
|
this.events?.emitSuccess({
|
|
@@ -1748,6 +1850,39 @@ class AuthManager {
|
|
|
1748
1850
|
const authService = this.apiClient.getAuthService();
|
|
1749
1851
|
await authService.clearTokens();
|
|
1750
1852
|
}
|
|
1853
|
+
/**
|
|
1854
|
+
* Ensure authentication token is valid
|
|
1855
|
+
*
|
|
1856
|
+
* Checks if the current token is expired or about to expire and automatically
|
|
1857
|
+
* refreshes it if needed. This is useful for ensuring valid authentication
|
|
1858
|
+
* before performing critical operations or when app resumes from background.
|
|
1859
|
+
*
|
|
1860
|
+
* Uses a 120-second margin - tokens are refreshed if they expire within 2 minutes.
|
|
1861
|
+
*
|
|
1862
|
+
* @returns Promise that resolves when token is validated/refreshed
|
|
1863
|
+
*
|
|
1864
|
+
* @example App Resume (React Native)
|
|
1865
|
+
* ```typescript
|
|
1866
|
+
* AppState.addEventListener('change', async (state) => {
|
|
1867
|
+
* if (state === 'active') {
|
|
1868
|
+
* // Validate tokens when app returns from background
|
|
1869
|
+
* await sdk.auth.ensureValidToken().catch(console.error);
|
|
1870
|
+
* }
|
|
1871
|
+
* });
|
|
1872
|
+
* ```
|
|
1873
|
+
*
|
|
1874
|
+
* @example Before Critical Operation
|
|
1875
|
+
* ```typescript
|
|
1876
|
+
* async function processPayment() {
|
|
1877
|
+
* // Ensure token is valid before payment
|
|
1878
|
+
* await sdk.auth.ensureValidToken();
|
|
1879
|
+
* const result = await sdk.purchases.createPurchase(paymentData);
|
|
1880
|
+
* }
|
|
1881
|
+
* ```
|
|
1882
|
+
*/
|
|
1883
|
+
async ensureValidToken() {
|
|
1884
|
+
return this.apiClient.ensureValidToken();
|
|
1885
|
+
}
|
|
1751
1886
|
/**
|
|
1752
1887
|
* Check if SDK has valid authentication
|
|
1753
1888
|
*
|
|
@@ -7258,6 +7393,7 @@ exports.RedemptionManager = RedemptionManager;
|
|
|
7258
7393
|
exports.SDK_NAME = SDK_NAME;
|
|
7259
7394
|
exports.SDK_USER_AGENT = SDK_USER_AGENT;
|
|
7260
7395
|
exports.SDK_VERSION = SDK_VERSION;
|
|
7396
|
+
exports.StaticJwtAuthProvider = StaticJwtAuthProvider;
|
|
7261
7397
|
exports.TenantManager = TenantManager;
|
|
7262
7398
|
exports.TokenManager = TokenManager;
|
|
7263
7399
|
exports.TransactionManager = TransactionManager;
|
|
@@ -7271,4 +7407,4 @@ exports.detectEnvironment = detectEnvironment;
|
|
|
7271
7407
|
exports.environment = environment;
|
|
7272
7408
|
exports.mergeWithDefaults = mergeWithDefaults;
|
|
7273
7409
|
exports.warnIfProblematicEnvironment = warnIfProblematicEnvironment;
|
|
7274
|
-
//# sourceMappingURL=pers-sdk-
|
|
7410
|
+
//# sourceMappingURL=pers-sdk-Bm6y6cX4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pers-sdk-Bm6y6cX4.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/version.ts","../../src/core/pers-api-client.ts","../../src/core/auth/indexed-db-storage.ts","../../src/core/environment.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/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,null,null,null],"names":["AccountOwnerType","AuthStatus","isTokenExpired","ErrorUtils","AuthenticationError","PersApiError","UserApi","UserService","createUserStatusSDK","TokenApi","TokenService","BusinessApi","BusinessService","BusinessMembershipApi","BusinessMembershipService","MembershipRole","CampaignApi","CampaignService","RedemptionApi","RedemptionService","TransactionApi","TransactionService","PaymentApi","PaymentService","TenantApi","TenantService","buildPaginationParams","normalizeToPaginated","AnalyticsApi","AnalyticsService","DonationApi","DonationService","Web3ChainApi","Web3ChainService","Web3InfrastructureApi","IPFSInfrastructureApi","Web3ApplicationService","getExplorerUrlByChainId","NativeTokenTypes"],"mappings":"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"}
|
|
@@ -194,7 +194,7 @@ class AuthService {
|
|
|
194
194
|
async loginTenantAdmin(jwt) {
|
|
195
195
|
const response = await this.authApi.loginTenantAdmin(jwt);
|
|
196
196
|
if (this.authProvider && response.accessToken) {
|
|
197
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
197
|
+
await this.storeTokens(response.accessToken, response.refreshToken, AccountOwnerType.TENANT, jwt);
|
|
198
198
|
}
|
|
199
199
|
return response;
|
|
200
200
|
}
|
|
@@ -204,7 +204,7 @@ class AuthService {
|
|
|
204
204
|
async loginUser(jwt) {
|
|
205
205
|
const response = await this.authApi.loginUser(jwt);
|
|
206
206
|
if (this.authProvider && response.accessToken) {
|
|
207
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
207
|
+
await this.storeTokens(response.accessToken, response.refreshToken, AccountOwnerType.USER, jwt);
|
|
208
208
|
}
|
|
209
209
|
return response;
|
|
210
210
|
}
|
|
@@ -235,7 +235,7 @@ class AuthService {
|
|
|
235
235
|
async loginBusiness(jwt, options) {
|
|
236
236
|
const response = await this.authApi.loginBusiness(jwt, options);
|
|
237
237
|
if (this.authProvider && response.accessToken) {
|
|
238
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
238
|
+
await this.storeTokens(response.accessToken, response.refreshToken, AccountOwnerType.BUSINESS, jwt);
|
|
239
239
|
}
|
|
240
240
|
return response;
|
|
241
241
|
}
|
|
@@ -245,7 +245,7 @@ class AuthService {
|
|
|
245
245
|
async loginUserWithRawData(rawLoginData) {
|
|
246
246
|
const response = await this.authApi.loginUnAuthenticated(rawLoginData);
|
|
247
247
|
if (this.authProvider && response.accessToken) {
|
|
248
|
-
await this.storeTokens(response.accessToken, response.refreshToken,
|
|
248
|
+
await this.storeTokens(response.accessToken, response.refreshToken, AccountOwnerType.USER);
|
|
249
249
|
}
|
|
250
250
|
return response;
|
|
251
251
|
}
|
|
@@ -727,7 +727,7 @@ class DPoPManager {
|
|
|
727
727
|
class DefaultAuthProvider {
|
|
728
728
|
constructor(config = {}) {
|
|
729
729
|
this.config = config;
|
|
730
|
-
this.authType = config.authType ||
|
|
730
|
+
this.authType = config.authType || AccountOwnerType.USER;
|
|
731
731
|
const storage = config.storage || this.createStorage();
|
|
732
732
|
this.tokenManager = new AuthTokenManager(storage);
|
|
733
733
|
if (config.dpop?.enabled) {
|
|
@@ -860,7 +860,7 @@ class PersApiClient {
|
|
|
860
860
|
// Auto-create auth provider if none provided
|
|
861
861
|
if (!this.mergedConfig.authProvider) {
|
|
862
862
|
this.mergedConfig.authProvider = new DefaultAuthProvider({
|
|
863
|
-
authType: this.mergedConfig.authType ||
|
|
863
|
+
authType: this.mergedConfig.authType || AccountOwnerType.USER,
|
|
864
864
|
projectKey: this.mergedConfig.apiProjectKey,
|
|
865
865
|
storage: this.mergedConfig.authStorage, // Support custom storage
|
|
866
866
|
dpop: {
|
|
@@ -890,12 +890,20 @@ class PersApiClient {
|
|
|
890
890
|
/**
|
|
891
891
|
* Ensures valid authentication token before making requests
|
|
892
892
|
*
|
|
893
|
-
*
|
|
894
|
-
*
|
|
895
|
-
*
|
|
893
|
+
* Validates the current token and automatically refreshes if expired or near expiration.
|
|
894
|
+
* Uses a 120-second margin - tokens are refreshed if they expire within 2 minutes.
|
|
895
|
+
*
|
|
896
|
+
* This method is called automatically before each request but can also be called
|
|
897
|
+
* manually when needed (e.g., app resume from background).
|
|
896
898
|
*
|
|
897
|
-
* @private
|
|
898
899
|
* @returns Promise that resolves when token validation is complete
|
|
900
|
+
* @throws Error if token refresh fails
|
|
901
|
+
*
|
|
902
|
+
* @example
|
|
903
|
+
* ```typescript
|
|
904
|
+
* // Validate tokens when app becomes active
|
|
905
|
+
* await apiClient.ensureValidToken();
|
|
906
|
+
* ```
|
|
899
907
|
*/
|
|
900
908
|
async ensureValidToken() {
|
|
901
909
|
if (!this.mergedConfig.authProvider) {
|
|
@@ -1274,6 +1282,100 @@ function warnIfProblematicEnvironment(feature) {
|
|
|
1274
1282
|
}
|
|
1275
1283
|
}
|
|
1276
1284
|
|
|
1285
|
+
/**
|
|
1286
|
+
* Static JWT Authentication Provider
|
|
1287
|
+
* For server-side integrations with long-lived JWT tokens
|
|
1288
|
+
*
|
|
1289
|
+
* Use this provider when:
|
|
1290
|
+
* - Running in server environments (Node.js, serverless functions)
|
|
1291
|
+
* - Using static/long-lived JWT tokens (not OAuth flow)
|
|
1292
|
+
* - No token refresh mechanism needed
|
|
1293
|
+
* - JWT rotation handled externally (e.g., environment variables)
|
|
1294
|
+
*
|
|
1295
|
+
* @example Server-side usage
|
|
1296
|
+
* ```typescript
|
|
1297
|
+
* const sdk = new PersSdk(httpClient, {
|
|
1298
|
+
* environment: 'production',
|
|
1299
|
+
* apiProjectKey: 'your-project',
|
|
1300
|
+
* authProvider: new StaticJwtAuthProvider(
|
|
1301
|
+
* process.env.PERS_JWT_TOKEN!,
|
|
1302
|
+
* 'your-project',
|
|
1303
|
+
* 'business' // or 'admin'
|
|
1304
|
+
* )
|
|
1305
|
+
* });
|
|
1306
|
+
* ```
|
|
1307
|
+
*/
|
|
1308
|
+
/**
|
|
1309
|
+
* Simple authentication provider for static JWT tokens
|
|
1310
|
+
* No token storage, refresh, or DPoP - designed for server-side use
|
|
1311
|
+
*/
|
|
1312
|
+
class StaticJwtAuthProvider {
|
|
1313
|
+
constructor(configOrJwt, projectKey, authType) {
|
|
1314
|
+
if (typeof configOrJwt === 'string') {
|
|
1315
|
+
// Legacy constructor: (jwt, projectKey, authType)
|
|
1316
|
+
this.jwt = configOrJwt;
|
|
1317
|
+
this.projectKey = projectKey;
|
|
1318
|
+
this.authType = authType || AccountOwnerType.BUSINESS;
|
|
1319
|
+
}
|
|
1320
|
+
else {
|
|
1321
|
+
// New constructor: (config)
|
|
1322
|
+
this.jwt = configOrJwt.jwt;
|
|
1323
|
+
this.projectKey = configOrJwt.projectKey;
|
|
1324
|
+
this.authType = configOrJwt.authType || AccountOwnerType.BUSINESS;
|
|
1325
|
+
this.statusChangeCallback = configOrJwt.onAuthStatusChange;
|
|
1326
|
+
}
|
|
1327
|
+
if (!this.jwt) {
|
|
1328
|
+
throw new Error('StaticJwtAuthProvider: JWT token is required');
|
|
1329
|
+
}
|
|
1330
|
+
if (!this.projectKey) {
|
|
1331
|
+
throw new Error('StaticJwtAuthProvider: Project key is required');
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
/**
|
|
1335
|
+
* Get the static JWT token
|
|
1336
|
+
* @returns The configured JWT token
|
|
1337
|
+
*/
|
|
1338
|
+
async getToken() {
|
|
1339
|
+
return this.jwt;
|
|
1340
|
+
}
|
|
1341
|
+
/**
|
|
1342
|
+
* Get project key for API requests
|
|
1343
|
+
* @returns The configured project key
|
|
1344
|
+
*/
|
|
1345
|
+
async getProjectKey() {
|
|
1346
|
+
return this.projectKey;
|
|
1347
|
+
}
|
|
1348
|
+
/**
|
|
1349
|
+
* Get authentication headers (Bearer token)
|
|
1350
|
+
* Note: No DPoP support for server-side static tokens
|
|
1351
|
+
*
|
|
1352
|
+
* @param token - The access token (ignored, uses configured JWT)
|
|
1353
|
+
* @returns Headers with Bearer authorization
|
|
1354
|
+
*/
|
|
1355
|
+
async getAuthHeaders(token) {
|
|
1356
|
+
const actualToken = token || this.jwt;
|
|
1357
|
+
return actualToken ? { 'Authorization': `Bearer ${actualToken}` } : {};
|
|
1358
|
+
}
|
|
1359
|
+
/**
|
|
1360
|
+
* Handle authentication status changes
|
|
1361
|
+
*
|
|
1362
|
+
* Note: Static JWTs cannot be refreshed automatically.
|
|
1363
|
+
* TOKEN_EXPIRED status indicates manual JWT rotation is needed.
|
|
1364
|
+
*
|
|
1365
|
+
* @param status - The new authentication status
|
|
1366
|
+
*/
|
|
1367
|
+
async onAuthStatusChange(status) {
|
|
1368
|
+
if (status === AuthStatus.TOKEN_EXPIRED) {
|
|
1369
|
+
console.warn('[StaticJwtAuthProvider] JWT token expired. Manual rotation required. ' +
|
|
1370
|
+
'Update the JWT in your environment configuration.');
|
|
1371
|
+
}
|
|
1372
|
+
// Delegate to custom callback if provided
|
|
1373
|
+
if (this.statusChangeCallback) {
|
|
1374
|
+
await this.statusChangeCallback(status);
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1277
1379
|
/**
|
|
1278
1380
|
* PERS SDK Event Emitter
|
|
1279
1381
|
*
|
|
@@ -1548,9 +1650,9 @@ class AuthManager {
|
|
|
1548
1650
|
* console.log('Admin authenticated:', authResult.admin.email);
|
|
1549
1651
|
* ```
|
|
1550
1652
|
*/
|
|
1551
|
-
async loginWithToken(jwtToken, userType =
|
|
1653
|
+
async loginWithToken(jwtToken, userType = AccountOwnerType.USER) {
|
|
1552
1654
|
const authService = this.apiClient.getAuthService();
|
|
1553
|
-
const result = userType ===
|
|
1655
|
+
const result = userType === AccountOwnerType.TENANT
|
|
1554
1656
|
? await authService.loginTenantAdmin(jwtToken)
|
|
1555
1657
|
: await authService.loginUser(jwtToken);
|
|
1556
1658
|
this.events?.emitSuccess({
|
|
@@ -1746,6 +1848,39 @@ class AuthManager {
|
|
|
1746
1848
|
const authService = this.apiClient.getAuthService();
|
|
1747
1849
|
await authService.clearTokens();
|
|
1748
1850
|
}
|
|
1851
|
+
/**
|
|
1852
|
+
* Ensure authentication token is valid
|
|
1853
|
+
*
|
|
1854
|
+
* Checks if the current token is expired or about to expire and automatically
|
|
1855
|
+
* refreshes it if needed. This is useful for ensuring valid authentication
|
|
1856
|
+
* before performing critical operations or when app resumes from background.
|
|
1857
|
+
*
|
|
1858
|
+
* Uses a 120-second margin - tokens are refreshed if they expire within 2 minutes.
|
|
1859
|
+
*
|
|
1860
|
+
* @returns Promise that resolves when token is validated/refreshed
|
|
1861
|
+
*
|
|
1862
|
+
* @example App Resume (React Native)
|
|
1863
|
+
* ```typescript
|
|
1864
|
+
* AppState.addEventListener('change', async (state) => {
|
|
1865
|
+
* if (state === 'active') {
|
|
1866
|
+
* // Validate tokens when app returns from background
|
|
1867
|
+
* await sdk.auth.ensureValidToken().catch(console.error);
|
|
1868
|
+
* }
|
|
1869
|
+
* });
|
|
1870
|
+
* ```
|
|
1871
|
+
*
|
|
1872
|
+
* @example Before Critical Operation
|
|
1873
|
+
* ```typescript
|
|
1874
|
+
* async function processPayment() {
|
|
1875
|
+
* // Ensure token is valid before payment
|
|
1876
|
+
* await sdk.auth.ensureValidToken();
|
|
1877
|
+
* const result = await sdk.purchases.createPurchase(paymentData);
|
|
1878
|
+
* }
|
|
1879
|
+
* ```
|
|
1880
|
+
*/
|
|
1881
|
+
async ensureValidToken() {
|
|
1882
|
+
return this.apiClient.ensureValidToken();
|
|
1883
|
+
}
|
|
1749
1884
|
/**
|
|
1750
1885
|
* Check if SDK has valid authentication
|
|
1751
1886
|
*
|
|
@@ -7227,5 +7362,5 @@ function createPersSDK(httpClient, config) {
|
|
|
7227
7362
|
return new PersSDK(httpClient, config);
|
|
7228
7363
|
}
|
|
7229
7364
|
|
|
7230
|
-
export { AuthStatus as A, BusinessManager as B, CampaignManager as C, DefaultAuthProvider as D,
|
|
7231
|
-
//# sourceMappingURL=pers-sdk-
|
|
7365
|
+
export { AuthStatus as A, BusinessManager as B, CampaignManager as C, DefaultAuthProvider as D, Web3Manager as E, FileManager as F, FileApi as G, FileService as H, IndexedDBTokenStorage as I, ApiKeyApi as J, 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, detectEnvironment as j, environment as k, StaticJwtAuthProvider as l, mergeWithDefaults as m, AuthApi as n, AuthService as o, DPoPManager as p, PersEventEmitter as q, AuthManager as r, UserStatusManager as s, TransactionManager as t, PurchaseManager as u, TenantManager as v, warnIfProblematicEnvironment as w, ApiKeyManager as x, AnalyticsManager as y, DonationManager as z };
|
|
7366
|
+
//# sourceMappingURL=pers-sdk-DLTY5heK.js.map
|