diff options
Diffstat (limited to 'src/lib/Utility/fingerprint.ts')
| -rw-r--r-- | src/lib/Utility/fingerprint.ts | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/lib/Utility/fingerprint.ts b/src/lib/Utility/fingerprint.ts index 2c7211b4..e38ff61f 100644 --- a/src/lib/Utility/fingerprint.ts +++ b/src/lib/Utility/fingerprint.ts @@ -1,14 +1,13 @@ -export const getFingerprint = () => - btoa( - `${(() => { - const gl = new OffscreenCanvas(0, 0).getContext('webgl'); +const STORAGE_KEY = "notificationDeviceId"; - if (!gl) return 'none'; +export const getFingerprint = () => { + const existingFingerprint = window.localStorage.getItem(STORAGE_KEY); - const debugInfo = gl.getExtension('WEBGL_debug_renderer_info'); + if (existingFingerprint) return existingFingerprint; - return debugInfo ? gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL) : 'unknown'; - })()}-${ - navigator === null || navigator === void 0 ? void 0 : navigator.hardwareConcurrency - }-${new Date().getTimezoneOffset()}` - ); + const generatedFingerprint = window.crypto.randomUUID(); + + window.localStorage.setItem(STORAGE_KEY, generatedFingerprint); + + return generatedFingerprint; +}; |