@oxyhq/services 5.16.33 → 5.16.35
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 +26 -8
- 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/core/services/AuthService.js +156 -0
- package/lib/commonjs/core/services/AuthService.js.map +1 -0
- package/lib/commonjs/core/services/SessionService.js +1 -2
- package/lib/commonjs/core/services/SessionService.js.map +1 -1
- package/lib/commonjs/core/services/SessionTransportService.js +64 -0
- package/lib/commonjs/core/services/SessionTransportService.js.map +1 -0
- package/lib/commonjs/core/services/TokenService.js +9 -17
- package/lib/commonjs/core/services/TokenService.js.map +1 -1
- package/lib/commonjs/core/services/UserService.js +123 -0
- package/lib/commonjs/core/services/UserService.js.map +1 -0
- package/lib/commonjs/core/services/index.js +34 -0
- package/lib/commonjs/core/services/index.js.map +1 -0
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +3 -2
- package/lib/commonjs/crypto/keyManager.js.map +1 -1
- package/lib/commonjs/crypto/signatureService.js +28 -122
- package/lib/commonjs/crypto/signatureService.js.map +1 -1
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +11 -11
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/shared/crypto/messageBuilders.js +79 -0
- package/lib/commonjs/shared/crypto/messageBuilders.js.map +1 -0
- package/lib/commonjs/shared/crypto/platform.js +118 -0
- package/lib/commonjs/shared/crypto/platform.js.map +1 -0
- package/lib/commonjs/shared/crypto/signature.js +191 -0
- package/lib/commonjs/shared/crypto/signature.js.map +1 -0
- package/lib/commonjs/shared/index.js +94 -0
- package/lib/commonjs/shared/index.js.map +1 -0
- package/lib/commonjs/shared/models/index.js +2 -0
- package/lib/commonjs/shared/models/index.js.map +1 -0
- package/lib/commonjs/shared/transport/index.js +260 -0
- package/lib/commonjs/shared/transport/index.js.map +1 -0
- package/lib/commonjs/shared/utils/index.js +82 -0
- package/lib/commonjs/shared/utils/index.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +4 -40
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +23 -61
- 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/queries/useServicesQueries.js +4 -12
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +0 -8
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/index.js +2 -0
- 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 +2 -11
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js +11 -26
- package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/commonjs/utils/sessionUtils.js +1 -8
- package/lib/commonjs/utils/sessionUtils.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/core/services/AuthService.js +151 -0
- package/lib/module/core/services/AuthService.js.map +1 -0
- package/lib/module/core/services/SessionService.js +1 -2
- package/lib/module/core/services/SessionService.js.map +1 -1
- package/lib/module/core/services/SessionTransportService.js +59 -0
- package/lib/module/core/services/SessionTransportService.js.map +1 -0
- package/lib/module/core/services/TokenService.js +9 -17
- package/lib/module/core/services/TokenService.js.map +1 -1
- package/lib/module/core/services/UserService.js +118 -0
- package/lib/module/core/services/UserService.js.map +1 -0
- package/lib/module/core/services/index.js +16 -0
- package/lib/module/core/services/index.js.map +1 -0
- package/lib/module/crypto/index.js +9 -0
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +3 -2
- package/lib/module/crypto/keyManager.js.map +1 -1
- package/lib/module/crypto/signatureService.js +26 -122
- package/lib/module/crypto/signatureService.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +11 -11
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/shared/crypto/messageBuilders.js +70 -0
- package/lib/module/shared/crypto/messageBuilders.js.map +1 -0
- package/lib/module/shared/crypto/platform.js +112 -0
- package/lib/module/shared/crypto/platform.js.map +1 -0
- package/lib/module/shared/crypto/signature.js +186 -0
- package/lib/module/shared/crypto/signature.js.map +1 -0
- package/lib/module/shared/index.js +30 -0
- package/lib/module/shared/index.js.map +1 -0
- package/lib/module/shared/models/index.js +2 -0
- package/lib/module/shared/models/index.js.map +1 -0
- package/lib/module/shared/transport/index.js +254 -0
- package/lib/module/shared/transport/index.js.map +1 -0
- package/lib/module/shared/utils/index.js +74 -0
- package/lib/module/shared/utils/index.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +4 -40
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +23 -61
- 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/queries/useServicesQueries.js +5 -13
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +0 -8
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/index.js +1 -0
- 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 +2 -11
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/utils/sessionHelpers.js +11 -26
- package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/module/utils/sessionUtils.js +1 -8
- package/lib/module/utils/sessionUtils.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 +2 -1
- 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/AuthService.d.ts +50 -0
- package/lib/typescript/core/services/AuthService.d.ts.map +1 -0
- package/lib/typescript/core/services/SessionService.d.ts +3 -5
- package/lib/typescript/core/services/SessionService.d.ts.map +1 -1
- package/lib/typescript/core/services/SessionTransportService.d.ts +31 -0
- package/lib/typescript/core/services/SessionTransportService.d.ts.map +1 -0
- package/lib/typescript/core/services/TokenService.d.ts +3 -8
- package/lib/typescript/core/services/TokenService.d.ts.map +1 -1
- package/lib/typescript/core/services/UserService.d.ts +39 -0
- package/lib/typescript/core/services/UserService.d.ts.map +1 -0
- package/lib/typescript/core/services/index.d.ts +13 -0
- package/lib/typescript/core/services/index.d.ts.map +1 -0
- package/lib/typescript/crypto/index.d.ts +9 -0
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
- package/lib/typescript/crypto/signatureService.d.ts +10 -13
- package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +15 -69
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +2 -4
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/shared/crypto/messageBuilders.d.ts +38 -0
- package/lib/typescript/shared/crypto/messageBuilders.d.ts.map +1 -0
- package/lib/typescript/shared/crypto/platform.d.ts +54 -0
- package/lib/typescript/shared/crypto/platform.d.ts.map +1 -0
- package/lib/typescript/shared/crypto/signature.d.ts +72 -0
- package/lib/typescript/shared/crypto/signature.d.ts.map +1 -0
- package/lib/typescript/shared/index.d.ts +20 -0
- package/lib/typescript/shared/index.d.ts.map +1 -0
- package/lib/typescript/shared/models/index.d.ts +163 -0
- package/lib/typescript/shared/models/index.d.ts.map +1 -0
- package/lib/typescript/shared/transport/index.d.ts +73 -0
- package/lib/typescript/shared/transport/index.d.ts.map +1 -0
- package/lib/typescript/shared/utils/index.d.ts +28 -0
- package/lib/typescript/shared/utils/index.d.ts.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +2 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +2 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +2 -1
- 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/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useLanguageManagement.d.ts +2 -1
- package/lib/typescript/ui/hooks/useLanguageManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts +2 -1
- 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/lib/typescript/ui/utils/sessionHelpers.d.ts +2 -6
- package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
- package/lib/typescript/utils/sessionUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/OxyServices.base.ts +2 -1
- package/src/core/mixins/OxyServices.auth.ts +1 -1
- package/src/core/mixins/OxyServices.user.ts +2 -1
- package/src/core/mixins/OxyServices.utility.ts +2 -1
- package/src/core/services/AuthService.ts +153 -0
- package/src/core/services/SessionService.ts +3 -5
- package/src/core/services/SessionTransportService.ts +69 -0
- package/src/core/services/TokenService.ts +10 -18
- package/src/core/services/UserService.ts +125 -0
- package/src/core/services/index.ts +14 -0
- package/src/crypto/index.ts +9 -0
- package/src/crypto/keyManager.ts +3 -2
- package/src/crypto/signatureService.ts +43 -142
- package/src/index.ts +3 -2
- package/src/models/interfaces.ts +21 -74
- package/src/models/session.ts +3 -5
- package/src/shared/crypto/messageBuilders.ts +89 -0
- package/src/shared/crypto/platform.ts +140 -0
- package/src/shared/crypto/signature.ts +235 -0
- package/src/shared/index.ts +28 -0
- package/src/shared/models/index.ts +173 -0
- package/src/shared/transport/index.ts +349 -0
- package/src/shared/utils/index.ts +73 -0
- package/src/ui/context/OxyContext.tsx +22 -57
- package/src/ui/context/hooks/useAuthOperations.ts +33 -65
- package/src/ui/context/hooks/useLanguageManagement.ts +2 -1
- package/src/ui/hooks/auth/index.ts +0 -2
- 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/queries/useServicesQueries.ts +3 -8
- package/src/ui/hooks/useLanguageManagement.ts +2 -1
- package/src/ui/hooks/useSessionManagement.ts +3 -9
- package/src/ui/index.ts +2 -1
- package/src/ui/screens/AccountSettingsScreen.tsx +6 -6
- package/src/ui/screens/AccountSwitcherScreen.tsx +1 -1
- package/src/ui/screens/OxyAuthScreen.tsx +2 -11
- 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/src/ui/utils/sessionHelpers.ts +15 -32
- package/src/utils/sessionUtils.ts +1 -8
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Focused Services
|
|
5
|
+
*
|
|
6
|
+
* Single-responsibility services replacing the mixin pattern:
|
|
7
|
+
* - AuthService: Authentication, challenges, registration
|
|
8
|
+
* - SessionService: Session management (already exists)
|
|
9
|
+
* - UserService: User profile operations
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export { AuthService } from './AuthService';
|
|
13
|
+
export { sessionService } from './SessionService';
|
|
14
|
+
export { UserService } from './UserService';
|
|
15
|
+
export { tokenService } from './TokenService';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AuthService","sessionService","UserService","tokenService"],"sourceRoot":"../../../../src","sources":["core/services/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,YAAY,QAAQ,gBAAgB","ignoreList":[]}
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Provides cryptographic identity management for the Oxy ecosystem.
|
|
7
7
|
* Handles key generation, secure storage, and digital signatures.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ IMPORTANT: KeyManager is primarily intended for use in the Oxy Accounts app.
|
|
10
|
+
* While it's exported here for convenience, third-party applications should NOT
|
|
11
|
+
* generate or store user identities. The Accounts app is the identity wallet.
|
|
12
|
+
*
|
|
13
|
+
* For third-party apps:
|
|
14
|
+
* - Use SignatureService for signing operations (but keys come from Accounts app)
|
|
15
|
+
* - Do NOT call KeyManager.createIdentity() or KeyManager.importKeyPair()
|
|
16
|
+
* - The Oxy Accounts app handles all identity generation and key storage
|
|
8
17
|
*/
|
|
9
18
|
|
|
10
19
|
// Import polyfills first - this ensures Buffer is available for crypto libraries
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeyManager","SignatureService","default"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;AAEnB,SAASA,UAAU,QAAsB,cAAc;AACvD,SACEC,gBAAgB,QAGX,oBAAoB;AAG3B;AACA,SAASD,UAAU,IAAIE,OAAO,QAAQ,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["KeyManager","SignatureService","default"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;AAEnB,SAASA,UAAU,QAAsB,cAAc;AACvD,SACEC,gBAAgB,QAGX,oBAAoB;AAG3B;AACA,SAASD,UAAU,IAAIE,OAAO,QAAQ,cAAc","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import { ec as EC } from 'elliptic';
|
|
11
11
|
import { Platform } from 'react-native';
|
|
12
|
+
import { shortenPublicKey as sharedShortenPublicKey } from '../shared';
|
|
12
13
|
|
|
13
14
|
// Lazy imports for React Native specific modules
|
|
14
15
|
let SecureStore = null;
|
|
@@ -503,8 +504,8 @@ export class KeyManager {
|
|
|
503
504
|
* Format: first 8 chars...last 8 chars
|
|
504
505
|
*/
|
|
505
506
|
static shortenPublicKey(publicKey) {
|
|
506
|
-
|
|
507
|
-
return
|
|
507
|
+
// Use shared utility
|
|
508
|
+
return sharedShortenPublicKey(publicKey);
|
|
508
509
|
}
|
|
509
510
|
}
|
|
510
511
|
export default KeyManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ec","EC","Platform","SecureStore","ExpoCrypto","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","BACKUP_PRIVATE_KEY","BACKUP_PUBLIC_KEY","BACKUP_TIMESTAMP","initSecureStore","error","errorMessage","Error","message","String","isReactNative","navigator","product","isNodeJS","process","versions","node","isWebPlatform","OS","window","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","KeyManager","cachedPublicKey","cachedHasIdentity","invalidateCache","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","__DEV__","console","warn","getPublicKey","hasIdentity","deleteIdentity","skipBackup","force","userConfirmed","backupSuccess","backupIdentity","backupError","deleteItemAsync","Date","now","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","restoreIdentityFromBackup","backupPrivateKey","backupPublicKey","restored","keyFromPublic","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ec","EC","Platform","shortenPublicKey","sharedShortenPublicKey","SecureStore","ExpoCrypto","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","BACKUP_PRIVATE_KEY","BACKUP_PUBLIC_KEY","BACKUP_TIMESTAMP","initSecureStore","error","errorMessage","Error","message","String","isReactNative","navigator","product","isNodeJS","process","versions","node","isWebPlatform","OS","window","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","KeyManager","cachedPublicKey","cachedHasIdentity","invalidateCache","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","__DEV__","console","warn","getPublicKey","hasIdentity","deleteIdentity","skipBackup","force","userConfirmed","backupSuccess","backupIdentity","backupError","deleteItemAsync","Date","now","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","restoreIdentityFromBackup","backupPrivateKey","backupPublicKey","restored","keyFromPublic"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,95 +5,36 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Handles signing and verification of messages using ECDSA secp256k1.
|
|
7
7
|
* Used for authenticating requests and proving identity ownership.
|
|
8
|
+
*
|
|
9
|
+
* Note: This service handles SIGNING (requires private key access via KeyManager).
|
|
10
|
+
* For VERIFICATION, use the shared SignatureService from '../shared' instead.
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
13
|
import { ec as EC } from 'elliptic';
|
|
11
14
|
import { KeyManager } from './keyManager';
|
|
12
|
-
|
|
13
|
-
// Lazy import for expo-crypto
|
|
14
|
-
let ExpoCrypto = null;
|
|
15
|
+
import { buildAuthMessage, buildRegistrationMessage, buildRequestMessage, getCryptoAdapter, SignatureService as SharedSignatureService, isTimestampFresh } from '../shared';
|
|
15
16
|
const ec = new EC('secp256k1');
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
* Check if we're in a React Native environment
|
|
19
|
-
*/
|
|
20
|
-
function isReactNative() {
|
|
21
|
-
return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Check if we're in a Node.js environment
|
|
26
|
-
*/
|
|
27
|
-
function isNodeJS() {
|
|
28
|
-
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Initialize expo-crypto module
|
|
33
|
-
*/
|
|
34
|
-
async function initExpoCrypto() {
|
|
35
|
-
if (!ExpoCrypto) {
|
|
36
|
-
ExpoCrypto = await import('expo-crypto');
|
|
37
|
-
}
|
|
38
|
-
return ExpoCrypto;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Compute SHA-256 hash of a string
|
|
43
|
-
*/
|
|
44
|
-
async function sha256(message) {
|
|
45
|
-
// In React Native, always use expo-crypto
|
|
46
|
-
if (isReactNative() || !isNodeJS()) {
|
|
47
|
-
const Crypto = await initExpoCrypto();
|
|
48
|
-
return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
|
|
49
|
-
}
|
|
18
|
+
// Re-export shared types
|
|
50
19
|
|
|
51
|
-
// In Node.js, use Node's crypto module
|
|
52
|
-
// Use Function constructor to prevent Metro bundler from statically analyzing this require
|
|
53
|
-
// This ensures the require is only evaluated in Node.js runtime, not during Metro bundling
|
|
54
|
-
try {
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
56
|
-
const getCrypto = new Function('return require("crypto")');
|
|
57
|
-
const crypto = getCrypto();
|
|
58
|
-
return crypto.createHash('sha256').update(message).digest('hex');
|
|
59
|
-
} catch (error) {
|
|
60
|
-
// Fallback to expo-crypto if Node crypto fails
|
|
61
|
-
const Crypto = await initExpoCrypto();
|
|
62
|
-
return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
20
|
export class SignatureService {
|
|
66
21
|
/**
|
|
67
22
|
* Generate a random challenge string (for offline use)
|
|
68
|
-
* Uses
|
|
23
|
+
* Uses shared crypto adapter
|
|
69
24
|
*/
|
|
70
25
|
static async generateChallenge() {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const randomBytes = await Crypto.getRandomBytesAsync(32);
|
|
75
|
-
return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// Node.js fallback
|
|
79
|
-
try {
|
|
80
|
-
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
81
|
-
const getCrypto = new Function('return require("crypto")');
|
|
82
|
-
const crypto = getCrypto();
|
|
83
|
-
return crypto.randomBytes(32).toString('hex');
|
|
84
|
-
} catch (error) {
|
|
85
|
-
// Fallback to expo-crypto if Node crypto fails
|
|
86
|
-
const Crypto = await initExpoCrypto();
|
|
87
|
-
const randomBytes = await Crypto.getRandomBytesAsync(32);
|
|
88
|
-
return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
89
|
-
}
|
|
26
|
+
const adapter = await getCryptoAdapter();
|
|
27
|
+
const randomBytes = await adapter.randomBytes(32);
|
|
28
|
+
return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
90
29
|
}
|
|
91
30
|
|
|
92
31
|
/**
|
|
93
32
|
* Hash a message using SHA-256
|
|
33
|
+
* Uses shared crypto adapter
|
|
94
34
|
*/
|
|
95
35
|
static async hashMessage(message) {
|
|
96
|
-
|
|
36
|
+
const adapter = await getCryptoAdapter();
|
|
37
|
+
return adapter.sha256(message);
|
|
97
38
|
}
|
|
98
39
|
|
|
99
40
|
/**
|
|
@@ -105,7 +46,8 @@ export class SignatureService {
|
|
|
105
46
|
if (!keyPair) {
|
|
106
47
|
throw new Error('No identity found. Please create or import an identity first.');
|
|
107
48
|
}
|
|
108
|
-
const
|
|
49
|
+
const adapter = await getCryptoAdapter();
|
|
50
|
+
const messageHash = await adapter.sha256(message);
|
|
109
51
|
const signature = keyPair.sign(messageHash);
|
|
110
52
|
return signature.toDER('hex');
|
|
111
53
|
}
|
|
@@ -116,45 +58,18 @@ export class SignatureService {
|
|
|
116
58
|
*/
|
|
117
59
|
static async signWithKey(message, privateKey) {
|
|
118
60
|
const keyPair = ec.keyFromPrivate(privateKey);
|
|
119
|
-
const
|
|
61
|
+
const adapter = await getCryptoAdapter();
|
|
62
|
+
const messageHash = await adapter.sha256(message);
|
|
120
63
|
const signature = keyPair.sign(messageHash);
|
|
121
64
|
return signature.toDER('hex');
|
|
122
65
|
}
|
|
123
66
|
|
|
124
67
|
/**
|
|
125
68
|
* Verify a signature against a message and public key
|
|
69
|
+
* Uses shared SignatureService for verification
|
|
126
70
|
*/
|
|
127
71
|
static async verify(message, signature, publicKey) {
|
|
128
|
-
|
|
129
|
-
const key = ec.keyFromPublic(publicKey, 'hex');
|
|
130
|
-
const messageHash = await sha256(message);
|
|
131
|
-
return key.verify(messageHash, signature);
|
|
132
|
-
} catch {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Synchronous verification (for Node.js backend)
|
|
139
|
-
* Uses crypto module directly for hashing
|
|
140
|
-
* Note: This method should only be used in Node.js environments
|
|
141
|
-
*/
|
|
142
|
-
static verifySync(message, signature, publicKey) {
|
|
143
|
-
try {
|
|
144
|
-
if (!isNodeJS()) {
|
|
145
|
-
// In React Native, use async verify instead
|
|
146
|
-
throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
|
|
147
|
-
}
|
|
148
|
-
// Use Function constructor to prevent Metro bundler from statically analyzing this require
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
150
|
-
const getCrypto = new Function('return require("crypto")');
|
|
151
|
-
const crypto = getCrypto();
|
|
152
|
-
const key = ec.keyFromPublic(publicKey, 'hex');
|
|
153
|
-
const messageHash = crypto.createHash('sha256').update(message).digest('hex');
|
|
154
|
-
return key.verify(messageHash, signature);
|
|
155
|
-
} catch {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
72
|
+
return SharedSignatureService.verify(message, signature, publicKey);
|
|
158
73
|
}
|
|
159
74
|
|
|
160
75
|
/**
|
|
@@ -179,6 +94,7 @@ export class SignatureService {
|
|
|
179
94
|
/**
|
|
180
95
|
* Verify a signed message object
|
|
181
96
|
* Checks both signature validity and timestamp freshness
|
|
97
|
+
* Uses shared SignatureService for verification
|
|
182
98
|
*/
|
|
183
99
|
static async verifySignedMessage(signedMessage, maxAgeMs = 5 * 60 * 1000 // 5 minutes default
|
|
184
100
|
) {
|
|
@@ -190,14 +106,13 @@ export class SignatureService {
|
|
|
190
106
|
} = signedMessage;
|
|
191
107
|
|
|
192
108
|
// Check timestamp freshness
|
|
193
|
-
|
|
194
|
-
if (now - timestamp > maxAgeMs) {
|
|
109
|
+
if (!isTimestampFresh(timestamp, maxAgeMs)) {
|
|
195
110
|
return false;
|
|
196
111
|
}
|
|
197
112
|
|
|
198
113
|
// Verify signature
|
|
199
114
|
const messageWithTimestamp = `${message}:${timestamp}`;
|
|
200
|
-
return
|
|
115
|
+
return SharedSignatureService.verify(messageWithTimestamp, signature, publicKey);
|
|
201
116
|
}
|
|
202
117
|
|
|
203
118
|
/**
|
|
@@ -210,7 +125,7 @@ export class SignatureService {
|
|
|
210
125
|
throw new Error('No identity found. Please create or import an identity first.');
|
|
211
126
|
}
|
|
212
127
|
const timestamp = Date.now();
|
|
213
|
-
const message =
|
|
128
|
+
const message = buildAuthMessage(publicKey, challenge, timestamp);
|
|
214
129
|
const signature = await SignatureService.sign(message);
|
|
215
130
|
return {
|
|
216
131
|
challenge: signature,
|
|
@@ -221,6 +136,7 @@ export class SignatureService {
|
|
|
221
136
|
|
|
222
137
|
/**
|
|
223
138
|
* Verify a challenge response
|
|
139
|
+
* Uses shared SignatureService for verification
|
|
224
140
|
*/
|
|
225
141
|
static async verifyChallengeResponse(originalChallenge, response, maxAgeMs = 5 * 60 * 1000) {
|
|
226
142
|
const {
|
|
@@ -228,14 +144,7 @@ export class SignatureService {
|
|
|
228
144
|
publicKey,
|
|
229
145
|
timestamp
|
|
230
146
|
} = response;
|
|
231
|
-
|
|
232
|
-
// Check timestamp freshness
|
|
233
|
-
const now = Date.now();
|
|
234
|
-
if (now - timestamp > maxAgeMs) {
|
|
235
|
-
return false;
|
|
236
|
-
}
|
|
237
|
-
const message = `auth:${publicKey}:${originalChallenge}:${timestamp}`;
|
|
238
|
-
return SignatureService.verify(message, signature, publicKey);
|
|
147
|
+
return SharedSignatureService.verifyChallengeResponse(publicKey, originalChallenge, signature, timestamp, maxAgeMs);
|
|
239
148
|
}
|
|
240
149
|
|
|
241
150
|
/**
|
|
@@ -249,7 +158,7 @@ export class SignatureService {
|
|
|
249
158
|
throw new Error('No identity found. Please create or import an identity first.');
|
|
250
159
|
}
|
|
251
160
|
const timestamp = Date.now();
|
|
252
|
-
const message =
|
|
161
|
+
const message = buildRegistrationMessage(publicKey, timestamp);
|
|
253
162
|
const signature = await SignatureService.sign(message);
|
|
254
163
|
return {
|
|
255
164
|
signature,
|
|
@@ -268,12 +177,7 @@ export class SignatureService {
|
|
|
268
177
|
throw new Error('No identity found. Please create or import an identity first.');
|
|
269
178
|
}
|
|
270
179
|
const timestamp = Date.now();
|
|
271
|
-
|
|
272
|
-
// Create canonical string representation
|
|
273
|
-
const sortedKeys = Object.keys(data).sort();
|
|
274
|
-
const canonicalParts = sortedKeys.map(key => `${key}:${JSON.stringify(data[key])}`);
|
|
275
|
-
const canonicalString = canonicalParts.join('|');
|
|
276
|
-
const message = `request:${publicKey}:${timestamp}:${canonicalString}`;
|
|
180
|
+
const message = buildRequestMessage(publicKey, timestamp, data);
|
|
277
181
|
const signature = await SignatureService.sign(message);
|
|
278
182
|
return {
|
|
279
183
|
signature,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ec","EC","KeyManager","
|
|
1
|
+
{"version":3,"names":["ec","EC","KeyManager","buildAuthMessage","buildRegistrationMessage","buildRequestMessage","getCryptoAdapter","SignatureService","SharedSignatureService","isTimestampFresh","generateChallenge","adapter","randomBytes","Array","from","map","b","toString","padStart","join","hashMessage","message","sha256","sign","keyPair","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","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
|
@@ -30,6 +30,8 @@ export { default as OxyProvider } from './ui/components/OxyProvider';
|
|
|
30
30
|
export { DeviceManager } from './utils/deviceManager';
|
|
31
31
|
// Language utilities
|
|
32
32
|
export { SUPPORTED_LANGUAGES, getLanguageMetadata, getLanguageName, getNativeLanguageName, normalizeLanguageCode } from './utils/languageUtils';
|
|
33
|
+
// Shared models and utilities (bundled for external consumers)
|
|
34
|
+
export * from './shared';
|
|
33
35
|
|
|
34
36
|
// Type exports
|
|
35
37
|
|
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
|
|
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;AACA,cAAc,UAAU;;AAExB;;AA2DA;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,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Services Package Interfaces
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* - publicKey: Same as id (kept for backward compatibility and explicit clarity)
|
|
6
|
+
* Package-specific interfaces. For shared models (User, Session, etc.),
|
|
7
|
+
* import directly from the shared module:
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
* - Globally unique
|
|
12
|
-
* - Local-first (stored in Accounts app)
|
|
13
|
-
* - Avoids device-bound artifacts
|
|
14
|
-
*
|
|
15
|
-
* MongoDB _id remains internal to backend only and is not exposed in the User interface.
|
|
16
|
-
* Backend may use MongoDB ObjectId internally for database operations, but client always uses publicKey.
|
|
9
|
+
* import { User, LoginResponse, Session } from '../shared';
|
|
17
10
|
*/
|
|
18
11
|
|
|
12
|
+
// Note: User and LoginResponse are in the shared module
|
|
13
|
+
// Import them directly: import { User, LoginResponse } from '../shared';
|
|
14
|
+
|
|
15
|
+
// Note: PaginationInfo and SearchProfilesResponse are in the shared module
|
|
16
|
+
// Import them directly: import { PaginationInfo, SearchProfilesResponse } from '../shared';
|
|
17
|
+
|
|
19
18
|
/**
|
|
20
19
|
* File management interfaces
|
|
21
20
|
*/
|
|
@@ -70,4 +69,5 @@ export const SECURITY_EVENT_SEVERITY_MAP = {
|
|
|
70
69
|
*/
|
|
71
70
|
|
|
72
71
|
// Device Session interfaces
|
|
72
|
+
// Note: User type should be imported from the shared module
|
|
73
73
|
//# 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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAyBA;AACA;;AAyEA;AACA;;AAmEA;AACA;AACA;;AAmDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAqGA;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;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Canonical Message Builders
|
|
5
|
+
*
|
|
6
|
+
* Creates standardized, canonical message formats for signing.
|
|
7
|
+
* These formats are used consistently across Accounts, Services SDK, and API.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Build authentication message for challenge-response
|
|
12
|
+
* Format: auth:{publicKey}:{challenge}:{timestamp}
|
|
13
|
+
*/
|
|
14
|
+
export function buildAuthMessage(publicKey, challenge, timestamp) {
|
|
15
|
+
return `auth:${publicKey}:${challenge}:${timestamp}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Build registration message
|
|
20
|
+
* Format: oxy:register:{publicKey}:{timestamp}
|
|
21
|
+
*/
|
|
22
|
+
export function buildRegistrationMessage(publicKey, timestamp) {
|
|
23
|
+
return `oxy:register:${publicKey}:${timestamp}`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Build request signing message
|
|
28
|
+
* Format: request:{publicKey}:{timestamp}:{canonicalData}
|
|
29
|
+
*/
|
|
30
|
+
export function buildRequestMessage(publicKey, timestamp, data) {
|
|
31
|
+
// Create canonical string representation
|
|
32
|
+
const sortedKeys = Object.keys(data).sort();
|
|
33
|
+
const canonicalParts = sortedKeys.map(key => `${key}:${JSON.stringify(data[key])}`);
|
|
34
|
+
const canonicalString = canonicalParts.join('|');
|
|
35
|
+
return `request:${publicKey}:${timestamp}:${canonicalString}`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Create canonical data representation for signing
|
|
40
|
+
* Sorts keys and creates a consistent string representation
|
|
41
|
+
*/
|
|
42
|
+
export function canonicalizeData(data) {
|
|
43
|
+
const sortedKeys = Object.keys(data).sort();
|
|
44
|
+
const canonicalParts = sortedKeys.map(key => `${key}:${JSON.stringify(data[key])}`);
|
|
45
|
+
return canonicalParts.join('|');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Build auth challenge response payload
|
|
50
|
+
* Helper to construct the signed challenge response
|
|
51
|
+
*/
|
|
52
|
+
export function buildAuthChallengeResponse(publicKey, challenge, signature, timestamp) {
|
|
53
|
+
return {
|
|
54
|
+
challenge,
|
|
55
|
+
publicKey,
|
|
56
|
+
signature,
|
|
57
|
+
timestamp
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Validate timestamp freshness
|
|
63
|
+
* Ensures signed messages are not too old
|
|
64
|
+
*/
|
|
65
|
+
export function isTimestampFresh(timestamp, maxAgeMs = 5 * 60 * 1000 // 5 minutes default
|
|
66
|
+
) {
|
|
67
|
+
const now = Date.now();
|
|
68
|
+
return now - timestamp <= maxAgeMs && timestamp <= now;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=messageBuilders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["buildAuthMessage","publicKey","challenge","timestamp","buildRegistrationMessage","buildRequestMessage","data","sortedKeys","Object","keys","sort","canonicalParts","map","key","JSON","stringify","canonicalString","join","canonicalizeData","buildAuthChallengeResponse","signature","isTimestampFresh","maxAgeMs","now","Date"],"sourceRoot":"../../../../src","sources":["shared/crypto/messageBuilders.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAC9BC,SAAiB,EACjBC,SAAiB,EACjBC,SAAiB,EACT;EACR,OAAO,QAAQF,SAAS,IAAIC,SAAS,IAAIC,SAAS,EAAE;AACtD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CACtCH,SAAiB,EACjBE,SAAiB,EACT;EACR,OAAO,gBAAgBF,SAAS,IAAIE,SAAS,EAAE;AACjD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,mBAAmBA,CACjCJ,SAAiB,EACjBE,SAAiB,EACjBG,IAA6B,EACrB;EACR;EACA,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACH,IAAI,CAAC,CAACI,IAAI,CAAC,CAAC;EAC3C,MAAMC,cAAc,GAAGJ,UAAU,CAACK,GAAG,CAACC,GAAG,IAAI,GAAGA,GAAG,IAAIC,IAAI,CAACC,SAAS,CAACT,IAAI,CAACO,GAAG,CAAC,CAAC,EAAE,CAAC;EACnF,MAAMG,eAAe,GAAGL,cAAc,CAACM,IAAI,CAAC,GAAG,CAAC;EAEhD,OAAO,WAAWhB,SAAS,IAAIE,SAAS,IAAIa,eAAe,EAAE;AAC/D;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,gBAAgBA,CAACZ,IAA6B,EAAU;EACtE,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACH,IAAI,CAAC,CAACI,IAAI,CAAC,CAAC;EAC3C,MAAMC,cAAc,GAAGJ,UAAU,CAACK,GAAG,CAACC,GAAG,IAAI,GAAGA,GAAG,IAAIC,IAAI,CAACC,SAAS,CAACT,IAAI,CAACO,GAAG,CAAC,CAAC,EAAE,CAAC;EACnF,OAAOF,cAAc,CAACM,IAAI,CAAC,GAAG,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,0BAA0BA,CACxClB,SAAiB,EACjBC,SAAiB,EACjBkB,SAAiB,EACjBjB,SAAiB,EACM;EACvB,OAAO;IACLD,SAAS;IACTD,SAAS;IACTmB,SAAS;IACTjB;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASkB,gBAAgBA,CAC9BlB,SAAiB,EACjBmB,QAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAAA,EACxB;EACT,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;EACtB,OAAQA,GAAG,GAAGpB,SAAS,IAAKmB,QAAQ,IAAInB,SAAS,IAAIoB,GAAG;AAC1D","ignoreList":[]}
|