@oxyhq/services 5.16.34 → 5.16.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 +8 -26
- package/lib/commonjs/core/OxyServices.base.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.utility.js.map +1 -1
- package/lib/commonjs/crypto/README.md +142 -0
- package/lib/commonjs/crypto/core.js +147 -0
- package/lib/commonjs/crypto/core.js.map +1 -0
- package/lib/commonjs/crypto/index.js +16 -0
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +19 -24
- package/lib/commonjs/crypto/keyManager.js.map +1 -1
- package/lib/commonjs/crypto/signatureService.js +116 -37
- package/lib/commonjs/crypto/signatureService.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +10 -11
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/node/index.js +10 -1
- package/lib/commonjs/node/index.js.map +1 -1
- package/lib/commonjs/node/signatureService.js +107 -0
- package/lib/commonjs/node/signatureService.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/index.js +0 -2
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +13 -9
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/core/OxyServices.base.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.utility.js.map +1 -1
- package/lib/module/crypto/README.md +142 -0
- package/lib/module/crypto/core.js +133 -0
- package/lib/module/crypto/core.js.map +1 -0
- package/lib/module/crypto/index.js +3 -9
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +19 -24
- package/lib/module/crypto/keyManager.js.map +1 -1
- package/lib/module/crypto/signatureService.js +113 -33
- package/lib/module/crypto/signatureService.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +10 -11
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/node/index.js +3 -0
- package/lib/module/node/index.js.map +1 -1
- package/lib/module/node/signatureService.js +101 -0
- package/lib/module/node/signatureService.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -1
- package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/index.js +0 -1
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +9 -7
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts +1 -2
- package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
- package/lib/typescript/core/mixins/index.d.ts +13 -13
- package/lib/typescript/core/mixins/index.d.ts.map +1 -1
- package/lib/typescript/core/services/SessionService.d.ts +1 -1
- package/lib/typescript/core/services/SessionService.d.ts.map +1 -1
- package/lib/typescript/crypto/core.d.ts +56 -0
- package/lib/typescript/crypto/core.d.ts.map +1 -0
- package/lib/typescript/crypto/index.d.ts +1 -9
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts +13 -1
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
- package/lib/typescript/crypto/signatureService.d.ts +15 -9
- package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +68 -15
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/node/index.d.ts +1 -0
- package/lib/typescript/node/index.d.ts.map +1 -1
- package/lib/typescript/node/signatureService.d.ts +55 -0
- package/lib/typescript/node/signatureService.d.ts.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +1 -2
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +1 -2
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +1 -2
- package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useLanguageManagement.d.ts +1 -2
- package/lib/typescript/ui/hooks/useLanguageManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts +1 -2
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/ui/index.d.ts +1 -1
- package/lib/typescript/ui/index.d.ts.map +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
- package/package.json +6 -2
- package/src/core/OxyServices.base.ts +1 -2
- package/src/core/mixins/OxyServices.auth.ts +1 -1
- package/src/core/mixins/OxyServices.user.ts +1 -2
- package/src/core/mixins/OxyServices.utility.ts +1 -2
- package/src/core/services/SessionService.ts +1 -1
- package/src/crypto/README.md +142 -0
- package/src/crypto/__tests__/core.test.ts +203 -0
- package/src/crypto/core.ts +142 -0
- package/src/crypto/index.ts +3 -10
- package/src/crypto/keyManager.ts +25 -21
- package/src/crypto/signatureService.ts +137 -37
- package/src/index.ts +2 -1
- package/src/models/interfaces.ts +73 -21
- package/src/node/index.ts +3 -0
- package/src/node/signatureService.ts +126 -0
- package/src/ui/context/OxyContext.tsx +1 -2
- package/src/ui/context/hooks/useAuthOperations.ts +1 -2
- package/src/ui/context/hooks/useLanguageManagement.ts +1 -2
- package/src/ui/hooks/auth/index.ts +2 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
- package/src/ui/hooks/mutations/useServicesMutations.ts +1 -1
- package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
- package/src/ui/hooks/useLanguageManagement.ts +1 -2
- package/src/ui/hooks/useSessionManagement.ts +1 -2
- package/src/ui/index.ts +1 -2
- package/src/ui/screens/AccountSettingsScreen.tsx +6 -6
- package/src/ui/screens/AccountSwitcherScreen.tsx +1 -1
- package/src/ui/screens/OxyAuthScreen.tsx +9 -5
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/stores/authStore.ts +1 -1
- package/src/ui/types/navigation.ts +1 -1
- package/src/ui/utils/avatarUtils.ts +1 -1
- package/lib/commonjs/core/services/AuthService.js +0 -156
- package/lib/commonjs/core/services/AuthService.js.map +0 -1
- package/lib/commonjs/core/services/SessionTransportService.js +0 -64
- package/lib/commonjs/core/services/SessionTransportService.js.map +0 -1
- package/lib/commonjs/core/services/UserService.js +0 -123
- package/lib/commonjs/core/services/UserService.js.map +0 -1
- package/lib/commonjs/core/services/index.js +0 -34
- package/lib/commonjs/core/services/index.js.map +0 -1
- package/lib/module/core/services/AuthService.js +0 -151
- package/lib/module/core/services/AuthService.js.map +0 -1
- package/lib/module/core/services/SessionTransportService.js +0 -59
- package/lib/module/core/services/SessionTransportService.js.map +0 -1
- package/lib/module/core/services/UserService.js +0 -118
- package/lib/module/core/services/UserService.js.map +0 -1
- package/lib/module/core/services/index.js +0 -16
- package/lib/module/core/services/index.js.map +0 -1
- package/lib/typescript/core/services/AuthService.d.ts +0 -50
- package/lib/typescript/core/services/AuthService.d.ts.map +0 -1
- package/lib/typescript/core/services/SessionTransportService.d.ts +0 -31
- package/lib/typescript/core/services/SessionTransportService.d.ts.map +0 -1
- package/lib/typescript/core/services/UserService.d.ts +0 -39
- package/lib/typescript/core/services/UserService.d.ts.map +0 -1
- package/lib/typescript/core/services/index.d.ts +0 -13
- package/lib/typescript/core/services/index.d.ts.map +0 -1
- package/src/core/services/AuthService.ts +0 -153
- package/src/core/services/SessionTransportService.ts +0 -69
- package/src/core/services/UserService.ts +0 -125
- package/src/core/services/index.ts +0 -14
|
@@ -6,35 +6,97 @@
|
|
|
6
6
|
* Handles signing and verification of messages using ECDSA secp256k1.
|
|
7
7
|
* Used for authenticating requests and proving identity ownership.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* For
|
|
9
|
+
* This service provides async methods for cross-platform compatibility (React Native + Node).
|
|
10
|
+
* For Node.js-only synchronous operations, use the node/signatureService module.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import { ec as EC } from 'elliptic';
|
|
14
13
|
import { KeyManager } from './keyManager';
|
|
15
|
-
import { buildAuthMessage, buildRegistrationMessage, buildRequestMessage,
|
|
16
|
-
const ec = new EC('secp256k1');
|
|
14
|
+
import { verifySignatureCore, isTimestampFresh, buildAuthMessage, buildRegistrationMessage, buildRequestMessage, getEllipticCurve } from './core';
|
|
17
15
|
|
|
18
|
-
//
|
|
16
|
+
// Lazy import for expo-crypto
|
|
17
|
+
let ExpoCrypto = null;
|
|
18
|
+
const ec = getEllipticCurve();
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Check if we're in a React Native environment
|
|
22
|
+
*/
|
|
23
|
+
function isReactNative() {
|
|
24
|
+
return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Check if we're in a Node.js environment
|
|
29
|
+
*/
|
|
30
|
+
function isNodeJS() {
|
|
31
|
+
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Initialize expo-crypto module
|
|
36
|
+
*/
|
|
37
|
+
async function initExpoCrypto() {
|
|
38
|
+
if (!ExpoCrypto) {
|
|
39
|
+
ExpoCrypto = await import('expo-crypto');
|
|
40
|
+
}
|
|
41
|
+
return ExpoCrypto;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Compute SHA-256 hash of a string
|
|
46
|
+
*/
|
|
47
|
+
async function sha256(message) {
|
|
48
|
+
// In React Native, always use expo-crypto
|
|
49
|
+
if (isReactNative() || !isNodeJS()) {
|
|
50
|
+
const Crypto = await initExpoCrypto();
|
|
51
|
+
return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// In Node.js, use Node's crypto module
|
|
55
|
+
// Use Function constructor to prevent Metro bundler from statically analyzing this require
|
|
56
|
+
// This ensures the require is only evaluated in Node.js runtime, not during Metro bundling
|
|
57
|
+
try {
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
59
|
+
const getCrypto = new Function('return require("crypto")');
|
|
60
|
+
const crypto = getCrypto();
|
|
61
|
+
return crypto.createHash('sha256').update(message).digest('hex');
|
|
62
|
+
} catch (error) {
|
|
63
|
+
// Fallback to expo-crypto if Node crypto fails
|
|
64
|
+
const Crypto = await initExpoCrypto();
|
|
65
|
+
return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
20
68
|
export class SignatureService {
|
|
21
69
|
/**
|
|
22
70
|
* Generate a random challenge string (for offline use)
|
|
23
|
-
* Uses
|
|
71
|
+
* Uses expo-crypto in React Native, crypto.randomBytes in Node.js
|
|
24
72
|
*/
|
|
25
73
|
static async generateChallenge() {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
74
|
+
if (isReactNative() || !isNodeJS()) {
|
|
75
|
+
// Use expo-crypto for React Native (expo-random is deprecated)
|
|
76
|
+
const Crypto = await initExpoCrypto();
|
|
77
|
+
const randomBytes = await Crypto.getRandomBytesAsync(32);
|
|
78
|
+
return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Node.js fallback
|
|
82
|
+
try {
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
84
|
+
const getCrypto = new Function('return require("crypto")');
|
|
85
|
+
const crypto = getCrypto();
|
|
86
|
+
return crypto.randomBytes(32).toString('hex');
|
|
87
|
+
} catch (error) {
|
|
88
|
+
// Fallback to expo-crypto if Node crypto fails
|
|
89
|
+
const Crypto = await initExpoCrypto();
|
|
90
|
+
const randomBytes = await Crypto.getRandomBytesAsync(32);
|
|
91
|
+
return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
92
|
+
}
|
|
29
93
|
}
|
|
30
94
|
|
|
31
95
|
/**
|
|
32
96
|
* Hash a message using SHA-256
|
|
33
|
-
* Uses shared crypto adapter
|
|
34
97
|
*/
|
|
35
98
|
static async hashMessage(message) {
|
|
36
|
-
|
|
37
|
-
return adapter.sha256(message);
|
|
99
|
+
return sha256(message);
|
|
38
100
|
}
|
|
39
101
|
|
|
40
102
|
/**
|
|
@@ -46,8 +108,7 @@ export class SignatureService {
|
|
|
46
108
|
if (!keyPair) {
|
|
47
109
|
throw new Error('No identity found. Please create or import an identity first.');
|
|
48
110
|
}
|
|
49
|
-
const
|
|
50
|
-
const messageHash = await adapter.sha256(message);
|
|
111
|
+
const messageHash = await sha256(message);
|
|
51
112
|
const signature = keyPair.sign(messageHash);
|
|
52
113
|
return signature.toDER('hex');
|
|
53
114
|
}
|
|
@@ -58,21 +119,43 @@ export class SignatureService {
|
|
|
58
119
|
*/
|
|
59
120
|
static async signWithKey(message, privateKey) {
|
|
60
121
|
const keyPair = ec.keyFromPrivate(privateKey);
|
|
61
|
-
const
|
|
62
|
-
const messageHash = await adapter.sha256(message);
|
|
122
|
+
const messageHash = await sha256(message);
|
|
63
123
|
const signature = keyPair.sign(messageHash);
|
|
64
124
|
return signature.toDER('hex');
|
|
65
125
|
}
|
|
66
126
|
|
|
67
127
|
/**
|
|
68
128
|
* Verify a signature against a message and public key
|
|
69
|
-
* Uses shared SignatureService for verification
|
|
70
129
|
*/
|
|
71
130
|
static async verify(message, signature, publicKey) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
131
|
+
try {
|
|
132
|
+
const messageHash = await sha256(message);
|
|
133
|
+
return verifySignatureCore(messageHash, signature, publicKey);
|
|
134
|
+
} catch {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Synchronous verification (for Node.js backend)
|
|
141
|
+
* Uses crypto module directly for hashing
|
|
142
|
+
* Note: This method should only be used in Node.js environments
|
|
143
|
+
*/
|
|
144
|
+
static verifySync(message, signature, publicKey) {
|
|
145
|
+
try {
|
|
146
|
+
if (!isNodeJS()) {
|
|
147
|
+
// In React Native, use async verify instead
|
|
148
|
+
throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
|
|
149
|
+
}
|
|
150
|
+
// Use Function constructor to prevent Metro bundler from statically analyzing this require
|
|
151
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
152
|
+
const getCrypto = new Function('return require("crypto")');
|
|
153
|
+
const crypto = getCrypto();
|
|
154
|
+
const messageHash = crypto.createHash('sha256').update(message).digest('hex');
|
|
155
|
+
return verifySignatureCore(messageHash, signature, publicKey);
|
|
156
|
+
} catch {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
76
159
|
}
|
|
77
160
|
|
|
78
161
|
/**
|
|
@@ -97,14 +180,9 @@ export class SignatureService {
|
|
|
97
180
|
/**
|
|
98
181
|
* Verify a signed message object
|
|
99
182
|
* Checks both signature validity and timestamp freshness
|
|
100
|
-
* Uses shared SignatureService for verification
|
|
101
183
|
*/
|
|
102
184
|
static async verifySignedMessage(signedMessage, maxAgeMs = 5 * 60 * 1000 // 5 minutes default
|
|
103
185
|
) {
|
|
104
|
-
const {
|
|
105
|
-
SignatureService: SharedSignatureService,
|
|
106
|
-
isTimestampFresh
|
|
107
|
-
} = await import('@oxyhq/shared');
|
|
108
186
|
const {
|
|
109
187
|
message,
|
|
110
188
|
signature,
|
|
@@ -119,7 +197,7 @@ export class SignatureService {
|
|
|
119
197
|
|
|
120
198
|
// Verify signature
|
|
121
199
|
const messageWithTimestamp = `${message}:${timestamp}`;
|
|
122
|
-
return
|
|
200
|
+
return SignatureService.verify(messageWithTimestamp, signature, publicKey);
|
|
123
201
|
}
|
|
124
202
|
|
|
125
203
|
/**
|
|
@@ -143,18 +221,20 @@ export class SignatureService {
|
|
|
143
221
|
|
|
144
222
|
/**
|
|
145
223
|
* Verify a challenge response
|
|
146
|
-
* Uses shared SignatureService for verification
|
|
147
224
|
*/
|
|
148
225
|
static async verifyChallengeResponse(originalChallenge, response, maxAgeMs = 5 * 60 * 1000) {
|
|
149
|
-
const {
|
|
150
|
-
SignatureService: SharedSignatureService
|
|
151
|
-
} = await import('@oxyhq/shared');
|
|
152
226
|
const {
|
|
153
227
|
challenge: signature,
|
|
154
228
|
publicKey,
|
|
155
229
|
timestamp
|
|
156
230
|
} = response;
|
|
157
|
-
|
|
231
|
+
|
|
232
|
+
// Check timestamp freshness
|
|
233
|
+
if (!isTimestampFresh(timestamp, maxAgeMs)) {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
const message = buildAuthMessage(publicKey, originalChallenge, timestamp);
|
|
237
|
+
return SignatureService.verify(message, signature, publicKey);
|
|
158
238
|
}
|
|
159
239
|
|
|
160
240
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["KeyManager","verifySignatureCore","isTimestampFresh","buildAuthMessage","buildRegistrationMessage","buildRequestMessage","getEllipticCurve","ExpoCrypto","ec","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","getCrypto","Function","crypto","createHash","update","digest","error","SignatureService","generateChallenge","randomBytes","getRandomBytesAsync","Array","from","map","b","toString","padStart","join","hashMessage","sign","keyPair","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","verifySync","createSignedMessage","getPublicKey","timestamp","Date","now","messageWithTimestamp","verifySignedMessage","signedMessage","maxAgeMs","signChallenge","challenge","verifyChallengeResponse","originalChallenge","response","createRegistrationSignature","signRequestData","data"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -32,7 +32,6 @@ export { DeviceManager } from './utils/deviceManager';
|
|
|
32
32
|
export { SUPPORTED_LANGUAGES, getLanguageMetadata, getLanguageName, getNativeLanguageName, normalizeLanguageCode } from './utils/languageUtils';
|
|
33
33
|
|
|
34
34
|
// Type exports
|
|
35
|
-
// Note: User and LoginResponse should be imported from @oxyhq/shared
|
|
36
35
|
|
|
37
36
|
// Export security constants
|
|
38
37
|
export { SECURITY_EVENT_SEVERITY_MAP } from './models/interfaces';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeyManager","SignatureService","OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","OxyContextProvider","useOxy","default","OxyProvider","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","SECURITY_EVENT_SEVERITY_MAP","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","setOxyFileUrlInstance","useUsernameValidation","USERNAME_MIN_LENGTH","USERNAME_REGEX","USERNAME_FORMAT_ERROR","USERNAME_DEBOUNCE_MS","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useBlockedUsers","useRestrictedUsers","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useSecurityActivity","useRecentSecurityActivity","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUploadFile","useUnblockUser","useUnrestrictUser","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","OxySignInButton","OxyLogo","FollowButton","ErrorCodes","createApiError","handleHttpError","validateRequiredFields","retryWithBackoff","logger","LogLevel","LogContext","logAuth","logApi","logSession","logUser","logDevice","logPayment","logPerformance"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,mBAAmB;;AAE1B;AACA,SACEA,UAAU,EACVC,gBAAgB,QACX,UAAU;;AAEjB;AACA,SAASC,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,QAAQ;AAC3F,SAASC,aAAa,EAAEC,SAAS,QAAQ,QAAQ;AAOjD;AACA,SACEC,kBAAkB;AAAE;AACpBC,MAAM,QACD,yBAAyB;;AAEhC;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,6BAA6B;;AAEpE;AACA,SAASC,aAAa,QAAQ,uBAAuB;AAGrD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,uBAAuB;;AAG9B
|
|
1
|
+
{"version":3,"names":["KeyManager","SignatureService","OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","OxyContextProvider","useOxy","default","OxyProvider","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","SECURITY_EVENT_SEVERITY_MAP","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","setOxyFileUrlInstance","useUsernameValidation","USERNAME_MIN_LENGTH","USERNAME_REGEX","USERNAME_FORMAT_ERROR","USERNAME_DEBOUNCE_MS","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useBlockedUsers","useRestrictedUsers","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useSecurityActivity","useRecentSecurityActivity","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUploadFile","useUnblockUser","useUnrestrictUser","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","OxySignInButton","OxyLogo","FollowButton","ErrorCodes","createApiError","handleHttpError","validateRequiredFields","retryWithBackoff","logger","LogLevel","LogContext","logAuth","logApi","logSession","logUser","logDevice","logPayment","logPerformance"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,mBAAmB;;AAE1B;AACA,SACEA,UAAU,EACVC,gBAAgB,QACX,UAAU;;AAEjB;AACA,SAASC,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,QAAQ;AAC3F,SAASC,aAAa,EAAEC,SAAS,QAAQ,QAAQ;AAOjD;AACA,SACEC,kBAAkB;AAAE;AACpBC,MAAM,QACD,yBAAyB;;AAEhC;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,6BAA6B;;AAEpE;AACA,SAASC,aAAa,QAAQ,uBAAuB;AAGrD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,uBAAuB;;AAG9B;;AA6DA;AACA,SAASC,2BAA2B,QAAQ,qBAAqB;AAQjE;AACA,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SACEC,aAAa,EACbC,SAAS,IAAIC,cAAc,EAC3BC,QAAQ,EACRC,iBAAiB,EACjBC,eAAe,EACfC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,QACX,wBAAwB;;AAE/B;AACA,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,sBAAsB;AACrE,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,+BAA+B;AACzF,SAASC,qBAAqB,EAAEC,mBAAmB,EAAEC,cAAc,EAAEC,qBAAqB,EAAEC,oBAAoB,QAAQ,iBAAiB;AAGzI;AACA;AACE;AACAC,cAAc,EACdC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,eAAe,EACfC,kBAAkB;AAClB;AACAC,WAAW,EACXC,UAAU,EACVC,iBAAiB,EACjBC,cAAc,EACdC,eAAe;AACf;AACAC,mBAAmB,EACnBC,yBAAyB,QACpB,oBAAoB;;AAE3B;AACA;AACE;AACAC,gBAAgB,EAChBC,eAAe,EACfC,wBAAwB,EACxBC,wBAAwB,EACxBC,aAAa,EACbC,cAAc,EACdC,iBAAiB;AACjB;AACAC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,EACZC,mBAAmB,EACnBC,eAAe,QACV,sBAAsB;;AAE7B;AACA,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,OAAO,EAAEC,YAAY,QAAQ,MAAM;;AAE5C;AACA,cAAc,kBAAkB;AAChC,SACEC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,QACX,oBAAoB;AAC3B,cAAc,yBAAyB;AACvC,SACEC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,cAAc,QACT,qBAAqB;AAC5B,cAAc,oBAAoB;AAClC,cAAc,mBAAmB","ignoreList":[]}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* User Model
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* IMPORTANT:
|
|
7
|
+
* - id: MongoDB ObjectId (24 hex characters) - PRIMARY IDENTIFIER for all internal operations
|
|
8
|
+
* - publicKey: Cryptographic public key (130 hex characters) - LOOKUP KEY for authentication and identity operations
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
+
* Never use publicKey as an ID. Always use id (ObjectId) for:
|
|
11
|
+
* - Database queries
|
|
12
|
+
* - Session userId
|
|
13
|
+
* - Token userId
|
|
14
|
+
* - Socket room names
|
|
15
|
+
* - API route parameters (unless explicitly doing publicKey lookup)
|
|
10
16
|
*/
|
|
11
17
|
|
|
12
|
-
// Note: User and LoginResponse are in @oxyhq/shared
|
|
13
|
-
// Import them directly: import { User, LoginResponse } from '@oxyhq/shared';
|
|
14
|
-
|
|
15
|
-
// Note: PaginationInfo and SearchProfilesResponse are in @oxyhq/shared
|
|
16
|
-
// Import them directly: import { PaginationInfo, SearchProfilesResponse } from '@oxyhq/shared';
|
|
17
|
-
|
|
18
18
|
/**
|
|
19
19
|
* File management interfaces
|
|
20
20
|
*/
|
|
@@ -69,5 +69,4 @@ export const SECURITY_EVENT_SEVERITY_MAP = {
|
|
|
69
69
|
*/
|
|
70
70
|
|
|
71
71
|
// Device Session interfaces
|
|
72
|
-
// Note: User type should be imported from @oxyhq/shared
|
|
73
72
|
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SECURITY_EVENT_SEVERITY_MAP"],"sourceRoot":"../../../src","sources":["models/interfaces.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SECURITY_EVENT_SEVERITY_MAP"],"sourceRoot":"../../../src","sources":["models/interfaces.ts"],"mappings":";;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmMA;AACA;AACA;;AAmDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAuGA;AACA;AACA;;AAqBA;AACA;AACA;;AAcA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA,OAAO,MAAMA,2BAA6E,GAAG;EAC3F,SAAS,EAAE,KAAK;EAChB,UAAU,EAAE,KAAK;EACjB,iBAAiB,EAAE,KAAK;EACxB,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,QAAQ;EACxB,gBAAgB,EAAE,QAAQ;EAC1B,2BAA2B,EAAE,QAAQ;EACrC,kBAAkB,EAAE,MAAM;EAC1B,sBAAsB,EAAE,MAAM;EAC9B,gBAAgB,EAAE,MAAM;EACxB,qBAAqB,EAAE;AACzB,CAAC;;AAED;AACA;AACA;;AAeA;AACA;AACA;;AAkBA","ignoreList":[]}
|
package/lib/module/node/index.js
CHANGED
|
@@ -15,6 +15,9 @@ export { OxyServices, OXY_CLOUD_URL, oxyClient };
|
|
|
15
15
|
export { Models }; // Export all models as a namespace
|
|
16
16
|
export * from '../models/interfaces'; // Export all models directly
|
|
17
17
|
|
|
18
|
+
// ------------- Node-Specific Crypto Exports -------------
|
|
19
|
+
export { SignatureService } from './signatureService';
|
|
20
|
+
|
|
18
21
|
// Default export for consistency or specific use cases if needed
|
|
19
22
|
export default OxyServices;
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OxyServices","OXY_CLOUD_URL","oxyClient","Models"],"sourceRoot":"../../../src","sources":["node/index.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,aAAa,EAAEC,SAAS,QAAQ,SAAS,CAAC,CAAC;AACjE,OAAO,KAAKC,MAAM,MAAM,sBAAsB,CAAC,CAAC;;AAEhD;AACA,SAASH,WAAW,EAAEC,aAAa,EAAEC,SAAS;;AAE9C;AACA,SAASC,MAAM,GAAG,CAAE;AACpB,cAAc,sBAAsB,CAAC,CAAC;;AAEtC;AACA,
|
|
1
|
+
{"version":3,"names":["OxyServices","OXY_CLOUD_URL","oxyClient","Models","SignatureService"],"sourceRoot":"../../../src","sources":["node/index.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,aAAa,EAAEC,SAAS,QAAQ,SAAS,CAAC,CAAC;AACjE,OAAO,KAAKC,MAAM,MAAM,sBAAsB,CAAC,CAAC;;AAEhD;AACA,SAASH,WAAW,EAAEC,aAAa,EAAEC,SAAS;;AAE9C;AACA,SAASC,MAAM,GAAG,CAAE;AACpB,cAAc,sBAAsB,CAAC,CAAC;;AAEtC;AACA,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA,eAAeJ,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Node.js Signature Service
|
|
5
|
+
*
|
|
6
|
+
* Provides synchronous signature operations for Node.js backend.
|
|
7
|
+
* Uses Node's crypto module for hashing and the shared core for verification.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import crypto from 'crypto';
|
|
11
|
+
import { verifySignatureCore, isValidPublicKey, isTimestampFresh, buildAuthMessage, buildRegistrationMessage, buildRequestMessage, shortenPublicKey, CHALLENGE_TTL_MS, MAX_SIGNATURE_AGE_MS } from '../crypto/core';
|
|
12
|
+
export class SignatureService {
|
|
13
|
+
/**
|
|
14
|
+
* Generate a random challenge string
|
|
15
|
+
*/
|
|
16
|
+
static generateChallenge() {
|
|
17
|
+
return crypto.randomBytes(32).toString('hex');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Compute SHA-256 hash of a message (synchronous)
|
|
22
|
+
*/
|
|
23
|
+
static hashMessage(message) {
|
|
24
|
+
return crypto.createHash('sha256').update(message).digest('hex');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Verify an ECDSA signature (synchronous)
|
|
29
|
+
*
|
|
30
|
+
* @param message - The original message that was signed
|
|
31
|
+
* @param signature - The signature in DER format (hex encoded)
|
|
32
|
+
* @param publicKey - The public key (hex encoded, uncompressed)
|
|
33
|
+
* @returns true if the signature is valid
|
|
34
|
+
*/
|
|
35
|
+
static verifySignature(message, signature, publicKey) {
|
|
36
|
+
const messageHash = SignatureService.hashMessage(message);
|
|
37
|
+
return verifySignatureCore(messageHash, signature, publicKey);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Verify an authentication challenge response
|
|
42
|
+
*
|
|
43
|
+
* @param publicKey - The user's public key
|
|
44
|
+
* @param challenge - The original challenge string
|
|
45
|
+
* @param signature - The signature of the auth message
|
|
46
|
+
* @param timestamp - The timestamp when the signature was created
|
|
47
|
+
* @returns true if the challenge response is valid
|
|
48
|
+
*/
|
|
49
|
+
static verifyChallengeResponse(publicKey, challenge, signature, timestamp) {
|
|
50
|
+
// Check timestamp is not too old
|
|
51
|
+
if (!isTimestampFresh(timestamp, CHALLENGE_TTL_MS)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Build the message and verify signature
|
|
56
|
+
const message = buildAuthMessage(publicKey, challenge, timestamp);
|
|
57
|
+
return SignatureService.verifySignature(message, signature, publicKey);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Verify a registration signature
|
|
62
|
+
* Signature format: oxy:register:{publicKey}:{timestamp}
|
|
63
|
+
*/
|
|
64
|
+
static verifyRegistrationSignature(publicKey, signature, timestamp) {
|
|
65
|
+
// Check timestamp freshness
|
|
66
|
+
if (!isTimestampFresh(timestamp, MAX_SIGNATURE_AGE_MS)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
const message = buildRegistrationMessage(publicKey, timestamp);
|
|
70
|
+
return SignatureService.verifySignature(message, signature, publicKey);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Verify a signed request
|
|
75
|
+
* Used for authenticated API operations
|
|
76
|
+
*/
|
|
77
|
+
static verifyRequestSignature(publicKey, data, signature, timestamp) {
|
|
78
|
+
// Check timestamp freshness
|
|
79
|
+
if (!isTimestampFresh(timestamp, MAX_SIGNATURE_AGE_MS)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
const message = buildRequestMessage(publicKey, timestamp, data);
|
|
83
|
+
return SignatureService.verifySignature(message, signature, publicKey);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Validate that a string is a valid public key
|
|
88
|
+
*/
|
|
89
|
+
static isValidPublicKey(publicKey) {
|
|
90
|
+
return isValidPublicKey(publicKey);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Get a shortened display version of a public key
|
|
95
|
+
*/
|
|
96
|
+
static shortenPublicKey(publicKey) {
|
|
97
|
+
return shortenPublicKey(publicKey);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export default SignatureService;
|
|
101
|
+
//# sourceMappingURL=signatureService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["crypto","verifySignatureCore","isValidPublicKey","isTimestampFresh","buildAuthMessage","buildRegistrationMessage","buildRequestMessage","shortenPublicKey","CHALLENGE_TTL_MS","MAX_SIGNATURE_AGE_MS","SignatureService","generateChallenge","randomBytes","toString","hashMessage","message","createHash","update","digest","verifySignature","signature","publicKey","messageHash","verifyChallengeResponse","challenge","timestamp","verifyRegistrationSignature","verifyRequestSignature","data"],"sourceRoot":"../../../src","sources":["node/signatureService.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,QAAQ;AAC3B,SACEC,mBAAmB,EACnBC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,EAChBC,wBAAwB,EACxBC,mBAAmB,EACnBC,gBAAgB,EAChBC,gBAAgB,EAChBC,oBAAoB,QACf,gBAAgB;AAEvB,OAAO,MAAMC,gBAAgB,CAAC;EAC5B;AACF;AACA;EACE,OAAOC,iBAAiBA,CAAA,EAAW;IACjC,OAAOX,MAAM,CAACY,WAAW,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,KAAK,CAAC;EAC/C;;EAEA;AACF;AACA;EACE,OAAOC,WAAWA,CAACC,OAAe,EAAU;IAC1C,OAAOf,MAAM,CAACgB,UAAU,CAAC,QAAQ,CAAC,CAACC,MAAM,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,KAAK,CAAC;EAClE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,eAAeA,CAACJ,OAAe,EAAEK,SAAiB,EAAEC,SAAiB,EAAW;IACrF,MAAMC,WAAW,GAAGZ,gBAAgB,CAACI,WAAW,CAACC,OAAO,CAAC;IACzD,OAAOd,mBAAmB,CAACqB,WAAW,EAAEF,SAAS,EAAEC,SAAS,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,uBAAuBA,CAC5BF,SAAiB,EACjBG,SAAiB,EACjBJ,SAAiB,EACjBK,SAAiB,EACR;IACT;IACA,IAAI,CAACtB,gBAAgB,CAACsB,SAAS,EAAEjB,gBAAgB,CAAC,EAAE;MAClD,OAAO,KAAK;IACd;;IAEA;IACA,MAAMO,OAAO,GAAGX,gBAAgB,CAACiB,SAAS,EAAEG,SAAS,EAAEC,SAAS,CAAC;IACjE,OAAOf,gBAAgB,CAACS,eAAe,CAACJ,OAAO,EAAEK,SAAS,EAAEC,SAAS,CAAC;EACxE;;EAEA;AACF;AACA;AACA;EACE,OAAOK,2BAA2BA,CAChCL,SAAiB,EACjBD,SAAiB,EACjBK,SAAiB,EACR;IACT;IACA,IAAI,CAACtB,gBAAgB,CAACsB,SAAS,EAAEhB,oBAAoB,CAAC,EAAE;MACtD,OAAO,KAAK;IACd;IAEA,MAAMM,OAAO,GAAGV,wBAAwB,CAACgB,SAAS,EAAEI,SAAS,CAAC;IAC9D,OAAOf,gBAAgB,CAACS,eAAe,CAACJ,OAAO,EAAEK,SAAS,EAAEC,SAAS,CAAC;EACxE;;EAEA;AACF;AACA;AACA;EACE,OAAOM,sBAAsBA,CAC3BN,SAAiB,EACjBO,IAA6B,EAC7BR,SAAiB,EACjBK,SAAiB,EACR;IACT;IACA,IAAI,CAACtB,gBAAgB,CAACsB,SAAS,EAAEhB,oBAAoB,CAAC,EAAE;MACtD,OAAO,KAAK;IACd;IAEA,MAAMM,OAAO,GAAGT,mBAAmB,CAACe,SAAS,EAAEI,SAAS,EAAEG,IAAI,CAAC;IAC/D,OAAOlB,gBAAgB,CAACS,eAAe,CAACJ,OAAO,EAAEK,SAAS,EAAEC,SAAS,CAAC;EACxE;;EAEA;AACF;AACA;EACE,OAAOnB,gBAAgBA,CAACmB,SAAiB,EAAW;IAClD,OAAOnB,gBAAgB,CAACmB,SAAS,CAAC;EACpC;;EAEA;AACF;AACA;EACE,OAAOd,gBAAgBA,CAACc,SAAiB,EAAU;IACjD,OAAOd,gBAAgB,CAACc,SAAS,CAAC;EACpC;AACF;AAEA,eAAeX,gBAAgB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","OxyServices","toast","useAuthStore","useShallow","useSessionSocket","useStorage","useLanguageManagement","useSessionManagement","useAuthOperations","useDeviceManagement","getStorageKeys","isInvalidSessionError","isTimeoutOrNetworkError","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","KeyManager","translate","updateAvatarVisibility","updateProfileWithAvatar","useAccountStore","logger","loggerUtil","useTransferStore","useTransferCodesForPersistence","useCheckPendingTransfers","jsx","_jsx","OxyContext","cachedUseFollowHook","loadUseFollowHook","useFollow","require","error","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","current","user","isAuthenticated","isAuthenticatedFromStore","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","state","logout","isIdentitySynced","tokenReady","setTokenReady","initializedRef","setAuthState","setState","message","err","undefined","console","storageKeys","storage","isReady","isStorageReady","OS","checkAndRestoreIdentity","invalidateCache","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","setActiveSessionIdFromHook","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","backupData","password","clearAllAccountData","clear","removeItem","getState","reset","clearCache","getAllPendingTransfersStore","getAllPendingTransfers","getActiveTransferIdStore","getActiveTransferId","storeTransferCodeStore","storeTransferCode","getTransferCodeStore","getTransferCode","updateTransferStateStore","updateTransferState","clearTransferCodeStore","clearTransferCode","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","transferId","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","merge","switchError","filter","session","matchingSession","find","s","firstSession","String","activeSession","currentDeviceId","isAuthenticatedFromSessions","computedIsAuthenticated","getCurrentUserId","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","isRestored","restoreFromStorage","markRestored","cleanupExpired","loadTransferCodes","storedCodes","storedActiveTransferId","parsedCodes","Object","keys","count","transferCodes","persistTransferCodes","setItem","stringify","cleanup","setInterval","clearInterval","sourceDeviceId","publicKey","substring","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","handleIdentityTransferComplete","data","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","timestamp","tenMinutes","age","ageMinutes","round","identityStillExists","identityDeleted","success","deleteError","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","Provider","value","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","OxyServices","toast","useAuthStore","useShallow","useSessionSocket","useStorage","useLanguageManagement","useSessionManagement","useAuthOperations","useDeviceManagement","getStorageKeys","isInvalidSessionError","isTimeoutOrNetworkError","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","KeyManager","translate","updateAvatarVisibility","updateProfileWithAvatar","useAccountStore","logger","loggerUtil","useTransferStore","useTransferCodesForPersistence","useCheckPendingTransfers","jsx","_jsx","OxyContext","cachedUseFollowHook","loadUseFollowHook","useFollow","require","error","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","current","user","isAuthenticated","isAuthenticatedFromStore","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","state","logout","isIdentitySynced","tokenReady","setTokenReady","initializedRef","setAuthState","setState","message","err","undefined","console","storageKeys","storage","isReady","isStorageReady","OS","checkAndRestoreIdentity","invalidateCache","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","setActiveSessionIdFromHook","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","backupData","password","clearAllAccountData","clear","removeItem","getState","reset","clearCache","getAllPendingTransfersStore","getAllPendingTransfers","getActiveTransferIdStore","getActiveTransferId","storeTransferCodeStore","storeTransferCode","getTransferCodeStore","getTransferCode","updateTransferStateStore","updateTransferState","clearTransferCodeStore","clearTransferCode","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","transferId","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","merge","switchError","filter","session","matchingSession","find","s","firstSession","String","activeSession","currentDeviceId","isAuthenticatedFromSessions","computedIsAuthenticated","getCurrentUserId","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","isRestored","restoreFromStorage","markRestored","cleanupExpired","loadTransferCodes","storedCodes","storedActiveTransferId","parsedCodes","Object","keys","count","transferCodes","persistTransferCodes","setItem","stringify","cleanup","setInterval","clearInterval","sourceDeviceId","publicKey","substring","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","handleIdentityTransferComplete","data","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","timestamp","tenMinutes","age","ageMinutes","round","identityStillExists","identityDeleted","success","deleteError","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","Provider","value","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|