win-portal-auth-sdk 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -7
- package/dist/client/auth-client.d.ts +97 -2
- package/dist/client/auth-client.d.ts.map +1 -1
- package/dist/client/auth-client.js +276 -30
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- package/dist/nestjs/decorators/current-token.decorator.d.ts +29 -0
- package/dist/nestjs/decorators/current-token.decorator.d.ts.map +1 -0
- package/dist/nestjs/decorators/current-token.decorator.js +36 -0
- package/dist/nestjs/decorators/current-user.decorator.d.ts +26 -0
- package/dist/nestjs/decorators/current-user.decorator.d.ts.map +1 -0
- package/dist/nestjs/decorators/current-user.decorator.js +33 -0
- package/dist/nestjs/decorators/index.d.ts +9 -0
- package/dist/nestjs/decorators/index.d.ts.map +1 -0
- package/dist/nestjs/decorators/index.js +15 -0
- package/dist/nestjs/decorators/public.decorator.d.ts +31 -0
- package/dist/nestjs/decorators/public.decorator.d.ts.map +1 -0
- package/dist/nestjs/decorators/public.decorator.js +36 -0
- package/dist/nestjs/guards/index.d.ts +7 -0
- package/dist/nestjs/guards/index.d.ts.map +1 -0
- package/dist/nestjs/guards/index.js +11 -0
- package/dist/nestjs/guards/oauth-auth.guard.d.ts +139 -0
- package/dist/nestjs/guards/oauth-auth.guard.d.ts.map +1 -0
- package/dist/nestjs/guards/oauth-auth.guard.js +257 -0
- package/dist/nestjs/index.d.ts +28 -0
- package/dist/nestjs/index.d.ts.map +1 -0
- package/dist/nestjs/index.js +47 -0
- package/dist/nestjs/middleware/index.d.ts +7 -0
- package/dist/nestjs/middleware/index.d.ts.map +1 -0
- package/dist/nestjs/middleware/index.js +11 -0
- package/dist/nestjs/middleware/request-context.middleware.d.ts +62 -0
- package/dist/nestjs/middleware/request-context.middleware.d.ts.map +1 -0
- package/dist/nestjs/middleware/request-context.middleware.js +122 -0
- package/dist/nestjs/types/request-context.types.d.ts +69 -0
- package/dist/nestjs/types/request-context.types.d.ts.map +1 -0
- package/dist/nestjs/types/request-context.types.js +33 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +23 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +49 -0
- package/package.json +41 -3
package/README.md
CHANGED
|
@@ -305,9 +305,27 @@ const client = new AuthClient({
|
|
|
305
305
|
baseURL?: string; // Optional: Base URL for requests
|
|
306
306
|
apiKeyHeader?: string; // Optional: Custom header name (default: 'X-API-Key')
|
|
307
307
|
timeout?: number; // Optional: Request timeout (default: 30000ms)
|
|
308
|
+
advanced?: { // Optional: Advanced configuration
|
|
309
|
+
activityThrottleMs?: number; // Activity handler throttle (default: 1000ms)
|
|
310
|
+
refreshTimeoutMs?: number; // Refresh token timeout (default: 5000ms)
|
|
311
|
+
}
|
|
308
312
|
})
|
|
309
313
|
```
|
|
310
314
|
|
|
315
|
+
**Advanced Configuration:**
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
// ปรับแต่ง performance และ timeout settings
|
|
319
|
+
const client = new AuthClient({
|
|
320
|
+
apiKey: 'your-api-key',
|
|
321
|
+
baseURL: 'https://api.example.com',
|
|
322
|
+
advanced: {
|
|
323
|
+
activityThrottleMs: 500, // ลด throttle time สำหรับ responsive มากขึ้น (แต่ใช้ CPU มากขึ้น)
|
|
324
|
+
refreshTimeoutMs: 10000, // เพิ่ม timeout สำหรับ slow network
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
```
|
|
328
|
+
|
|
311
329
|
#### HTTP Methods
|
|
312
330
|
|
|
313
331
|
- `get<T>(url, config?)` - GET request
|
|
@@ -369,6 +387,62 @@ const client = new AuthClient({
|
|
|
369
387
|
- `getApiKeyMasked()` - Get masked API key for display
|
|
370
388
|
- `getAxiosInstance()` - Get underlying axios instance
|
|
371
389
|
|
|
390
|
+
#### Session Management
|
|
391
|
+
|
|
392
|
+
**Inactivity Detection:**
|
|
393
|
+
|
|
394
|
+
- `enableInactivityDetection(options)` - Enable inactivity detection ที่จับ user activity (mouse/keyboard/touch/scroll)
|
|
395
|
+
- จับ user activity และ trigger callback เมื่อ inactivity timeout
|
|
396
|
+
- ใช้ timeout และ warning time จาก session management config เป็น default
|
|
397
|
+
- Support SSR (Next.js) โดยไม่ error
|
|
398
|
+
|
|
399
|
+
```typescript
|
|
400
|
+
// Enable inactivity detection
|
|
401
|
+
await authClient.enableInactivityDetection({
|
|
402
|
+
callbacks: {
|
|
403
|
+
onInactivityWarning: (remainingSeconds) => {
|
|
404
|
+
console.log(`Inactivity warning: ${remainingSeconds} seconds remaining`);
|
|
405
|
+
// แสดง notification หรือ dialog
|
|
406
|
+
alert(`Session will expire in ${remainingSeconds} seconds due to inactivity`);
|
|
407
|
+
},
|
|
408
|
+
onInactivityTimeout: () => {
|
|
409
|
+
console.log('Inactivity timeout');
|
|
410
|
+
// Redirect to login หรือ logout
|
|
411
|
+
authClient.clearToken();
|
|
412
|
+
window.location.href = '/login';
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
timeoutSeconds: 1800, // 30 minutes (optional, default: จาก session management config)
|
|
416
|
+
warningSeconds: 300, // 5 minutes warning (optional, default: จาก session management config)
|
|
417
|
+
events: ['mousemove', 'keydown', 'touchstart', 'scroll'] // (optional, default: ทั้งหมด)
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
// Disable inactivity detection
|
|
421
|
+
authClient.disableInactivityDetection();
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
**Session Expiration Monitoring:**
|
|
425
|
+
|
|
426
|
+
- `enableSessionExpirationMonitoring(options)` - Enable session expiration monitoring
|
|
427
|
+
- ตรวจสอบ session expiration ตาม config จาก settings/sessions
|
|
428
|
+
- เรียก callback เมื่อใกล้หมดอายุ
|
|
429
|
+
|
|
430
|
+
```typescript
|
|
431
|
+
await authClient.enableSessionExpirationMonitoring({
|
|
432
|
+
callbacks: {
|
|
433
|
+
onSessionExpiring: (remainingMinutes, expirationType) => {
|
|
434
|
+
console.log(`Session will expire in ${remainingMinutes} minutes (${expirationType})`);
|
|
435
|
+
// แสดง notification หรือ dialog
|
|
436
|
+
},
|
|
437
|
+
onSessionExpired: () => {
|
|
438
|
+
console.log('Session expired');
|
|
439
|
+
// Redirect to login
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
checkIntervalSeconds: 30 // ตรวจสอบทุก 30 วินาที
|
|
443
|
+
});
|
|
444
|
+
```
|
|
445
|
+
|
|
372
446
|
## Authentication Types
|
|
373
447
|
|
|
374
448
|
The SDK supports three authentication types through the `X-Auth-Type` header:
|
|
@@ -480,15 +554,14 @@ try {
|
|
|
480
554
|
|
|
481
555
|
📚 **[Complete Documentation →](./docs/README.md)**
|
|
482
556
|
|
|
483
|
-
- [
|
|
484
|
-
- [Frontend Examples](./docs/guides/frontend-examples.md) - Next.js, React usage
|
|
485
|
-
- [Middleware Guide](./docs/middleware/usage.md) - Express & NestJS
|
|
486
|
-
- [Type Safety Guide](./docs/middleware/type-safety.md) - Express type augmentation 🆕
|
|
487
|
-
- [Type Names Guide](./docs/guides/type-names.md) - SDK-friendly type names 🆕
|
|
488
|
-
- [Next.js Guide](./docs/guides/nextjs.md) - คู่มือ Next.js ภาษาไทย
|
|
557
|
+
- [Next.js Guide](./docs/guides/nextjs.md) - คู่มือ Next.js ภาษาไทย (ครบถ้วน) ⭐
|
|
489
558
|
- [OAuth Next.js Guide](./docs/guides/oauth-nextjs.md) - คู่มือ OAuth กับ Next.js
|
|
490
559
|
- [NestJS Guide](./docs/guides/nestjs.md) - คู่มือ NestJS
|
|
491
|
-
- [
|
|
560
|
+
- [Middleware Guide](./docs/middleware/usage.md) - Express & NestJS (English & ไทย)
|
|
561
|
+
- [Middleware Examples](./docs/middleware/examples.md) - Complete backend examples
|
|
562
|
+
- [Type Safety Guide](./docs/middleware/type-safety.md) - Express type augmentation
|
|
563
|
+
- [API Functions Reference](./docs/api/functions.md) - สรุปฟังก์ชันทั้งหมดที่ SDK รองรับ
|
|
564
|
+
- [Type Names Guide](./docs/guides/type-names.md) - SDK-friendly type names
|
|
492
565
|
- [Publishing Guide](./docs/development/publish.md) - How to publish updates
|
|
493
566
|
|
|
494
567
|
## License
|
|
@@ -65,6 +65,35 @@ export interface AutomaticRefreshOptions {
|
|
|
65
65
|
*/
|
|
66
66
|
onRefreshFailure?: () => void | Promise<void>;
|
|
67
67
|
}
|
|
68
|
+
export interface InactivityCallbacks {
|
|
69
|
+
/**
|
|
70
|
+
* Callback เมื่อ inactivity ใกล้หมดเวลา (ตาม warningSeconds)
|
|
71
|
+
* @param remainingSeconds - จำนวนวินาทีที่เหลือก่อน inactivity timeout
|
|
72
|
+
*/
|
|
73
|
+
onInactivityWarning?: (remainingSeconds: number) => void | Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Callback เมื่อ inactivity timeout แล้ว
|
|
76
|
+
*/
|
|
77
|
+
onInactivityTimeout?: () => void | Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
export interface InactivityDetectionOptions {
|
|
80
|
+
/**
|
|
81
|
+
* Callbacks สำหรับ inactivity events
|
|
82
|
+
*/
|
|
83
|
+
callbacks: InactivityCallbacks;
|
|
84
|
+
/**
|
|
85
|
+
* Optional: ระยะเวลา inactivity timeout เป็นวินาที (default: ใช้จาก session management config)
|
|
86
|
+
*/
|
|
87
|
+
timeoutSeconds?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Optional: ระยะเวลา warning ก่อน timeout เป็นวินาที (default: ใช้จาก session management config)
|
|
90
|
+
*/
|
|
91
|
+
warningSeconds?: number;
|
|
92
|
+
/**
|
|
93
|
+
* Optional: Events ที่ต้องการจับ (default: ทั้งหมด ['mousemove', 'keydown', 'touchstart', 'scroll'])
|
|
94
|
+
*/
|
|
95
|
+
events?: ('mousemove' | 'keydown' | 'touchstart' | 'scroll')[];
|
|
96
|
+
}
|
|
68
97
|
export declare class AuthClient {
|
|
69
98
|
private client;
|
|
70
99
|
private apiKey;
|
|
@@ -77,14 +106,24 @@ export declare class AuthClient {
|
|
|
77
106
|
private automaticRefreshEnabled;
|
|
78
107
|
private lastRefreshAttempt;
|
|
79
108
|
private refreshPromise;
|
|
80
|
-
private readonly REFRESH_COOLDOWN_MS;
|
|
81
109
|
private sessionExpirationCallbacks;
|
|
82
110
|
private sessionManagementConfig;
|
|
83
111
|
private sessionManagementConfigPromise;
|
|
84
112
|
private sessionExpirationCheckInterval;
|
|
85
113
|
private sessionExpirationCheckIntervalSeconds;
|
|
86
114
|
private lastWarningTime;
|
|
87
|
-
private
|
|
115
|
+
private inactivityCallbacks;
|
|
116
|
+
private inactivityTimeout;
|
|
117
|
+
private inactivityWarningTimeout;
|
|
118
|
+
private lastActivityTime;
|
|
119
|
+
private inactivityDetectionEnabled;
|
|
120
|
+
private inactivityTimeoutSeconds;
|
|
121
|
+
private inactivityWarningSeconds;
|
|
122
|
+
private activityEvents;
|
|
123
|
+
private activityHandler;
|
|
124
|
+
private activityThrottleTimeout;
|
|
125
|
+
private activityThrottleMs;
|
|
126
|
+
private refreshTimeoutMs;
|
|
88
127
|
readonly auth: AuthAPI;
|
|
89
128
|
readonly health: HealthAPI;
|
|
90
129
|
readonly systemConfig: SystemConfigAPI;
|
|
@@ -286,5 +325,61 @@ export declare class AuthClient {
|
|
|
286
325
|
* Reload session management config (for when config changes)
|
|
287
326
|
*/
|
|
288
327
|
reloadSessionManagementConfig(): Promise<void>;
|
|
328
|
+
/**
|
|
329
|
+
* Enable inactivity detection
|
|
330
|
+
* จับ user activity (mouse/keyboard/touch/scroll) และ trigger callback เมื่อ inactivity timeout
|
|
331
|
+
*
|
|
332
|
+
* @param options - Options for inactivity detection
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* await authClient.enableInactivityDetection({
|
|
337
|
+
* callbacks: {
|
|
338
|
+
* onInactivityWarning: (remainingSeconds) => {
|
|
339
|
+
* console.log(`Inactivity warning: ${remainingSeconds} seconds remaining`);
|
|
340
|
+
* // แสดง notification หรือ dialog
|
|
341
|
+
* },
|
|
342
|
+
* onInactivityTimeout: () => {
|
|
343
|
+
* console.log('Inactivity timeout');
|
|
344
|
+
* // Redirect to login หรือ logout
|
|
345
|
+
* authClient.clearToken();
|
|
346
|
+
* window.location.href = '/login';
|
|
347
|
+
* }
|
|
348
|
+
* },
|
|
349
|
+
* timeoutSeconds: 1800, // 30 minutes (optional, default: จาก session management config)
|
|
350
|
+
* warningSeconds: 300, // 5 minutes warning (optional, default: จาก session management config)
|
|
351
|
+
* events: ['mousemove', 'keydown', 'touchstart', 'scroll'] // (optional, default: ทั้งหมด)
|
|
352
|
+
* });
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
355
|
+
enableInactivityDetection(options: InactivityDetectionOptions): Promise<void>;
|
|
356
|
+
/**
|
|
357
|
+
* Disable inactivity detection
|
|
358
|
+
*/
|
|
359
|
+
disableInactivityDetection(): void;
|
|
360
|
+
/**
|
|
361
|
+
* Handle user activity - reset inactivity timer with throttle
|
|
362
|
+
*/
|
|
363
|
+
private handleUserActivity;
|
|
364
|
+
/**
|
|
365
|
+
* Setup activity event listeners
|
|
366
|
+
*/
|
|
367
|
+
private setupActivityListeners;
|
|
368
|
+
/**
|
|
369
|
+
* Remove activity event listeners
|
|
370
|
+
*/
|
|
371
|
+
private removeActivityListeners;
|
|
372
|
+
/**
|
|
373
|
+
* Clear inactivity timeouts (helper method)
|
|
374
|
+
*/
|
|
375
|
+
private clearInactivityTimeouts;
|
|
376
|
+
/**
|
|
377
|
+
* Reset inactivity timer
|
|
378
|
+
*/
|
|
379
|
+
private resetInactivityTimer;
|
|
380
|
+
/**
|
|
381
|
+
* Check inactivity timeout and trigger callbacks if needed
|
|
382
|
+
*/
|
|
383
|
+
private checkInactivityTimeout;
|
|
289
384
|
}
|
|
290
385
|
//# sourceMappingURL=auth-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../src/client/auth-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AAC5G,OAAO,EAAE,aAAa,EAA8C,MAAM,UAAU,CAAC;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../src/client/auth-client.ts"],"names":[],"mappings":"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"}
|