@oxy.so/services 11.9.0 → 11.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -4
- package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/manifest.json +5 -4
- package/lib/commonjs/index.js +45 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/appAssertion/AppAssertionContext.js +79 -0
- package/lib/commonjs/ui/appAssertion/AppAssertionContext.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appAssertionManager.js +309 -0
- package/lib/commonjs/ui/appAssertion/appAssertionManager.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.js +18 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.native.js +30 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.native.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityTypes.js +6 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityTypes.js.map +1 -0
- package/lib/commonjs/ui/components/AccountInvitationAcceptance.js +97 -0
- package/lib/commonjs/ui/components/AccountInvitationAcceptance.js.map +1 -0
- package/lib/commonjs/ui/components/DisplayCurrencySelector.js +49 -0
- package/lib/commonjs/ui/components/DisplayCurrencySelector.js.map +1 -0
- package/lib/commonjs/ui/components/fileManagement/FileAppAccessSection.js +121 -0
- package/lib/commonjs/ui/components/fileManagement/FileAppAccessSection.js.map +1 -0
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +6 -2
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +10 -1
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +4 -0
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +49 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +6 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js +35 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useDisplayCurrency.js +77 -0
- package/lib/commonjs/ui/hooks/useDisplayCurrency.js.map +1 -0
- package/lib/commonjs/ui/hooks/useDisplayPrice.js +59 -0
- package/lib/commonjs/ui/hooks/useDisplayPrice.js.map +1 -0
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js +1 -0
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/commonjs/ui/index.js +7 -0
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +63 -20
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PreferencesScreen.js +4 -3
- package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/manifest.json +5 -4
- package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/fonts/icons/manifest.json +5 -4
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/appAssertion/AppAssertionContext.js +72 -0
- package/lib/module/ui/appAssertion/AppAssertionContext.js.map +1 -0
- package/lib/module/ui/appAssertion/appAssertionManager.js +304 -0
- package/lib/module/ui/appAssertion/appAssertionManager.js.map +1 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.js +14 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.js.map +1 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.native.js +26 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.native.js.map +1 -0
- package/lib/module/ui/appAssertion/appIntegrityTypes.js +4 -0
- package/lib/module/ui/appAssertion/appIntegrityTypes.js.map +1 -0
- package/lib/module/ui/components/AccountInvitationAcceptance.js +94 -0
- package/lib/module/ui/components/AccountInvitationAcceptance.js.map +1 -0
- package/lib/module/ui/components/DisplayCurrencySelector.js +44 -0
- package/lib/module/ui/components/DisplayCurrencySelector.js.map +1 -0
- package/lib/module/ui/components/fileManagement/FileAppAccessSection.js +116 -0
- package/lib/module/ui/components/fileManagement/FileAppAccessSection.js.map +1 -0
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +6 -2
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +10 -1
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationKeys.js +4 -0
- package/lib/module/ui/hooks/mutations/mutationKeys.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +47 -0
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +6 -1
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js +33 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/module/ui/hooks/useDisplayCurrency.js +72 -0
- package/lib/module/ui/hooks/useDisplayCurrency.js.map +1 -0
- package/lib/module/ui/hooks/useDisplayPrice.js +56 -0
- package/lib/module/ui/hooks/useDisplayPrice.js.map +1 -0
- package/lib/module/ui/icons/subsetGlyphMaps.js +1 -0
- package/lib/module/ui/icons/subsetGlyphMaps.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/AccountMembersScreen.js +63 -20
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/PreferencesScreen.js +4 -3
- package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +7 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/appAssertion/AppAssertionContext.d.ts +41 -0
- package/lib/typescript/commonjs/ui/appAssertion/AppAssertionContext.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appAssertionManager.d.ts +92 -0
- package/lib/typescript/commonjs/ui/appAssertion/appAssertionManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.d.ts +9 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.native.d.ts +3 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityTypes.d.ts +22 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityTypes.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/AccountInvitationAcceptance.d.ts +5 -0
- package/lib/typescript/commonjs/ui/components/AccountInvitationAcceptance.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/DisplayCurrencySelector.d.ts +3 -0
- package/lib/typescript/commonjs/ui/components/DisplayCurrencySelector.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileAppAccessSection.d.ts +15 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileAppAccessSection.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts +3 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +20 -2
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +5 -0
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +11 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts +2 -1
- package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useDisplayCurrency.d.ts +11 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayCurrency.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayPrice.d.ts +6 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayPrice.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +1 -0
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +7 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/appAssertion/AppAssertionContext.d.ts +41 -0
- package/lib/typescript/module/ui/appAssertion/AppAssertionContext.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appAssertionManager.d.ts +92 -0
- package/lib/typescript/module/ui/appAssertion/appAssertionManager.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.d.ts +9 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.native.d.ts +3 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.native.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityTypes.d.ts +22 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityTypes.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/AccountInvitationAcceptance.d.ts +5 -0
- package/lib/typescript/module/ui/components/AccountInvitationAcceptance.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/DisplayCurrencySelector.d.ts +3 -0
- package/lib/typescript/module/ui/components/DisplayCurrencySelector.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/fileManagement/FileAppAccessSection.d.ts +15 -0
- package/lib/typescript/module/ui/components/fileManagement/FileAppAccessSection.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +2 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts +3 -0
- package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +20 -2
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +5 -0
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +11 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts +2 -1
- package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useDisplayCurrency.d.ts +11 -0
- package/lib/typescript/module/ui/hooks/useDisplayCurrency.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useDisplayPrice.d.ts +6 -0
- package/lib/typescript/module/ui/hooks/useDisplayPrice.d.ts.map +1 -0
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +1 -0
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/package.json +9 -6
- package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/src/assets/fonts/icons/manifest.json +5 -4
- package/src/index.ts +17 -0
- package/src/ui/appAssertion/AppAssertionContext.tsx +109 -0
- package/src/ui/appAssertion/appAssertionManager.ts +363 -0
- package/src/ui/appAssertion/appIntegrityPlatform.native.ts +27 -0
- package/src/ui/appAssertion/appIntegrityPlatform.ts +12 -0
- package/src/ui/appAssertion/appIntegrityTypes.ts +23 -0
- package/src/ui/components/AccountInvitationAcceptance.tsx +90 -0
- package/src/ui/components/DisplayCurrencySelector.tsx +38 -0
- package/src/ui/components/__tests__/AccountInvitationAcceptance.test.tsx +61 -0
- package/src/ui/components/fileManagement/FileAppAccessSection.tsx +111 -0
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +5 -1
- package/src/ui/context/OxyContext.tsx +13 -1
- package/src/ui/hooks/mutations/mutationKeys.ts +5 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +33 -0
- package/src/ui/hooks/queries/queryKeys.ts +5 -0
- package/src/ui/hooks/queries/useFileQueries.ts +44 -2
- package/src/ui/hooks/useDisplayCurrency.ts +64 -0
- package/src/ui/hooks/useDisplayPrice.ts +40 -0
- package/src/ui/icons/subsetGlyphMaps.ts +1 -0
- package/src/ui/index.ts +2 -0
- package/src/ui/screens/AccountMembersScreen.tsx +71 -27
- package/src/ui/screens/PreferencesScreen.tsx +2 -0
|
Binary file
|
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"fontFamily": "OxyServicesIonicons",
|
|
7
7
|
"file": "src/assets/fonts/icons/OxyServicesIonicons.ttf",
|
|
8
8
|
"bytes": 43160,
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "d96ec296f01cc237bf8e087401879aeef569c82871f40e4447d63bc8a9eaab3e",
|
|
10
10
|
"names": [
|
|
11
11
|
"add",
|
|
12
12
|
"add-circle-outline",
|
|
@@ -152,8 +152,8 @@
|
|
|
152
152
|
"materialCommunityIcons": {
|
|
153
153
|
"fontFamily": "OxyServicesMaterialCommunityIcons",
|
|
154
154
|
"file": "src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf",
|
|
155
|
-
"bytes":
|
|
156
|
-
"sha256": "
|
|
155
|
+
"bytes": 29292,
|
|
156
|
+
"sha256": "a3bef5c42424d459860676f20d7f1e9aaea4f7295aba3d5361ca2195d8f1d59c",
|
|
157
157
|
"names": [
|
|
158
158
|
"account",
|
|
159
159
|
"account-circle",
|
|
@@ -337,6 +337,7 @@
|
|
|
337
337
|
"trophy",
|
|
338
338
|
"trophy-outline",
|
|
339
339
|
"update",
|
|
340
|
+
"upload",
|
|
340
341
|
"video-outline",
|
|
341
342
|
"volume-off",
|
|
342
343
|
"wallet",
|
|
@@ -352,5 +353,5 @@
|
|
|
352
353
|
}
|
|
353
354
|
},
|
|
354
355
|
"glyphMapsFile": "src/ui/icons/subsetGlyphMaps.ts",
|
|
355
|
-
"glyphMapsSha256": "
|
|
356
|
+
"glyphMapsSha256": "b0a3d21006a83bf10deac1c8e5bb1a4dacac3c0afe9d445ed856f766f49b6c01"
|
|
356
357
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"fontFamily": "OxyServicesIonicons",
|
|
7
7
|
"file": "src/assets/fonts/icons/OxyServicesIonicons.ttf",
|
|
8
8
|
"bytes": 43160,
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "d96ec296f01cc237bf8e087401879aeef569c82871f40e4447d63bc8a9eaab3e",
|
|
10
10
|
"names": [
|
|
11
11
|
"add",
|
|
12
12
|
"add-circle-outline",
|
|
@@ -152,8 +152,8 @@
|
|
|
152
152
|
"materialCommunityIcons": {
|
|
153
153
|
"fontFamily": "OxyServicesMaterialCommunityIcons",
|
|
154
154
|
"file": "src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf",
|
|
155
|
-
"bytes":
|
|
156
|
-
"sha256": "
|
|
155
|
+
"bytes": 29292,
|
|
156
|
+
"sha256": "a3bef5c42424d459860676f20d7f1e9aaea4f7295aba3d5361ca2195d8f1d59c",
|
|
157
157
|
"names": [
|
|
158
158
|
"account",
|
|
159
159
|
"account-circle",
|
|
@@ -337,6 +337,7 @@
|
|
|
337
337
|
"trophy",
|
|
338
338
|
"trophy-outline",
|
|
339
339
|
"update",
|
|
340
|
+
"upload",
|
|
340
341
|
"video-outline",
|
|
341
342
|
"volume-off",
|
|
342
343
|
"wallet",
|
|
@@ -352,5 +353,5 @@
|
|
|
352
353
|
}
|
|
353
354
|
},
|
|
354
355
|
"glyphMapsFile": "src/ui/icons/subsetGlyphMaps.ts",
|
|
355
|
-
"glyphMapsSha256": "
|
|
356
|
+
"glyphMapsSha256": "b0a3d21006a83bf10deac1c8e5bb1a4dacac3c0afe9d445ed856f766f49b6c01"
|
|
356
357
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,12 +3,30 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "AccountInvitationAcceptance", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _AccountInvitationAcceptance.AccountInvitationAcceptance;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "AppAssertionProviderMissingError", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _AppAssertionContext.AppAssertionProviderMissingError;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
6
18
|
Object.defineProperty(exports, "CLEARABLE_USER_FIELDS", {
|
|
7
19
|
enumerable: true,
|
|
8
20
|
get: function () {
|
|
9
21
|
return _userCache.CLEARABLE_USER_FIELDS;
|
|
10
22
|
}
|
|
11
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "DisplayCurrencySelector", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _DisplayCurrencySelector.DisplayCurrencySelector;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
12
30
|
Object.defineProperty(exports, "FOLLOW_ACTION_LEAVES_ACTIVE", {
|
|
13
31
|
enumerable: true,
|
|
14
32
|
get: function () {
|
|
@@ -435,6 +453,12 @@ Object.defineProperty(exports, "useActiveAccount", {
|
|
|
435
453
|
return _index.useActiveAccount;
|
|
436
454
|
}
|
|
437
455
|
});
|
|
456
|
+
Object.defineProperty(exports, "useAppAssertion", {
|
|
457
|
+
enumerable: true,
|
|
458
|
+
get: function () {
|
|
459
|
+
return _AppAssertionContext.useAppAssertion;
|
|
460
|
+
}
|
|
461
|
+
});
|
|
438
462
|
Object.defineProperty(exports, "useAsset", {
|
|
439
463
|
enumerable: true,
|
|
440
464
|
get: function () {
|
|
@@ -537,6 +561,18 @@ Object.defineProperty(exports, "useDeviceSwitcher", {
|
|
|
537
561
|
return _useDeviceSwitcher.useDeviceSwitcher;
|
|
538
562
|
}
|
|
539
563
|
});
|
|
564
|
+
Object.defineProperty(exports, "useDisplayCurrency", {
|
|
565
|
+
enumerable: true,
|
|
566
|
+
get: function () {
|
|
567
|
+
return _useDisplayCurrency.useDisplayCurrency;
|
|
568
|
+
}
|
|
569
|
+
});
|
|
570
|
+
Object.defineProperty(exports, "useDisplayPrice", {
|
|
571
|
+
enumerable: true,
|
|
572
|
+
get: function () {
|
|
573
|
+
return _useDisplayPrice.useDisplayPrice;
|
|
574
|
+
}
|
|
575
|
+
});
|
|
540
576
|
Object.defineProperty(exports, "useFileDownloadUrl", {
|
|
541
577
|
enumerable: true,
|
|
542
578
|
get: function () {
|
|
@@ -855,6 +891,7 @@ var _OxyProvider = _interopRequireDefault(require("./ui/components/OxyProvider.j
|
|
|
855
891
|
var _OxyContext = require("./ui/context/OxyContext.js");
|
|
856
892
|
var _index = require("./ui/runtime/index.js");
|
|
857
893
|
var _useAuth = require("./ui/hooks/useAuth.js");
|
|
894
|
+
var _AppAssertionContext = require("./ui/appAssertion/AppAssertionContext.js");
|
|
858
895
|
var _productAnalytics = require("./ui/analytics/productAnalytics.js");
|
|
859
896
|
var _identityBinding = require("./ui/session/identityBinding.js");
|
|
860
897
|
var _authStore = require("./ui/stores/authStore.js");
|
|
@@ -910,6 +947,10 @@ var _useSurfaceHeader = require("./ui/hooks/useSurfaceHeader.js");
|
|
|
910
947
|
var _SurfaceHeaderAction = require("./ui/components/SurfaceHeaderAction.js");
|
|
911
948
|
var _accountDialogManager = require("./ui/navigation/accountDialogManager.js");
|
|
912
949
|
var _usePersonalPlans = require("./ui/hooks/queries/usePersonalPlans.js");
|
|
950
|
+
var _AccountInvitationAcceptance = require("./ui/components/AccountInvitationAcceptance.js");
|
|
951
|
+
var _DisplayCurrencySelector = require("./ui/components/DisplayCurrencySelector.js");
|
|
952
|
+
var _useDisplayCurrency = require("./ui/hooks/useDisplayCurrency.js");
|
|
953
|
+
var _useDisplayPrice = require("./ui/hooks/useDisplayPrice.js");
|
|
913
954
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
914
955
|
/**
|
|
915
956
|
* @oxy.so/services — OxyHQ Expo/React Native SDK
|
|
@@ -951,6 +992,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
951
992
|
// selector, so — unlike `useOxy()`, whose value is rebuilt by any of its fifty
|
|
952
993
|
// members moving — a locale change or a dialog opening does not re-render them.
|
|
953
994
|
|
|
995
|
+
// This app's Oxy-signed assertion of which app it is (ADR 0045), obtained and
|
|
996
|
+
// refreshed by the provider; attach `getAppAssertionHeaders()` to a request
|
|
997
|
+
// for a service that needs to know the app.
|
|
998
|
+
|
|
954
999
|
// Thrown by `switchToAccount` / `switchSession` while `OxyProvider` runs with
|
|
955
1000
|
// `sessionMode="identity"` — an identity-bound app authenticates as the owner of
|
|
956
1001
|
// the local identity key and cannot switch accounts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_index","_useAuth","_productAnalytics","_identityBinding","_authStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_OxySignInButton","_oauthPopup","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_FollowTargetButton","_followRules","_useFollowTarget","_followTargetStore","_PeableButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxySignInPanel","_OxySignUpPanel","_OxyAccountPicker","_OxyDeleteAccountPanel","_OxyLinkCommonsPanel","_OxyPasswordPanel","_OxyAuthenticatorPanel","_OxyAuthScreen","_OxySignInRequestSurface","_useDeviceSwitcher","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","_usePersonalPlans","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_index","_useAuth","_AppAssertionContext","_productAnalytics","_identityBinding","_authStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_OxySignInButton","_oauthPopup","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_FollowTargetButton","_followRules","_useFollowTarget","_followTargetStore","_PeableButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxySignInPanel","_OxySignUpPanel","_OxyAccountPicker","_OxyDeleteAccountPanel","_OxyLinkCommonsPanel","_OxyPasswordPanel","_OxyAuthenticatorPanel","_OxyAuthScreen","_OxySignInRequestSurface","_useDeviceSwitcher","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","_usePersonalPlans","_AccountInvitationAcceptance","_DisplayCurrencySelector","_useDisplayCurrency","_useDisplayPrice","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AppAssertionProvider = AppAssertionProvider;
|
|
7
|
+
exports.AppAssertionProviderMissingError = void 0;
|
|
8
|
+
exports.useAppAssertion = useAppAssertion;
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _appIntegrityPlatform = require("./appIntegrityPlatform");
|
|
11
|
+
var _appAssertionManager = require("./appAssertionManager.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
/**
|
|
14
|
+
* `useAppAssertion()` (ADR 0045): this app's Oxy-signed assertion of which app
|
|
15
|
+
* it is, for the signed-in session.
|
|
16
|
+
*
|
|
17
|
+
* `OxyProvider` mounts {@link AppAssertionProvider} itself and the manager
|
|
18
|
+
* obtains and refreshes the assertion on its own; an app never handles the
|
|
19
|
+
* proof. Something that calls a service which needs to know the app (Alia's
|
|
20
|
+
* SDK, for an agent confined to its application) attaches
|
|
21
|
+
* `await getAppAssertionHeaders()` to the request.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const AppAssertionContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
25
|
+
function AppAssertionProvider({
|
|
26
|
+
children,
|
|
27
|
+
oxyServices,
|
|
28
|
+
clientId,
|
|
29
|
+
userId,
|
|
30
|
+
sessionId,
|
|
31
|
+
storage,
|
|
32
|
+
storageKeyPrefix,
|
|
33
|
+
integrity = _appIntegrityPlatform.appIntegrityPlatform
|
|
34
|
+
}) {
|
|
35
|
+
// Read only when an iOS install needs its App Attest key id, never in render.
|
|
36
|
+
const storageRef = (0, _react.useRef)(storage);
|
|
37
|
+
(0, _react.useEffect)(() => {
|
|
38
|
+
storageRef.current = storage;
|
|
39
|
+
}, [storage]);
|
|
40
|
+
const manager = (0, _react.useMemo)(() => new _appAssertionManager.AppAssertionManager({
|
|
41
|
+
oxyServices,
|
|
42
|
+
clientId,
|
|
43
|
+
integrity,
|
|
44
|
+
storage: () => storageRef.current,
|
|
45
|
+
storageKeyPrefix
|
|
46
|
+
}), [oxyServices, clientId, integrity, storageKeyPrefix]);
|
|
47
|
+
(0, _react.useEffect)(() => {
|
|
48
|
+
manager.setSession(userId && sessionId ? {
|
|
49
|
+
userId,
|
|
50
|
+
sessionId
|
|
51
|
+
} : null);
|
|
52
|
+
}, [manager, userId, sessionId]);
|
|
53
|
+
(0, _react.useEffect)(() => () => manager.dispose(), [manager]);
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AppAssertionContext.Provider, {
|
|
55
|
+
value: manager,
|
|
56
|
+
children: children
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
class AppAssertionProviderMissingError extends Error {
|
|
60
|
+
code = 'oxy_provider_missing';
|
|
61
|
+
constructor() {
|
|
62
|
+
super('useAppAssertion() was called outside <OxyProvider>.');
|
|
63
|
+
this.name = 'AppAssertionProviderMissingError';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** This app's assertion of which app it is, kept current for the signed-in session. */
|
|
68
|
+
exports.AppAssertionProviderMissingError = AppAssertionProviderMissingError;
|
|
69
|
+
function useAppAssertion() {
|
|
70
|
+
const manager = (0, _react.useContext)(AppAssertionContext);
|
|
71
|
+
if (!manager) throw new AppAssertionProviderMissingError();
|
|
72
|
+
const snapshot = (0, _react.useSyncExternalStore)(manager.subscribe, manager.getSnapshot, manager.getSnapshot);
|
|
73
|
+
return {
|
|
74
|
+
...snapshot,
|
|
75
|
+
getAppAssertion: manager.getAppAssertion,
|
|
76
|
+
getAppAssertionHeaders: manager.getAppAssertionHeaders
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=AppAssertionContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_appIntegrityPlatform","_appAssertionManager","_jsxRuntime","AppAssertionContext","createContext","AppAssertionProvider","children","oxyServices","clientId","userId","sessionId","storage","storageKeyPrefix","integrity","appIntegrityPlatform","storageRef","useRef","useEffect","current","manager","useMemo","AppAssertionManager","setSession","dispose","jsx","Provider","value","AppAssertionProviderMissingError","Error","code","constructor","name","exports","useAppAssertion","useContext","snapshot","useSyncExternalStore","subscribe","getSnapshot","getAppAssertion","getAppAssertionHeaders"],"sourceRoot":"../../../../src","sources":["ui/appAssertion/AppAssertionContext.tsx"],"mappings":";;;;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAAuF,IAAAG,WAAA,GAAAH,OAAA;AAvBvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA,MAAMI,mBAAmB,gBAAG,IAAAC,oBAAa,EAA6B,IAAI,CAAC;AAepE,SAASC,oBAAoBA,CAAC;EACnCC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC,MAAM;EACNC,SAAS;EACTC,OAAO;EACPC,gBAAgB;EAChBC,SAAS,GAAGC;AACa,CAAC,EAAE;EAC5B;EACA,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAA0BL,OAAO,CAAC;EAC3D,IAAAM,gBAAS,EAAC,MAAM;IACdF,UAAU,CAACG,OAAO,GAAGP,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMQ,OAAO,GAAG,IAAAC,cAAO,EACrB,MACE,IAAIC,wCAAmB,CAAC;IACtBd,WAAW;IACXC,QAAQ;IACRK,SAAS;IACTF,OAAO,EAAEA,CAAA,KAAMI,UAAU,CAACG,OAAO;IACjCN;EACF,CAAC,CAAC,EACJ,CAACL,WAAW,EAAEC,QAAQ,EAAEK,SAAS,EAAED,gBAAgB,CACrD,CAAC;EAED,IAAAK,gBAAS,EAAC,MAAM;IACdE,OAAO,CAACG,UAAU,CAACb,MAAM,IAAIC,SAAS,GAAG;MAAED,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAI,CAAC;EACxE,CAAC,EAAE,CAACS,OAAO,EAAEV,MAAM,EAAEC,SAAS,CAAC,CAAC;EAEhC,IAAAO,gBAAS,EAAC,MAAM,MAAME,OAAO,CAACI,OAAO,CAAC,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAEnD,oBAAO,IAAAjB,WAAA,CAAAsB,GAAA,EAACrB,mBAAmB,CAACsB,QAAQ;IAACC,KAAK,EAAEP,OAAQ;IAAAb,QAAA,EAAEA;EAAQ,CAA+B,CAAC;AAChG;AASO,MAAMqB,gCAAgC,SAASC,KAAK,CAAC;EACjDC,IAAI,GAAG,sBAAsB;EAEtCC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,qDAAqD,CAAC;IAC5D,IAAI,CAACC,IAAI,GAAG,kCAAkC;EAChD;AACF;;AAEA;AAAAC,OAAA,CAAAL,gCAAA,GAAAA,gCAAA;AACO,SAASM,eAAeA,CAAA,EAA0B;EACvD,MAAMd,OAAO,GAAG,IAAAe,iBAAU,EAAC/B,mBAAmB,CAAC;EAC/C,IAAI,CAACgB,OAAO,EAAE,MAAM,IAAIQ,gCAAgC,CAAC,CAAC;EAC1D,MAAMQ,QAAQ,GAAG,IAAAC,2BAAoB,EACnCjB,OAAO,CAACkB,SAAS,EACjBlB,OAAO,CAACmB,WAAW,EACnBnB,OAAO,CAACmB,WACV,CAAC;EACD,OAAO;IACL,GAAGH,QAAQ;IACXI,eAAe,EAAEpB,OAAO,CAACoB,eAAe;IACxCC,sBAAsB,EAAErB,OAAO,CAACqB;EAClC,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AppAssertionManager = void 0;
|
|
7
|
+
var _client = require("@oxy.so/contracts/client");
|
|
8
|
+
/**
|
|
9
|
+
* The app's assertion of which app it is (ADR 0045), obtained and refreshed for
|
|
10
|
+
* the signed-in session without any app code.
|
|
11
|
+
*
|
|
12
|
+
* One manager per `OxyProvider`. For the active session it resolves the app's
|
|
13
|
+
* application id from its registered `clientId`, proves the app by platform —
|
|
14
|
+
* the browser's `Origin` on the web, Play Integrity on Android, App Attest on
|
|
15
|
+
* iOS — trades the proof for an Oxy-signed `OXY-APP+JWT`, and refreshes it a
|
|
16
|
+
* minute before it expires. A session change drops the assertion at once: an
|
|
17
|
+
* assertion names exactly one person and one session.
|
|
18
|
+
*
|
|
19
|
+
* Outcomes are values, never thrown: `ready`, `unsupported` (this build cannot
|
|
20
|
+
* prove itself: no `clientId`, no native module, App Attest unavailable) or
|
|
21
|
+
* `unavailable` (Oxy refused or could not be reached). A refusal that will not
|
|
22
|
+
* change for this session (an unregistered origin or platform) is not retried
|
|
23
|
+
* until the session changes; anything else is retried with a backoff.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** Refresh this long before expiry. */
|
|
27
|
+
const REFRESH_BEFORE_MS = 60_000;
|
|
28
|
+
/** `getAppAssertion()` fetches anew when less than this is left. */
|
|
29
|
+
const MIN_REMAINING_MS = 30_000;
|
|
30
|
+
const RETRY_FIRST_MS = 30_000;
|
|
31
|
+
const RETRY_MAX_MS = 15 * 60_000;
|
|
32
|
+
|
|
33
|
+
/** Refusals that will not change for this session. */
|
|
34
|
+
const PERMANENT_REFUSALS = new Set(['application_unavailable', 'session_other_application', 'platform_not_registered', 'origin_not_registered', 'integrity_unconfigured']);
|
|
35
|
+
const IDLE = {
|
|
36
|
+
status: 'idle',
|
|
37
|
+
assertion: null,
|
|
38
|
+
applicationId: null,
|
|
39
|
+
platform: null,
|
|
40
|
+
expiresAt: null,
|
|
41
|
+
error: null
|
|
42
|
+
};
|
|
43
|
+
class Unsupported extends Error {
|
|
44
|
+
constructor(reason) {
|
|
45
|
+
super(reason);
|
|
46
|
+
this.reason = reason;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function errorCode(error) {
|
|
50
|
+
if (error instanceof Unsupported) return error.reason;
|
|
51
|
+
const code = error?.code;
|
|
52
|
+
return typeof code === 'string' && code.length > 0 ? code : 'request_failed';
|
|
53
|
+
}
|
|
54
|
+
class AppAssertionManager {
|
|
55
|
+
snapshot = IDLE;
|
|
56
|
+
listeners = new Set();
|
|
57
|
+
session = null;
|
|
58
|
+
/** Bumped on every session change; a result for an older generation is dropped. */
|
|
59
|
+
generation = 0;
|
|
60
|
+
inflight = null;
|
|
61
|
+
timer = null;
|
|
62
|
+
retryMs = RETRY_FIRST_MS;
|
|
63
|
+
retryAt = 0;
|
|
64
|
+
applicationId = null;
|
|
65
|
+
preparedProject = null;
|
|
66
|
+
constructor(options) {
|
|
67
|
+
this.options = options;
|
|
68
|
+
this.now = options.now ?? Date.now;
|
|
69
|
+
this.setTimer = options.setTimer ?? ((run, ms) => setTimeout(run, ms));
|
|
70
|
+
this.clearTimer = options.clearTimer ?? (timer => clearTimeout(timer));
|
|
71
|
+
}
|
|
72
|
+
subscribe = listener => {
|
|
73
|
+
this.listeners.add(listener);
|
|
74
|
+
return () => {
|
|
75
|
+
this.listeners.delete(listener);
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
getSnapshot = () => this.snapshot;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* A current assertion for the active session, obtaining one when there is
|
|
82
|
+
* none or it is about to expire; `null` when this app cannot have one now.
|
|
83
|
+
*/
|
|
84
|
+
getAppAssertion = async () => {
|
|
85
|
+
const current = this.snapshot;
|
|
86
|
+
if (current.status === 'ready' && current.assertion && current.expiresAt !== null && current.expiresAt - this.now() > MIN_REMAINING_MS) {
|
|
87
|
+
return current.assertion;
|
|
88
|
+
}
|
|
89
|
+
if (!this.session || current.status === 'unsupported') return null;
|
|
90
|
+
if (current.status === 'unavailable' && this.now() < this.retryAt) return null;
|
|
91
|
+
return this.refresh();
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* `{ 'X-Oxy-App-Assertion': <assertion> }` for a request to a service that
|
|
96
|
+
* needs to know the app (Alia), or `{}` when there is none.
|
|
97
|
+
*/
|
|
98
|
+
getAppAssertionHeaders = async () => {
|
|
99
|
+
const assertion = await this.getAppAssertion();
|
|
100
|
+
return assertion ? {
|
|
101
|
+
[_client.OXY_APP_ASSERTION_HEADER]: assertion
|
|
102
|
+
} : {};
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/** Follow the active session; `null` when signed out or not yet able to call Oxy. */
|
|
106
|
+
setSession(session) {
|
|
107
|
+
const same = session?.userId === this.session?.userId && session?.sessionId === this.session?.sessionId;
|
|
108
|
+
if (same) return;
|
|
109
|
+
this.session = session;
|
|
110
|
+
this.generation += 1;
|
|
111
|
+
this.inflight = null;
|
|
112
|
+
this.retryMs = RETRY_FIRST_MS;
|
|
113
|
+
this.retryAt = 0;
|
|
114
|
+
this.cancelTimer();
|
|
115
|
+
this.publish(IDLE);
|
|
116
|
+
if (session) void this.refresh();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** Stop all work. A later `setSession` starts again. */
|
|
120
|
+
dispose() {
|
|
121
|
+
this.session = null;
|
|
122
|
+
this.generation += 1;
|
|
123
|
+
this.inflight = null;
|
|
124
|
+
this.cancelTimer();
|
|
125
|
+
}
|
|
126
|
+
refresh() {
|
|
127
|
+
if (this.inflight) return this.inflight;
|
|
128
|
+
const generation = this.generation;
|
|
129
|
+
const run = this.obtain().then(answer => {
|
|
130
|
+
if (generation !== this.generation) return null;
|
|
131
|
+
const expiresAt = Date.parse(answer.expiresAt);
|
|
132
|
+
this.retryMs = RETRY_FIRST_MS;
|
|
133
|
+
this.publish({
|
|
134
|
+
status: 'ready',
|
|
135
|
+
assertion: answer.assertion,
|
|
136
|
+
applicationId: answer.applicationId,
|
|
137
|
+
platform: answer.platform,
|
|
138
|
+
expiresAt,
|
|
139
|
+
error: null
|
|
140
|
+
});
|
|
141
|
+
this.schedule(Math.max(expiresAt - this.now() - REFRESH_BEFORE_MS, MIN_REMAINING_MS));
|
|
142
|
+
return answer.assertion;
|
|
143
|
+
}).catch(error => {
|
|
144
|
+
if (generation !== this.generation) return null;
|
|
145
|
+
const code = errorCode(error);
|
|
146
|
+
const unsupported = error instanceof Unsupported;
|
|
147
|
+
const current = this.snapshot;
|
|
148
|
+
if (!unsupported && !PERMANENT_REFUSALS.has(code) && current.status === 'ready' && current.expiresAt !== null && current.expiresAt - this.now() > MIN_REMAINING_MS) {
|
|
149
|
+
// The assertion in hand is still good: keep it, and try again soon.
|
|
150
|
+
this.schedule(Math.min(RETRY_FIRST_MS, current.expiresAt - this.now() - MIN_REMAINING_MS));
|
|
151
|
+
return current.assertion;
|
|
152
|
+
}
|
|
153
|
+
this.publish({
|
|
154
|
+
...IDLE,
|
|
155
|
+
status: unsupported ? 'unsupported' : 'unavailable',
|
|
156
|
+
platform: this.options.integrity.platform,
|
|
157
|
+
error: code
|
|
158
|
+
});
|
|
159
|
+
if (!unsupported) {
|
|
160
|
+
if (PERMANENT_REFUSALS.has(code)) {
|
|
161
|
+
this.retryAt = Number.POSITIVE_INFINITY;
|
|
162
|
+
} else {
|
|
163
|
+
this.retryAt = this.now() + this.retryMs;
|
|
164
|
+
this.schedule(this.retryMs);
|
|
165
|
+
this.retryMs = Math.min(this.retryMs * 2, RETRY_MAX_MS);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
169
|
+
}).finally(() => {
|
|
170
|
+
if (this.inflight === run) this.inflight = null;
|
|
171
|
+
});
|
|
172
|
+
this.inflight = run;
|
|
173
|
+
if (this.snapshot.status !== 'ready') this.publish({
|
|
174
|
+
...this.snapshot,
|
|
175
|
+
status: 'pending'
|
|
176
|
+
});
|
|
177
|
+
return run;
|
|
178
|
+
}
|
|
179
|
+
async obtain() {
|
|
180
|
+
const applicationId = await this.resolveApplicationId();
|
|
181
|
+
const {
|
|
182
|
+
platform
|
|
183
|
+
} = this.options.integrity;
|
|
184
|
+
const assertions = this.options.oxyServices.apps.assertions;
|
|
185
|
+
if (platform === 'web') return assertions.create({
|
|
186
|
+
applicationId,
|
|
187
|
+
platform: 'web'
|
|
188
|
+
});
|
|
189
|
+
const integrity = await this.options.integrity.loadIntegrity();
|
|
190
|
+
if (!integrity) throw new Unsupported('integrity_module_unavailable');
|
|
191
|
+
if (platform === 'android') return this.proveAndroid(applicationId, integrity);
|
|
192
|
+
if (!integrity.isSupported) throw new Unsupported('app_attest_unsupported');
|
|
193
|
+
return this.proveIos(applicationId, integrity);
|
|
194
|
+
}
|
|
195
|
+
resolveApplicationId() {
|
|
196
|
+
const clientId = this.options.clientId;
|
|
197
|
+
if (!clientId) return Promise.reject(new Unsupported('client_id_missing'));
|
|
198
|
+
if (this.applicationId?.clientId !== clientId) {
|
|
199
|
+
const id = this.options.oxyServices.apps.getPublic(clientId).then(app => app.id);
|
|
200
|
+
id.catch(() => {
|
|
201
|
+
if (this.applicationId?.id === id) this.applicationId = null;
|
|
202
|
+
});
|
|
203
|
+
this.applicationId = {
|
|
204
|
+
clientId,
|
|
205
|
+
id
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
return this.applicationId.id;
|
|
209
|
+
}
|
|
210
|
+
async proveAndroid(applicationId, integrity) {
|
|
211
|
+
const assertions = this.options.oxyServices.apps.assertions;
|
|
212
|
+
const challenge = await assertions.challenge({
|
|
213
|
+
applicationId,
|
|
214
|
+
platform: 'android'
|
|
215
|
+
});
|
|
216
|
+
if (!challenge.cloudProjectNumber) throw new Unsupported('integrity_unconfigured');
|
|
217
|
+
try {
|
|
218
|
+
if (this.preparedProject !== challenge.cloudProjectNumber) {
|
|
219
|
+
await integrity.prepareIntegrityTokenProviderAsync(challenge.cloudProjectNumber);
|
|
220
|
+
this.preparedProject = challenge.cloudProjectNumber;
|
|
221
|
+
}
|
|
222
|
+
const integrityToken = await integrity.requestIntegrityCheckAsync(challenge.requestHash);
|
|
223
|
+
return await assertions.create({
|
|
224
|
+
applicationId,
|
|
225
|
+
platform: 'android',
|
|
226
|
+
proof: {
|
|
227
|
+
challenge: challenge.challenge,
|
|
228
|
+
integrityToken
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
} catch (error) {
|
|
232
|
+
// A provider Google invalidated is prepared again on the next attempt.
|
|
233
|
+
this.preparedProject = null;
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
async proveIos(applicationId, integrity) {
|
|
238
|
+
const keyName = `${this.options.storageKeyPrefix}_app_attest_key_${applicationId}`;
|
|
239
|
+
const storage = this.options.storage();
|
|
240
|
+
const assertOnce = async keyId => {
|
|
241
|
+
const assertions = this.options.oxyServices.apps.assertions;
|
|
242
|
+
const challenge = await assertions.challenge({
|
|
243
|
+
applicationId,
|
|
244
|
+
platform: 'ios',
|
|
245
|
+
purpose: 'assertion'
|
|
246
|
+
});
|
|
247
|
+
const assertion = await integrity.generateAssertionAsync(keyId, challenge.requestHash);
|
|
248
|
+
return assertions.create({
|
|
249
|
+
applicationId,
|
|
250
|
+
platform: 'ios',
|
|
251
|
+
proof: {
|
|
252
|
+
challenge: challenge.challenge,
|
|
253
|
+
keyId,
|
|
254
|
+
assertion
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
};
|
|
258
|
+
const stored = await storage?.getItem(keyName).catch(() => null);
|
|
259
|
+
if (stored) {
|
|
260
|
+
try {
|
|
261
|
+
return await assertOnce(stored);
|
|
262
|
+
} catch (error) {
|
|
263
|
+
// Oxy no longer knows the key (swept, or never registered): attest a new one.
|
|
264
|
+
if (errorCode(error) !== 'attest_key_unknown') throw error;
|
|
265
|
+
await storage?.removeItem(keyName).catch(() => undefined);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
const keyId = await this.attestKey(applicationId, integrity);
|
|
269
|
+
await storage?.setItem(keyName, keyId).catch(() => undefined);
|
|
270
|
+
return assertOnce(keyId);
|
|
271
|
+
}
|
|
272
|
+
async attestKey(applicationId, integrity) {
|
|
273
|
+
const assertions = this.options.oxyServices.apps.assertions;
|
|
274
|
+
const keyId = await integrity.generateKeyAsync();
|
|
275
|
+
const challenge = await assertions.challenge({
|
|
276
|
+
applicationId,
|
|
277
|
+
platform: 'ios',
|
|
278
|
+
purpose: 'attest_key'
|
|
279
|
+
});
|
|
280
|
+
const attestation = await integrity.attestKeyAsync(keyId, challenge.requestHash);
|
|
281
|
+
await assertions.registerAttestKey({
|
|
282
|
+
applicationId,
|
|
283
|
+
keyId,
|
|
284
|
+
challenge: challenge.challenge,
|
|
285
|
+
attestation
|
|
286
|
+
});
|
|
287
|
+
return keyId;
|
|
288
|
+
}
|
|
289
|
+
schedule(ms) {
|
|
290
|
+
this.cancelTimer();
|
|
291
|
+
const generation = this.generation;
|
|
292
|
+
this.timer = this.setTimer(() => {
|
|
293
|
+
this.timer = null;
|
|
294
|
+
if (generation === this.generation && this.session) void this.refresh();
|
|
295
|
+
}, ms);
|
|
296
|
+
}
|
|
297
|
+
cancelTimer() {
|
|
298
|
+
if (this.timer !== null) {
|
|
299
|
+
this.clearTimer(this.timer);
|
|
300
|
+
this.timer = null;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
publish(next) {
|
|
304
|
+
this.snapshot = next;
|
|
305
|
+
for (const listener of this.listeners) listener();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
exports.AppAssertionManager = AppAssertionManager;
|
|
309
|
+
//# sourceMappingURL=appAssertionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_client","require","REFRESH_BEFORE_MS","MIN_REMAINING_MS","RETRY_FIRST_MS","RETRY_MAX_MS","PERMANENT_REFUSALS","Set","IDLE","status","assertion","applicationId","platform","expiresAt","error","Unsupported","Error","constructor","reason","errorCode","code","length","AppAssertionManager","snapshot","listeners","session","generation","inflight","timer","retryMs","retryAt","preparedProject","options","now","Date","setTimer","run","ms","setTimeout","clearTimer","clearTimeout","subscribe","listener","add","delete","getSnapshot","getAppAssertion","current","refresh","getAppAssertionHeaders","OXY_APP_ASSERTION_HEADER","setSession","same","userId","sessionId","cancelTimer","publish","dispose","obtain","then","answer","parse","schedule","Math","max","catch","unsupported","has","min","integrity","Number","POSITIVE_INFINITY","finally","resolveApplicationId","assertions","oxyServices","apps","create","loadIntegrity","proveAndroid","isSupported","proveIos","clientId","Promise","reject","id","getPublic","app","challenge","cloudProjectNumber","prepareIntegrityTokenProviderAsync","integrityToken","requestIntegrityCheckAsync","requestHash","proof","keyName","storageKeyPrefix","storage","assertOnce","keyId","purpose","generateAssertionAsync","stored","getItem","removeItem","undefined","attestKey","setItem","generateKeyAsync","attestation","attestKeyAsync","registerAttestKey","next","exports"],"sourceRoot":"../../../../src","sources":["ui/appAssertion/appAssertionManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.appIntegrityPlatform = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Web: the app proves itself with the browser's `Origin`, which Oxy reads from
|
|
9
|
+
* the request itself (ADR 0045). Nothing to load.
|
|
10
|
+
*
|
|
11
|
+
* Native builds resolve `appIntegrityPlatform.native.ts` instead.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const appIntegrityPlatform = exports.appIntegrityPlatform = {
|
|
15
|
+
platform: 'web',
|
|
16
|
+
loadIntegrity: async () => null
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=appIntegrityPlatform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["appIntegrityPlatform","exports","platform","loadIntegrity"],"sourceRoot":"../../../../src","sources":["ui/appAssertion/appIntegrityPlatform.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAGO,MAAMA,oBAA0C,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EACxDE,QAAQ,EAAE,KAAK;EACfC,aAAa,EAAE,MAAAA,CAAA,KAAY;AAC7B,CAAC","ignoreList":[]}
|