@oxyhq/services 5.2.8 → 5.2.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,9 @@ export interface OxyContextState {
17
17
  switchSession: (sessionId: string) => Promise<void>;
18
18
  removeSession: (sessionId: string) => Promise<void>;
19
19
  refreshSessions: () => Promise<void>;
20
+ getDeviceSessions: () => Promise<any[]>;
21
+ logoutAllDeviceSessions: () => Promise<void>;
22
+ updateDeviceName: (deviceName: string) => Promise<void>;
20
23
  oxyServices: OxyServices;
21
24
  bottomSheetRef?: React.RefObject<any>;
22
25
  showBottomSheet?: (screenOrConfig?: string | {
@@ -1 +1 @@
1
- {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+D,SAAS,EAAW,MAAM,OAAO,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAuB,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGvG,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7E,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGtC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAGD,QAAA,MAAM,UAAU,uCAA8C,CAAC;AAG/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AA6DD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgYhE,CAAC;AAGF,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+D,SAAS,EAAW,MAAM,OAAO,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAuB,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIvG,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7E,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrC,iBAAiB,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGtC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAGD,QAAA,MAAM,UAAU,uCAA8C,CAAC;AAG/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AA6DD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAichE,CAAC;AAGF,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,66 @@
1
+ export interface DeviceFingerprint {
2
+ userAgent: string;
3
+ platform: string;
4
+ language?: string;
5
+ timezone?: string;
6
+ screen?: {
7
+ width: number;
8
+ height: number;
9
+ colorDepth: number;
10
+ };
11
+ }
12
+ export interface StoredDeviceInfo {
13
+ deviceId: string;
14
+ deviceName?: string;
15
+ fingerprint?: string;
16
+ createdAt: string;
17
+ lastUsed: string;
18
+ }
19
+ /**
20
+ * Client-side device management utility
21
+ * Handles persistent device identification across app sessions
22
+ */
23
+ export declare class DeviceManager {
24
+ private static DEVICE_KEY;
25
+ /**
26
+ * Check if we're in React Native environment
27
+ */
28
+ private static isReactNative;
29
+ /**
30
+ * Get appropriate storage for the platform
31
+ */
32
+ private static getStorage;
33
+ /**
34
+ * Get or create device fingerprint for current device
35
+ */
36
+ static getDeviceFingerprint(): DeviceFingerprint;
37
+ /**
38
+ * Get stored device info or create new one
39
+ */
40
+ static getDeviceInfo(): Promise<StoredDeviceInfo>;
41
+ /**
42
+ * Create new device info and store it
43
+ */
44
+ static createNewDeviceInfo(): Promise<StoredDeviceInfo>;
45
+ /**
46
+ * Save device info to storage
47
+ */
48
+ static saveDeviceInfo(deviceInfo: StoredDeviceInfo): Promise<void>;
49
+ /**
50
+ * Update device name
51
+ */
52
+ static updateDeviceName(deviceName: string): Promise<void>;
53
+ /**
54
+ * Clear stored device info (useful for testing or reset)
55
+ */
56
+ static clearDeviceInfo(): Promise<void>;
57
+ /**
58
+ * Generate a unique device ID
59
+ */
60
+ private static generateDeviceId;
61
+ /**
62
+ * Get a user-friendly device name based on platform
63
+ */
64
+ static getDefaultDeviceName(): string;
65
+ }
66
+ //# sourceMappingURL=deviceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceManager.d.ts","sourceRoot":"","sources":["../../../src/utils/deviceManager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqB;IAE9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B;;OAEG;mBACkB,UAAU;IAoB/B;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,iBAAiB;IAoBhD;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuBvD;;OAEG;WACU,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAY7D;;OAEG;WACU,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE;;OAEG;WACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE;;OAEG;WACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,MAAM;CAatC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.2.8",
3
+ "version": "5.2.10",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system and more 🚀",
5
5
  "main": "lib/commonjs/node/index.js",
6
6
  "module": "lib/module/node/index.js",
package/src/core/index.ts CHANGED
@@ -1030,15 +1030,22 @@ export class OxyServices {
1030
1030
  * @param username - User's username or email
1031
1031
  * @param password - User's password
1032
1032
  * @param deviceName - Optional device name for session tracking
1033
+ * @param deviceFingerprint - Device fingerprint for enhanced security
1033
1034
  * @returns Secure login response with session data
1034
1035
  */
1035
- async secureLogin(username: string, password: string, deviceName?: string): Promise<SecureLoginResponse> {
1036
+ async secureLogin(username: string, password: string, deviceName?: string, deviceFingerprint?: any): Promise<SecureLoginResponse> {
1036
1037
  try {
1037
- const res = await this.client.post('/secure-session/login', {
1038
+ const payload: any = {
1038
1039
  username,
1039
1040
  password,
1040
1041
  deviceName
1041
- });
1042
+ };
1043
+
1044
+ if (deviceFingerprint) {
1045
+ payload.deviceFingerprint = deviceFingerprint;
1046
+ }
1047
+
1048
+ const res = await this.client.post('/secure-session/login', payload);
1042
1049
  return res.data;
1043
1050
  } catch (error) {
1044
1051
  throw this.handleError(error);
@@ -1139,6 +1146,58 @@ export class OxyServices {
1139
1146
  }
1140
1147
  }
1141
1148
 
1149
+ /**
1150
+ * Get all active sessions for a specific device
1151
+ * @param sessionId - Current session ID
1152
+ * @param deviceId - Optional device ID (uses current session's device if not provided)
1153
+ * @returns Array of device sessions
1154
+ */
1155
+ async getDeviceSessions(sessionId: string, deviceId?: string): Promise<any[]> {
1156
+ try {
1157
+ const params = deviceId ? `?deviceId=${deviceId}` : '';
1158
+ const res = await this.client.get(`/secure-session/device/sessions/${sessionId}${params}`);
1159
+ return res.data.sessions;
1160
+ } catch (error) {
1161
+ throw this.handleError(error);
1162
+ }
1163
+ }
1164
+
1165
+ /**
1166
+ * Logout all sessions on a specific device
1167
+ * @param sessionId - Current session ID
1168
+ * @param deviceId - Optional device ID (uses current session's device if not provided)
1169
+ * @param excludeCurrent - Whether to exclude the current session from logout
1170
+ * @returns Success status
1171
+ */
1172
+ async logoutAllDeviceSessions(sessionId: string, deviceId?: string, excludeCurrent: boolean = true): Promise<{ message: string; sessionsTerminated: number }> {
1173
+ try {
1174
+ const res = await this.client.post(`/secure-session/device/logout-all/${sessionId}`, {
1175
+ deviceId,
1176
+ excludeCurrent
1177
+ });
1178
+ return res.data;
1179
+ } catch (error) {
1180
+ throw this.handleError(error);
1181
+ }
1182
+ }
1183
+
1184
+ /**
1185
+ * Update device name for all sessions on a device
1186
+ * @param sessionId - Current session ID
1187
+ * @param deviceName - New device name
1188
+ * @returns Success status
1189
+ */
1190
+ async updateDeviceName(sessionId: string, deviceName: string): Promise<{ message: string; deviceName: string }> {
1191
+ try {
1192
+ const res = await this.client.put(`/secure-session/device/name/${sessionId}`, {
1193
+ deviceName
1194
+ });
1195
+ return res.data;
1196
+ } catch (error) {
1197
+ throw this.handleError(error);
1198
+ }
1199
+ }
1200
+
1142
1201
  /**
1143
1202
  * Utility method to help implement authentication middleware in Express.js applications
1144
1203
  * This creates a function that can be used as Express middleware to validate tokens
@@ -2,6 +2,7 @@ import React, { createContext, useContext, useState, useEffect, useCallback, Rea
2
2
  import { OxyServices } from '../../core';
3
3
  import { User } from '../../models/interfaces';
4
4
  import { SecureLoginResponse, SecureClientSession, MinimalUserData } from '../../models/secureSession';
5
+ import { DeviceManager } from '../../utils/deviceManager';
5
6
 
6
7
  // Define the context shape
7
8
  export interface OxyContextState {
@@ -25,6 +26,11 @@ export interface OxyContextState {
25
26
  removeSession: (sessionId: string) => Promise<void>;
26
27
  refreshSessions: () => Promise<void>;
27
28
 
29
+ // Device management methods
30
+ getDeviceSessions: () => Promise<any[]>;
31
+ logoutAllDeviceSessions: () => Promise<void>;
32
+ updateDeviceName: (deviceName: string) => Promise<void>;
33
+
28
34
  // Access to services
29
35
  oxyServices: OxyServices;
30
36
  bottomSheetRef?: React.RefObject<any>;
@@ -295,7 +301,21 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
295
301
  setError(null);
296
302
 
297
303
  try {
298
- const response: SecureLoginResponse = await oxyServices.secureLogin(username, password, deviceName);
304
+ // Get device fingerprint for enhanced device identification
305
+ const deviceFingerprint = DeviceManager.getDeviceFingerprint();
306
+
307
+ // Get or generate persistent device info
308
+ const deviceInfo = await DeviceManager.getDeviceInfo();
309
+
310
+ console.log('SecureAuth - Using device fingerprint:', deviceFingerprint);
311
+ console.log('SecureAuth - Using device ID:', deviceInfo.deviceId);
312
+
313
+ const response: SecureLoginResponse = await oxyServices.secureLogin(
314
+ username,
315
+ password,
316
+ deviceName || deviceInfo.deviceName || DeviceManager.getDefaultDeviceName(),
317
+ deviceFingerprint
318
+ );
299
319
 
300
320
  // Create client session object
301
321
  const clientSession: SecureClientSession = {
@@ -432,6 +452,54 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
432
452
  }
433
453
  };
434
454
 
455
+ // Device management methods
456
+ const getDeviceSessions = async (): Promise<any[]> => {
457
+ if (!activeSessionId) throw new Error('No active session');
458
+
459
+ try {
460
+ return await oxyServices.getDeviceSessions(activeSessionId);
461
+ } catch (error) {
462
+ console.error('Get device sessions error:', error);
463
+ throw error;
464
+ }
465
+ };
466
+
467
+ const logoutAllDeviceSessions = async (): Promise<void> => {
468
+ if (!activeSessionId) throw new Error('No active session');
469
+
470
+ try {
471
+ await oxyServices.logoutAllDeviceSessions(activeSessionId);
472
+
473
+ // Clear all local sessions since we logged out from all devices
474
+ setSessions([]);
475
+ setActiveSessionId(null);
476
+ setUser(null);
477
+ setMinimalUser(null);
478
+ await clearAllStorage();
479
+
480
+ if (onAuthStateChange) {
481
+ onAuthStateChange(null);
482
+ }
483
+ } catch (error) {
484
+ console.error('Logout all device sessions error:', error);
485
+ throw error;
486
+ }
487
+ };
488
+
489
+ const updateDeviceName = async (deviceName: string): Promise<void> => {
490
+ if (!activeSessionId) throw new Error('No active session');
491
+
492
+ try {
493
+ await oxyServices.updateDeviceName(activeSessionId, deviceName);
494
+
495
+ // Update local device info
496
+ await DeviceManager.updateDeviceName(deviceName);
497
+ } catch (error) {
498
+ console.error('Update device name error:', error);
499
+ throw error;
500
+ }
501
+ };
502
+
435
503
  // Bottom sheet control methods
436
504
  const showBottomSheet = useCallback((screenOrConfig?: string | { screen: string; props?: Record<string, any> }) => {
437
505
  if (bottomSheetRef?.current) {
@@ -478,6 +546,9 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
478
546
  switchSession,
479
547
  removeSession,
480
548
  refreshSessions,
549
+ getDeviceSessions,
550
+ logoutAllDeviceSessions,
551
+ updateDeviceName,
481
552
  oxyServices,
482
553
  bottomSheetRef,
483
554
  showBottomSheet,
@@ -0,0 +1,190 @@
1
+ export interface DeviceFingerprint {
2
+ userAgent: string;
3
+ platform: string;
4
+ language?: string;
5
+ timezone?: string;
6
+ screen?: {
7
+ width: number;
8
+ height: number;
9
+ colorDepth: number;
10
+ };
11
+ }
12
+
13
+ export interface StoredDeviceInfo {
14
+ deviceId: string;
15
+ deviceName?: string;
16
+ fingerprint?: string;
17
+ createdAt: string;
18
+ lastUsed: string;
19
+ }
20
+
21
+ /**
22
+ * Client-side device management utility
23
+ * Handles persistent device identification across app sessions
24
+ */
25
+ export class DeviceManager {
26
+ private static DEVICE_KEY = 'oxy_device_info';
27
+
28
+ /**
29
+ * Check if we're in React Native environment
30
+ */
31
+ private static isReactNative(): boolean {
32
+ return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
33
+ }
34
+
35
+ /**
36
+ * Get appropriate storage for the platform
37
+ */
38
+ private static async getStorage() {
39
+ if (this.isReactNative()) {
40
+ // Try to import AsyncStorage for React Native
41
+ try {
42
+ const AsyncStorage = await import('@react-native-async-storage/async-storage');
43
+ return AsyncStorage.default;
44
+ } catch (error) {
45
+ console.error('AsyncStorage not available in React Native:', error);
46
+ throw new Error('AsyncStorage is required in React Native environment');
47
+ }
48
+ } else {
49
+ // Use localStorage for web
50
+ return {
51
+ getItem: async (key: string) => localStorage.getItem(key),
52
+ setItem: async (key: string, value: string) => localStorage.setItem(key, value),
53
+ removeItem: async (key: string) => localStorage.removeItem(key)
54
+ };
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Get or create device fingerprint for current device
60
+ */
61
+ static getDeviceFingerprint(): DeviceFingerprint {
62
+ const fingerprint: DeviceFingerprint = {
63
+ userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : 'unknown',
64
+ platform: typeof navigator !== 'undefined' ? navigator.platform : 'unknown',
65
+ language: typeof navigator !== 'undefined' ? navigator.language : undefined,
66
+ timezone: typeof Intl !== 'undefined' ? Intl.DateTimeFormat().resolvedOptions().timeZone : undefined,
67
+ };
68
+
69
+ // Add screen info if available
70
+ if (typeof screen !== 'undefined') {
71
+ fingerprint.screen = {
72
+ width: screen.width,
73
+ height: screen.height,
74
+ colorDepth: screen.colorDepth
75
+ };
76
+ }
77
+
78
+ return fingerprint;
79
+ }
80
+
81
+ /**
82
+ * Get stored device info or create new one
83
+ */
84
+ static async getDeviceInfo(): Promise<StoredDeviceInfo> {
85
+ try {
86
+ const storage = await this.getStorage();
87
+ const stored = await storage.getItem(this.DEVICE_KEY);
88
+
89
+ if (stored) {
90
+ const deviceInfo: StoredDeviceInfo = JSON.parse(stored);
91
+
92
+ // Update last used timestamp
93
+ deviceInfo.lastUsed = new Date().toISOString();
94
+ await this.saveDeviceInfo(deviceInfo);
95
+
96
+ return deviceInfo;
97
+ }
98
+
99
+ // Create new device info
100
+ return await this.createNewDeviceInfo();
101
+ } catch (error) {
102
+ console.error('Error getting device info:', error);
103
+ return await this.createNewDeviceInfo();
104
+ }
105
+ }
106
+
107
+ /**
108
+ * Create new device info and store it
109
+ */
110
+ static async createNewDeviceInfo(): Promise<StoredDeviceInfo> {
111
+ const deviceInfo: StoredDeviceInfo = {
112
+ deviceId: this.generateDeviceId(),
113
+ fingerprint: JSON.stringify(this.getDeviceFingerprint()),
114
+ createdAt: new Date().toISOString(),
115
+ lastUsed: new Date().toISOString()
116
+ };
117
+
118
+ await this.saveDeviceInfo(deviceInfo);
119
+ return deviceInfo;
120
+ }
121
+
122
+ /**
123
+ * Save device info to storage
124
+ */
125
+ static async saveDeviceInfo(deviceInfo: StoredDeviceInfo): Promise<void> {
126
+ try {
127
+ const storage = await this.getStorage();
128
+ await storage.setItem(this.DEVICE_KEY, JSON.stringify(deviceInfo));
129
+ } catch (error) {
130
+ console.error('Error saving device info:', error);
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Update device name
136
+ */
137
+ static async updateDeviceName(deviceName: string): Promise<void> {
138
+ try {
139
+ const deviceInfo = await this.getDeviceInfo();
140
+ deviceInfo.deviceName = deviceName;
141
+ await this.saveDeviceInfo(deviceInfo);
142
+ } catch (error) {
143
+ console.error('Error updating device name:', error);
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Clear stored device info (useful for testing or reset)
149
+ */
150
+ static async clearDeviceInfo(): Promise<void> {
151
+ try {
152
+ const storage = await this.getStorage();
153
+ await storage.removeItem(this.DEVICE_KEY);
154
+ } catch (error) {
155
+ console.error('Error clearing device info:', error);
156
+ }
157
+ }
158
+
159
+ /**
160
+ * Generate a unique device ID
161
+ */
162
+ private static generateDeviceId(): string {
163
+ // Use crypto.getRandomValues if available, otherwise fallback to Math.random
164
+ if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
165
+ const array = new Uint8Array(32);
166
+ crypto.getRandomValues(array);
167
+ return Array.from(array, byte => byte.toString(16).padStart(2, '0')).join('');
168
+ } else {
169
+ // Fallback for environments without crypto.getRandomValues
170
+ return 'device_' + Date.now().toString(36) + Math.random().toString(36).substr(2);
171
+ }
172
+ }
173
+
174
+ /**
175
+ * Get a user-friendly device name based on platform
176
+ */
177
+ static getDefaultDeviceName(): string {
178
+ const fingerprint = this.getDeviceFingerprint();
179
+ const platform = fingerprint.platform.toLowerCase();
180
+
181
+ if (platform.includes('win')) return 'Windows Computer';
182
+ if (platform.includes('mac')) return 'Mac Computer';
183
+ if (platform.includes('linux')) return 'Linux Computer';
184
+ if (platform.includes('iphone')) return 'iPhone';
185
+ if (platform.includes('ipad')) return 'iPad';
186
+ if (platform.includes('android')) return 'Android Device';
187
+
188
+ return 'Unknown Device';
189
+ }
190
+ }