@oxyhq/services 5.17.17 → 5.17.18
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 +32 -38
- package/lib/commonjs/core/CrossDomainAuth.js +277 -0
- package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
- package/lib/commonjs/core/HttpService.js +82 -15
- package/lib/commonjs/core/HttpService.js.map +1 -1
- package/lib/commonjs/core/OxyServices.base.js +11 -3
- package/lib/commonjs/core/OxyServices.base.js.map +1 -1
- package/lib/commonjs/core/OxyServices.js +4 -1
- package/lib/commonjs/core/OxyServices.js.map +1 -1
- package/lib/commonjs/core/index.js +30 -0
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
- package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
- package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
- package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
- package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
- package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/commonjs/core/mixins/index.js +27 -15
- package/lib/commonjs/core/mixins/index.js.map +1 -1
- package/lib/commonjs/crypto/index.js +30 -0
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +902 -0
- package/lib/commonjs/crypto/keyManager.js.map +1 -0
- package/lib/commonjs/crypto/polyfill.js +14 -5
- package/lib/commonjs/crypto/polyfill.js.map +1 -1
- package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
- package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
- package/lib/commonjs/crypto/signatureService.js +289 -0
- package/lib/commonjs/crypto/signatureService.js.map +1 -0
- package/lib/commonjs/i18n/locales/en-US.json +1 -1
- package/lib/commonjs/index.js +40 -26
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +0 -15
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/Icon.js.map +1 -1
- package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +41 -11
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
- package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
- package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +110 -199
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +79 -72
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
- package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/commonjs/ui/hooks/useStorage.js +24 -58
- package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
- package/lib/commonjs/ui/index.js +50 -21
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +5 -1
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +2 -2
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/accountStore.js +2 -4
- package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
- package/lib/commonjs/ui/stores/authStore.js +45 -32
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/commonjs/ui/styles/spacing.js +54 -2
- package/lib/commonjs/ui/styles/spacing.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
- package/lib/commonjs/utils/errorUtils.js +13 -0
- package/lib/commonjs/utils/errorUtils.js.map +1 -1
- package/lib/commonjs/utils/validationUtils.js +15 -1
- package/lib/commonjs/utils/validationUtils.js.map +1 -1
- package/lib/module/core/CrossDomainAuth.js +271 -0
- package/lib/module/core/CrossDomainAuth.js.map +1 -0
- package/lib/module/core/HttpService.js +82 -15
- package/lib/module/core/HttpService.js.map +1 -1
- package/lib/module/core/OxyServices.base.js +11 -4
- package/lib/module/core/OxyServices.base.js.map +1 -1
- package/lib/module/core/OxyServices.js +4 -1
- package/lib/module/core/OxyServices.js.map +1 -1
- package/lib/module/core/index.js +6 -1
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.assets.js +16 -3
- package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.auth.js +73 -32
- package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
- package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.popup.js +349 -0
- package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
- package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.user.js +35 -24
- package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/module/core/mixins/index.js +15 -3
- package/lib/module/core/mixins/index.js.map +1 -1
- package/lib/module/crypto/index.js +8 -4
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +899 -0
- package/lib/module/crypto/keyManager.js.map +1 -0
- package/lib/module/crypto/polyfill.js +6 -5
- package/lib/module/crypto/polyfill.js.map +1 -1
- package/lib/module/crypto/recoveryPhrase.js +147 -0
- package/lib/module/crypto/recoveryPhrase.js.map +1 -0
- package/lib/module/crypto/signatureService.js +286 -0
- package/lib/module/crypto/signatureService.js.map +1 -0
- package/lib/module/i18n/locales/en-US.json +1 -1
- package/lib/module/index.js +6 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +0 -15
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +6 -2
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/Icon.js.map +1 -1
- package/lib/module/ui/components/IconButton/utils.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +41 -11
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/module/ui/components/TextField/helpers.js.map +1 -1
- package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
- package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +112 -191
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
- package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +80 -72
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useProfileEditing.js +3 -5
- package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +4 -8
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/hooks/useSessionSocket.js +162 -315
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/hooks/useStorage.js +25 -59
- package/lib/module/ui/hooks/useStorage.js.map +1 -1
- package/lib/module/ui/index.js +15 -10
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +5 -1
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +2 -2
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/stores/accountStore.js +2 -4
- package/lib/module/ui/stores/accountStore.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +45 -32
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/styles/spacing.js +6 -2
- package/lib/module/ui/styles/spacing.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +37 -40
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/ui/utils/storageHelpers.js.map +1 -1
- package/lib/module/utils/errorUtils.js +7 -0
- package/lib/module/utils/errorUtils.js.map +1 -1
- package/lib/module/utils/validationUtils.js +13 -0
- package/lib/module/utils/validationUtils.js.map +1 -1
- package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
- package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
- package/lib/typescript/core/HttpService.d.ts +1 -1
- package/lib/typescript/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/core/OxyServices.base.d.ts +0 -6
- package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
- package/lib/typescript/core/OxyServices.d.ts +5 -36
- package/lib/typescript/core/OxyServices.d.ts.map +1 -1
- package/lib/typescript/core/index.d.ts +4 -0
- package/lib/typescript/core/index.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 +40 -20
- 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.fedcm.d.ts +195 -0
- package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
- 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.popup.d.ts +206 -0
- package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
- package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
- 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 +220 -8
- package/lib/typescript/core/mixins/index.d.ts.map +1 -1
- package/lib/typescript/crypto/index.d.ts +6 -3
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts +190 -0
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
- package/lib/typescript/crypto/polyfill.d.ts +4 -3
- package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
- package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
- package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
- package/lib/typescript/crypto/signatureService.d.ts +87 -0
- package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +2 -14
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +0 -9
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/types/bip39.d.ts +32 -0
- package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
- package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
- package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
- package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
- package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
- package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/ui/components/types.d.ts +4 -0
- package/lib/typescript/ui/components/types.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
- package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +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/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
- package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
- package/lib/typescript/ui/index.d.ts +6 -2
- package/lib/typescript/ui/index.d.ts.map +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +8 -7
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/ui/styles/spacing.d.ts +5 -0
- package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
- package/lib/typescript/ui/types/navigation.d.ts +2 -1
- package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
- package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
- package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
- package/lib/typescript/utils/errorUtils.d.ts +6 -0
- package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/utils/validationUtils.d.ts +8 -0
- package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/core/CrossDomainAuth.ts +307 -0
- package/src/core/HttpService.ts +99 -16
- package/src/core/OxyServices.base.ts +20 -3
- package/src/core/OxyServices.ts +7 -3
- package/src/core/index.ts +9 -1
- package/src/core/mixins/OxyServices.assets.ts +14 -3
- package/src/core/mixins/OxyServices.auth.ts +105 -36
- package/src/core/mixins/OxyServices.fedcm.ts +315 -0
- package/src/core/mixins/OxyServices.popup.ts +402 -0
- package/src/core/mixins/OxyServices.redirect.ts +397 -0
- package/src/core/mixins/OxyServices.user.ts +39 -24
- package/src/core/mixins/index.ts +19 -3
- package/src/crypto/index.ts +16 -5
- package/src/crypto/keyManager.ts +966 -0
- package/src/crypto/polyfill.ts +6 -5
- package/src/crypto/recoveryPhrase.ts +166 -0
- package/src/crypto/signatureService.ts +323 -0
- package/src/i18n/locales/en-US.json +1 -1
- package/src/index.ts +19 -15
- package/src/models/interfaces.ts +4 -16
- package/src/models/session.ts +2 -11
- package/src/types/bip39.d.ts +32 -0
- package/src/ui/components/BottomSheetRouter.tsx +6 -1
- package/src/ui/components/Icon.tsx +1 -1
- package/src/ui/components/IconButton/utils.ts +1 -1
- package/src/ui/components/OxyProvider.tsx +44 -12
- package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
- package/src/ui/components/TextField/Adornment/utils.ts +2 -2
- package/src/ui/components/TextField/helpers.tsx +10 -10
- package/src/ui/components/TextField/types.tsx +1 -1
- package/src/ui/components/TouchableRipple/utils.ts +2 -2
- package/src/ui/components/Typography/AnimatedText.tsx +2 -2
- package/src/ui/components/types.tsx +6 -0
- package/src/ui/context/OxyContext.tsx +173 -195
- package/src/ui/context/hooks/useAuthOperations.ts +177 -36
- package/src/ui/context/hooks/useSessionManagement.ts +399 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +83 -76
- package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
- package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
- package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
- package/src/ui/hooks/useProfileEditing.ts +3 -3
- package/src/ui/hooks/useSessionManagement.ts +5 -10
- package/src/ui/hooks/useSessionSocket.ts +46 -175
- package/src/ui/hooks/useStorage.ts +24 -76
- package/src/ui/index.ts +22 -13
- package/src/ui/navigation/routes.ts +6 -2
- package/src/ui/screens/AccountCenterScreen.tsx +2 -2
- package/src/ui/screens/AccountOverviewScreen.tsx +1 -1
- package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/OxyAuthScreen.tsx +138 -64
- package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
- package/src/ui/stores/accountStore.ts +1 -11
- package/src/ui/stores/authStore.ts +43 -44
- package/src/ui/styles/spacing.ts +15 -2
- package/src/ui/types/navigation.ts +2 -2
- package/src/ui/utils/avatarUtils.ts +39 -46
- package/src/ui/utils/storageHelpers.ts +0 -4
- package/src/utils/__tests__/validationUtils.test.ts +16 -1
- package/src/utils/errorUtils.ts +8 -1
- package/src/utils/validationUtils.ts +12 -0
- package/lib/commonjs/core/services/SessionService.js +0 -163
- package/lib/commonjs/core/services/SessionService.js.map +0 -1
- package/lib/commonjs/core/services/TokenService.js +0 -220
- package/lib/commonjs/core/services/TokenService.js.map +0 -1
- package/lib/commonjs/crypto/types.js +0 -2
- package/lib/commonjs/crypto/types.js.map +0 -1
- package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
- package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
- package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
- package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
- package/lib/module/core/services/SessionService.js +0 -159
- package/lib/module/core/services/SessionService.js.map +0 -1
- package/lib/module/core/services/TokenService.js +0 -217
- package/lib/module/core/services/TokenService.js.map +0 -1
- package/lib/module/crypto/types.js +0 -2
- package/lib/module/crypto/types.js.map +0 -1
- package/lib/module/ui/context/OxyContextBase.js +0 -16
- package/lib/module/ui/context/OxyContextBase.js.map +0 -1
- package/lib/module/ui/context/hooks/useStorage.js +0 -74
- package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
- package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
- package/lib/typescript/core/services/SessionService.d.ts +0 -78
- package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
- package/lib/typescript/core/services/TokenService.d.ts +0 -72
- package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
- package/lib/typescript/crypto/types.d.ts +0 -22
- package/lib/typescript/crypto/types.d.ts.map +0 -1
- package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
- package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
- package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
- package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
- package/src/core/services/SessionService.ts +0 -173
- package/src/core/services/TokenService.ts +0 -237
- package/src/crypto/types.ts +0 -23
- package/src/ui/context/OxyContextBase.tsx +0 -78
- package/src/ui/context/hooks/useStorage.ts +0 -104
- package/src/ui/hooks/useAvatarPicker.ts +0 -61
package/README.md
CHANGED
|
@@ -104,17 +104,12 @@ app.use(express.json());
|
|
|
104
104
|
// Optional: create your own client (e.g., different baseURL per env)
|
|
105
105
|
const services = new OxyServices({ baseURL: process.env.OXY_CLOUD_URL || 'https://api.oxy.so' });
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
// /api/auth/login works too (alias)
|
|
108
|
+
app.post('/auth/login', async (req, res) => {
|
|
108
109
|
try {
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
const user = await oxyClient.getUserByPublicKey(publicKey);
|
|
113
|
-
const { challenge } = await oxyClient.requestChallenge(user.id);
|
|
114
|
-
const { challenge: signature, timestamp } = await SignatureService.signChallenge(challenge);
|
|
115
|
-
const { sessionId } = await oxyClient.verifyChallenge(user.id, challenge, signature, timestamp);
|
|
116
|
-
await oxyClient.getTokenBySession(sessionId);
|
|
117
|
-
res.json({ sessionId });
|
|
110
|
+
const { username, password } = req.body;
|
|
111
|
+
const session = await oxyClient.signIn(username, password);
|
|
112
|
+
res.json(session);
|
|
118
113
|
} catch (err: any) {
|
|
119
114
|
res.status(401).json({ error: err.message });
|
|
120
115
|
}
|
|
@@ -169,8 +164,7 @@ function UserProfile() {
|
|
|
169
164
|
|
|
170
165
|
const handleLogin = async () => {
|
|
171
166
|
try {
|
|
172
|
-
|
|
173
|
-
await login();
|
|
167
|
+
await login('username', 'password');
|
|
174
168
|
} catch (error) {
|
|
175
169
|
console.error('Login failed:', error);
|
|
176
170
|
}
|
|
@@ -230,15 +224,9 @@ import { oxyClient } from '@oxyhq/services/core';
|
|
|
230
224
|
// routes/auth.ts
|
|
231
225
|
export const signIn = async (req, res) => {
|
|
232
226
|
try {
|
|
233
|
-
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
const user = await oxyClient.getUserByPublicKey(publicKey);
|
|
237
|
-
const { challenge } = await oxyClient.requestChallenge(user.id);
|
|
238
|
-
const { challenge: signature, timestamp } = await SignatureService.signChallenge(challenge);
|
|
239
|
-
const { sessionId } = await oxyClient.verifyChallenge(user.id, challenge, signature, timestamp);
|
|
240
|
-
await oxyClient.getTokenBySession(sessionId);
|
|
241
|
-
res.json({ sessionId });
|
|
227
|
+
const { username, password } = req.body;
|
|
228
|
+
const response = await oxyClient.signIn(username, password);
|
|
229
|
+
res.json(response);
|
|
242
230
|
} catch (error) {
|
|
243
231
|
res.status(401).json({ error: error.message });
|
|
244
232
|
}
|
|
@@ -342,7 +330,8 @@ import {
|
|
|
342
330
|
// Crypto module (for identity management)
|
|
343
331
|
import {
|
|
344
332
|
KeyManager,
|
|
345
|
-
SignatureService
|
|
333
|
+
SignatureService,
|
|
334
|
+
RecoveryPhraseService
|
|
346
335
|
} from '@oxyhq/services/crypto';
|
|
347
336
|
```
|
|
348
337
|
|
|
@@ -449,8 +438,8 @@ const {
|
|
|
449
438
|
error,
|
|
450
439
|
|
|
451
440
|
// Identity management (Public Key Authentication)
|
|
452
|
-
createIdentity, // Create new identity
|
|
453
|
-
importIdentity, // Import identity from
|
|
441
|
+
createIdentity, // Create new identity with recovery phrase
|
|
442
|
+
importIdentity, // Import identity from recovery phrase
|
|
454
443
|
signIn, // Sign in with stored identity
|
|
455
444
|
hasIdentity, // Check if identity exists on device
|
|
456
445
|
getPublicKey, // Get stored public key
|
|
@@ -501,7 +490,7 @@ const oxy = new OxyServices({
|
|
|
501
490
|
|
|
502
491
|
## 🔐 Authentication
|
|
503
492
|
|
|
504
|
-
Oxy
|
|
493
|
+
Oxy supports **public/private key cryptography** (ECDSA secp256k1) as the primary identity system, with optional password-based accounts for the web gateway. Users manage their cryptographic identity in the **Oxy Accounts** app, and other apps can integrate "Sign in with Oxy" for seamless authentication.
|
|
505
494
|
|
|
506
495
|
### Public Key Authentication
|
|
507
496
|
|
|
@@ -513,12 +502,12 @@ function AuthScreen() {
|
|
|
513
502
|
|
|
514
503
|
// Create new identity (in Oxy Accounts app)
|
|
515
504
|
const handleCreate = async () => {
|
|
516
|
-
const {
|
|
517
|
-
//
|
|
505
|
+
const { user, recoveryPhrase } = await createIdentity('username', 'email');
|
|
506
|
+
// Show recoveryPhrase to user - they must save it!
|
|
518
507
|
};
|
|
519
508
|
|
|
520
|
-
// Import existing identity
|
|
521
|
-
const handleImport = async (
|
|
509
|
+
// Import existing identity
|
|
510
|
+
const handleImport = async (phrase: string) => {
|
|
522
511
|
const user = await importIdentity(phrase, 'username', 'email');
|
|
523
512
|
};
|
|
524
513
|
|
|
@@ -532,6 +521,15 @@ function AuthScreen() {
|
|
|
532
521
|
}
|
|
533
522
|
```
|
|
534
523
|
|
|
524
|
+
### Password Authentication (Web Gateway)
|
|
525
|
+
|
|
526
|
+
For web-only or legacy flows, Oxy also supports password sign-in (email/username + password). Use the auth gateway (`/login`, `/signup`, `/recover`) for browser-based flows, or call the API directly:
|
|
527
|
+
|
|
528
|
+
```typescript
|
|
529
|
+
const session = await oxyServices.signUp('username', 'email@example.com', 'password');
|
|
530
|
+
const session2 = await oxyServices.signIn('username-or-email', 'password');
|
|
531
|
+
```
|
|
532
|
+
|
|
535
533
|
### Cross-App Authentication (Sign in with Oxy)
|
|
536
534
|
|
|
537
535
|
For third-party apps that want to allow users to sign in with their Oxy identity:
|
|
@@ -548,6 +546,8 @@ This displays:
|
|
|
548
546
|
- A QR code that users can scan with Oxy Accounts
|
|
549
547
|
- A button to open Oxy Accounts directly via deep link
|
|
550
548
|
|
|
549
|
+
Web fallback: send users to the auth gateway at `https://accounts.oxy.so/authorize?token=...` to approve the session.
|
|
550
|
+
|
|
551
551
|
### Documentation
|
|
552
552
|
|
|
553
553
|
📖 **[Complete Public Key Authentication Guide](./docs/PUBLIC_KEY_AUTHENTICATION.md)**
|
|
@@ -886,15 +886,9 @@ app.use(express.json());
|
|
|
886
886
|
// Auth routes
|
|
887
887
|
app.post('/api/auth/signin', async (req, res) => {
|
|
888
888
|
try {
|
|
889
|
-
|
|
890
|
-
const
|
|
891
|
-
|
|
892
|
-
const user = await oxyClient.getUserByPublicKey(publicKey);
|
|
893
|
-
const { challenge } = await oxyClient.requestChallenge(user.id);
|
|
894
|
-
const { challenge: signature, timestamp } = await SignatureService.signChallenge(challenge);
|
|
895
|
-
const { sessionId } = await oxyClient.verifyChallenge(user.id, challenge, signature, timestamp);
|
|
896
|
-
await oxyClient.getTokenBySession(sessionId);
|
|
897
|
-
res.json({ sessionId });
|
|
889
|
+
const { username, password } = req.body;
|
|
890
|
+
const response = await oxyClient.signIn(username, password);
|
|
891
|
+
res.json(response);
|
|
898
892
|
} catch (error) {
|
|
899
893
|
res.status(401).json({ error: error.message });
|
|
900
894
|
}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CrossDomainAuth = void 0;
|
|
7
|
+
exports.createCrossDomainAuth = createCrossDomainAuth;
|
|
8
|
+
/**
|
|
9
|
+
* Cross-Domain Authentication Helper
|
|
10
|
+
*
|
|
11
|
+
* Provides a simplified API for cross-domain SSO authentication that automatically
|
|
12
|
+
* selects the best authentication method based on browser capabilities:
|
|
13
|
+
*
|
|
14
|
+
* 1. FedCM (if supported) - Modern, Google-style browser-native auth
|
|
15
|
+
* 2. Popup (fallback) - OAuth2-style popup window
|
|
16
|
+
* 3. Redirect (final fallback) - Traditional full-page redirect
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { CrossDomainAuth } from '@oxyhq/services';
|
|
21
|
+
*
|
|
22
|
+
* const auth = new CrossDomainAuth(oxyServices);
|
|
23
|
+
*
|
|
24
|
+
* // Automatic method selection
|
|
25
|
+
* const session = await auth.signIn();
|
|
26
|
+
*
|
|
27
|
+
* // Or use specific method
|
|
28
|
+
* const session = await auth.signInWithPopup();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
class CrossDomainAuth {
|
|
33
|
+
constructor(oxyServices) {
|
|
34
|
+
this.oxyServices = oxyServices;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Sign in with automatic method selection
|
|
39
|
+
*
|
|
40
|
+
* Tries methods in this order:
|
|
41
|
+
* 1. FedCM (if supported and not in private browsing)
|
|
42
|
+
* 2. Popup (if not blocked)
|
|
43
|
+
* 3. Redirect (always works)
|
|
44
|
+
*
|
|
45
|
+
* @param options - Authentication options
|
|
46
|
+
* @returns Session with user data and access token
|
|
47
|
+
*/
|
|
48
|
+
async signIn(options = {}) {
|
|
49
|
+
const method = options.method || 'auto';
|
|
50
|
+
|
|
51
|
+
// If specific method requested, use it directly
|
|
52
|
+
if (method === 'fedcm') {
|
|
53
|
+
return this.signInWithFedCM(options);
|
|
54
|
+
}
|
|
55
|
+
if (method === 'popup') {
|
|
56
|
+
return this.signInWithPopup(options);
|
|
57
|
+
}
|
|
58
|
+
if (method === 'redirect') {
|
|
59
|
+
this.signInWithRedirect(options);
|
|
60
|
+
return null; // Redirect doesn't return immediately
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Auto mode: Try methods in order of preference
|
|
64
|
+
return this.autoSignIn(options);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Automatic sign-in with progressive enhancement
|
|
69
|
+
*
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
async autoSignIn(options) {
|
|
73
|
+
// 1. Try FedCM first (best UX, most modern)
|
|
74
|
+
if (this.isFedCMSupported()) {
|
|
75
|
+
try {
|
|
76
|
+
options.onMethodSelected?.('fedcm');
|
|
77
|
+
return await this.signInWithFedCM(options);
|
|
78
|
+
} catch (error) {
|
|
79
|
+
console.warn('[CrossDomainAuth] FedCM failed, trying popup...', error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// 2. Try popup (good UX, widely supported)
|
|
84
|
+
try {
|
|
85
|
+
options.onMethodSelected?.('popup');
|
|
86
|
+
return await this.signInWithPopup(options);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.warn('[CrossDomainAuth] Popup failed, falling back to redirect...', error);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// 3. Fallback to redirect (always works)
|
|
92
|
+
options.onMethodSelected?.('redirect');
|
|
93
|
+
this.signInWithRedirect(options);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Sign in using FedCM (Federated Credential Management)
|
|
99
|
+
*
|
|
100
|
+
* Best method - browser-native, no popups, Google-like experience
|
|
101
|
+
*/
|
|
102
|
+
async signInWithFedCM(options = {}) {
|
|
103
|
+
return this.oxyServices.signInWithFedCM({
|
|
104
|
+
context: options.isSignup ? 'signup' : 'signin'
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Sign in using popup window
|
|
110
|
+
*
|
|
111
|
+
* Good method - preserves app state, no full page reload
|
|
112
|
+
*/
|
|
113
|
+
async signInWithPopup(options = {}) {
|
|
114
|
+
return this.oxyServices.signInWithPopup({
|
|
115
|
+
mode: options.isSignup ? 'signup' : 'login',
|
|
116
|
+
width: options.popupDimensions?.width,
|
|
117
|
+
height: options.popupDimensions?.height
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Sign in using full-page redirect
|
|
123
|
+
*
|
|
124
|
+
* Fallback method - works everywhere but loses app state
|
|
125
|
+
*/
|
|
126
|
+
signInWithRedirect(options = {}) {
|
|
127
|
+
this.oxyServices.signInWithRedirect({
|
|
128
|
+
redirectUri: options.redirectUri,
|
|
129
|
+
mode: options.isSignup ? 'signup' : 'login'
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Handle redirect callback
|
|
135
|
+
*
|
|
136
|
+
* Call this on app startup to check if we're returning from auth redirect
|
|
137
|
+
*/
|
|
138
|
+
handleRedirectCallback() {
|
|
139
|
+
return this.oxyServices.handleAuthCallback();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Silent sign-in (check for existing session)
|
|
144
|
+
*
|
|
145
|
+
* Tries to automatically sign in without user interaction.
|
|
146
|
+
* Works with both FedCM and popup/iframe methods.
|
|
147
|
+
*
|
|
148
|
+
* @returns Session if user is already signed in, null otherwise
|
|
149
|
+
*/
|
|
150
|
+
async silentSignIn() {
|
|
151
|
+
// Try FedCM silent sign-in first (if supported)
|
|
152
|
+
if (this.isFedCMSupported()) {
|
|
153
|
+
try {
|
|
154
|
+
const session = await this.oxyServices.silentSignInWithFedCM();
|
|
155
|
+
if (session) {
|
|
156
|
+
return session;
|
|
157
|
+
}
|
|
158
|
+
} catch (error) {
|
|
159
|
+
console.warn('[CrossDomainAuth] FedCM silent sign-in failed:', error);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Fallback to iframe-based silent auth
|
|
164
|
+
try {
|
|
165
|
+
return await this.oxyServices.silentSignIn();
|
|
166
|
+
} catch (error) {
|
|
167
|
+
console.warn('[CrossDomainAuth] Silent sign-in failed:', error);
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Restore session from storage
|
|
174
|
+
*
|
|
175
|
+
* For redirect method - restores previously authenticated session from localStorage
|
|
176
|
+
*/
|
|
177
|
+
restoreSession() {
|
|
178
|
+
return this.oxyServices.restoreSession?.() || false;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Check if FedCM is supported in current browser
|
|
183
|
+
*/
|
|
184
|
+
isFedCMSupported() {
|
|
185
|
+
return this.oxyServices.constructor.isFedCMSupported?.() || false;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Get recommended authentication method for current environment
|
|
190
|
+
*
|
|
191
|
+
* @returns Recommended method name and reason
|
|
192
|
+
*/
|
|
193
|
+
getRecommendedMethod() {
|
|
194
|
+
if (this.isFedCMSupported()) {
|
|
195
|
+
return {
|
|
196
|
+
method: 'fedcm',
|
|
197
|
+
reason: 'FedCM is supported - provides best UX with browser-native auth'
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
if (typeof window !== 'undefined') {
|
|
201
|
+
return {
|
|
202
|
+
method: 'popup',
|
|
203
|
+
reason: 'Browser environment - popup preserves app state'
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
method: 'redirect',
|
|
208
|
+
reason: 'Fallback method - works in all environments'
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Initialize cross-domain auth on app startup
|
|
214
|
+
*
|
|
215
|
+
* This handles:
|
|
216
|
+
* 1. Redirect callback (if returning from auth.oxy.so)
|
|
217
|
+
* 2. Session restoration (from localStorage)
|
|
218
|
+
* 3. Silent sign-in (check for existing SSO session)
|
|
219
|
+
*
|
|
220
|
+
* @returns Session if user is authenticated, null otherwise
|
|
221
|
+
*/
|
|
222
|
+
async initialize() {
|
|
223
|
+
// 1. Check if this is a redirect callback
|
|
224
|
+
const callbackSession = this.handleRedirectCallback();
|
|
225
|
+
if (callbackSession) {
|
|
226
|
+
return callbackSession;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// 2. Try to restore existing session from storage
|
|
230
|
+
const restored = this.restoreSession();
|
|
231
|
+
if (restored) {
|
|
232
|
+
// Verify session is still valid by fetching user
|
|
233
|
+
try {
|
|
234
|
+
const user = await this.oxyServices.getCurrentUser();
|
|
235
|
+
if (user) {
|
|
236
|
+
return {
|
|
237
|
+
sessionId: this.oxyServices.getStoredSessionId?.() || '',
|
|
238
|
+
deviceId: '',
|
|
239
|
+
expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
|
|
240
|
+
user
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
} catch (error) {
|
|
244
|
+
console.warn('[CrossDomainAuth] Stored session invalid:', error);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// 3. Try silent sign-in (check for SSO session at auth.oxy.so)
|
|
249
|
+
return await this.silentSignIn();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Helper function to create CrossDomainAuth instance
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* import { createCrossDomainAuth } from '@oxyhq/services';
|
|
259
|
+
*
|
|
260
|
+
* const oxyServices = new OxyServices({ baseURL: 'https://api.oxy.so' });
|
|
261
|
+
* const auth = createCrossDomainAuth(oxyServices);
|
|
262
|
+
*
|
|
263
|
+
* // On app startup
|
|
264
|
+
* const session = await auth.initialize();
|
|
265
|
+
* if (session) {
|
|
266
|
+
* console.log('User is signed in:', session.user);
|
|
267
|
+
* }
|
|
268
|
+
*
|
|
269
|
+
* // Sign in button click
|
|
270
|
+
* const session = await auth.signIn();
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
exports.CrossDomainAuth = CrossDomainAuth;
|
|
274
|
+
function createCrossDomainAuth(oxyServices) {
|
|
275
|
+
return new CrossDomainAuth(oxyServices);
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=CrossDomainAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CrossDomainAuth","constructor","oxyServices","signIn","options","method","signInWithFedCM","signInWithPopup","signInWithRedirect","autoSignIn","isFedCMSupported","onMethodSelected","error","console","warn","context","isSignup","mode","width","popupDimensions","height","redirectUri","handleRedirectCallback","handleAuthCallback","silentSignIn","session","silentSignInWithFedCM","restoreSession","getRecommendedMethod","reason","window","initialize","callbackSession","restored","user","getCurrentUser","sessionId","getStoredSessionId","deviceId","expiresAt","Date","now","toISOString","exports","createCrossDomainAuth"],"sourceRoot":"../../../src","sources":["core/CrossDomainAuth.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ var _cache = require("../utils/cache");
|
|
|
8
8
|
var _requestUtils = require("../utils/requestUtils");
|
|
9
9
|
var _asyncUtils = require("../utils/asyncUtils");
|
|
10
10
|
var _errorUtils = require("../utils/errorUtils");
|
|
11
|
-
var
|
|
11
|
+
var _jwtDecode = require("jwt-decode");
|
|
12
12
|
/**
|
|
13
13
|
* Unified HTTP Service
|
|
14
14
|
*
|
|
@@ -24,7 +24,37 @@ var _TokenService = require("./services/TokenService");
|
|
|
24
24
|
* - Request queuing
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Token store for authentication (singleton)
|
|
29
|
+
*/
|
|
30
|
+
class TokenStore {
|
|
31
|
+
accessToken = null;
|
|
32
|
+
refreshToken = null;
|
|
33
|
+
constructor() {}
|
|
34
|
+
static getInstance() {
|
|
35
|
+
if (!TokenStore.instance) {
|
|
36
|
+
TokenStore.instance = new TokenStore();
|
|
37
|
+
}
|
|
38
|
+
return TokenStore.instance;
|
|
39
|
+
}
|
|
40
|
+
setTokens(accessToken, refreshToken = '') {
|
|
41
|
+
this.accessToken = accessToken;
|
|
42
|
+
this.refreshToken = refreshToken;
|
|
43
|
+
}
|
|
44
|
+
getAccessToken() {
|
|
45
|
+
return this.accessToken;
|
|
46
|
+
}
|
|
47
|
+
getRefreshToken() {
|
|
48
|
+
return this.refreshToken;
|
|
49
|
+
}
|
|
50
|
+
clearTokens() {
|
|
51
|
+
this.accessToken = null;
|
|
52
|
+
this.refreshToken = null;
|
|
53
|
+
}
|
|
54
|
+
hasAccessToken() {
|
|
55
|
+
return !!this.accessToken;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
28
58
|
|
|
29
59
|
/**
|
|
30
60
|
* Unified HTTP Service
|
|
@@ -45,9 +75,7 @@ class HttpService {
|
|
|
45
75
|
constructor(config) {
|
|
46
76
|
this.config = config;
|
|
47
77
|
this.baseURL = config.baseURL;
|
|
48
|
-
|
|
49
|
-
// Initialize TokenService with baseURL
|
|
50
|
-
_TokenService.tokenService.initialize(this.baseURL);
|
|
78
|
+
this.tokenStore = TokenStore.getInstance();
|
|
51
79
|
this.logger = new _requestUtils.SimpleLogger(config.enableLogging || false, config.logLevel || 'error', 'HttpService');
|
|
52
80
|
|
|
53
81
|
// Initialize performance infrastructure
|
|
@@ -177,7 +205,7 @@ class HttpService {
|
|
|
177
205
|
// Handle response
|
|
178
206
|
if (!response.ok) {
|
|
179
207
|
if (response.status === 401) {
|
|
180
|
-
|
|
208
|
+
this.tokenStore.clearTokens();
|
|
181
209
|
}
|
|
182
210
|
|
|
183
211
|
// Try to parse error response (handle empty/malformed JSON)
|
|
@@ -186,8 +214,11 @@ class HttpService {
|
|
|
186
214
|
if (contentType && contentType.includes('application/json')) {
|
|
187
215
|
try {
|
|
188
216
|
const errorData = await response.json();
|
|
217
|
+
// Check both 'message' and 'error' fields for backwards compatibility
|
|
189
218
|
if (errorData?.message) {
|
|
190
219
|
errorMessage = errorData.message;
|
|
220
|
+
} else if (errorData?.error) {
|
|
221
|
+
errorMessage = errorData.error;
|
|
191
222
|
}
|
|
192
223
|
} catch (parseError) {
|
|
193
224
|
// Malformed JSON or empty response - use status text
|
|
@@ -315,10 +346,46 @@ class HttpService {
|
|
|
315
346
|
|
|
316
347
|
/**
|
|
317
348
|
* Get auth header with automatic token refresh
|
|
318
|
-
* Uses TokenService for all token operations
|
|
319
349
|
*/
|
|
320
350
|
async getAuthHeader() {
|
|
321
|
-
|
|
351
|
+
const accessToken = this.tokenStore.getAccessToken();
|
|
352
|
+
if (!accessToken) {
|
|
353
|
+
return null;
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
const decoded = (0, _jwtDecode.jwtDecode)(accessToken);
|
|
357
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
358
|
+
|
|
359
|
+
// If token expires in less than 60 seconds, refresh it
|
|
360
|
+
if (decoded.exp && decoded.exp - currentTime < 60 && decoded.sessionId) {
|
|
361
|
+
try {
|
|
362
|
+
const refreshUrl = `${this.baseURL}/api/session/token/${decoded.sessionId}`;
|
|
363
|
+
|
|
364
|
+
// Use AbortSignal.timeout for consistent timeout handling
|
|
365
|
+
const response = await fetch(refreshUrl, {
|
|
366
|
+
method: 'GET',
|
|
367
|
+
headers: {
|
|
368
|
+
'Accept': 'application/json'
|
|
369
|
+
},
|
|
370
|
+
signal: AbortSignal.timeout(5000)
|
|
371
|
+
});
|
|
372
|
+
if (response.ok) {
|
|
373
|
+
const {
|
|
374
|
+
accessToken: newToken
|
|
375
|
+
} = await response.json();
|
|
376
|
+
this.tokenStore.setTokens(newToken);
|
|
377
|
+
this.logger.debug('Token refreshed');
|
|
378
|
+
return `Bearer ${newToken}`;
|
|
379
|
+
}
|
|
380
|
+
} catch (refreshError) {
|
|
381
|
+
this.logger.warn('Token refresh failed, using current token');
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
return `Bearer ${accessToken}`;
|
|
385
|
+
} catch (error) {
|
|
386
|
+
this.logger.error('Error processing token:', error);
|
|
387
|
+
return `Bearer ${accessToken}`;
|
|
388
|
+
}
|
|
322
389
|
}
|
|
323
390
|
|
|
324
391
|
/**
|
|
@@ -453,18 +520,18 @@ class HttpService {
|
|
|
453
520
|
};
|
|
454
521
|
}
|
|
455
522
|
|
|
456
|
-
// Token management
|
|
523
|
+
// Token management
|
|
457
524
|
setTokens(accessToken, refreshToken = '') {
|
|
458
|
-
|
|
525
|
+
this.tokenStore.setTokens(accessToken, refreshToken);
|
|
459
526
|
}
|
|
460
527
|
clearTokens() {
|
|
461
|
-
|
|
528
|
+
this.tokenStore.clearTokens();
|
|
462
529
|
}
|
|
463
530
|
getAccessToken() {
|
|
464
|
-
return
|
|
531
|
+
return this.tokenStore.getAccessToken();
|
|
465
532
|
}
|
|
466
533
|
hasAccessToken() {
|
|
467
|
-
return
|
|
534
|
+
return this.tokenStore.hasAccessToken();
|
|
468
535
|
}
|
|
469
536
|
getBaseURL() {
|
|
470
537
|
return this.baseURL;
|
|
@@ -496,10 +563,10 @@ class HttpService {
|
|
|
496
563
|
// Test-only utility
|
|
497
564
|
static __resetTokensForTests() {
|
|
498
565
|
try {
|
|
499
|
-
|
|
566
|
+
TokenStore.getInstance().clearTokens();
|
|
500
567
|
} catch (error) {
|
|
501
568
|
// Silently fail in test cleanup - this is expected behavior
|
|
502
|
-
//
|
|
569
|
+
// TokenStore might not be initialized in some test scenarios
|
|
503
570
|
}
|
|
504
571
|
}
|
|
505
572
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cache","require","_requestUtils","_asyncUtils","_errorUtils","_TokenService","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","constructor","config","baseURL","tokenService","initialize","logger","SimpleLogger","enableLogging","logLevel","cache","TTLCache","cacheTTL","registerCacheForCleanup","deduplicator","RequestDeduplicator","requestQueue","RequestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","clearTimeout","ok","status","clearTokens","errorMessage","statusText","contentType","includes","errorData","json","message","parseError","warn","error","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","handleHttpError","requestWithRetry","retryAsync","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","Array","isArray","success","alpha","post","put","patch","delete","setTokens","accessToken","refreshToken","getAccessToken","hasAccessToken","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests","exports"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":";;;;;;AAeA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAsBA,IAAAI,aAAA,GAAAJ,OAAA;AAxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0BA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,WAAW,CAAC;EAQvB;EACQC,cAAc,GAAG;IACvBC,aAAa,EAAE,CAAC;IAChBC,kBAAkB,EAAE,CAAC;IACrBC,cAAc,EAAE,CAAC;IACjBC,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,CAAC;IACdC,mBAAmB,EAAE;EACvB,CAAC;EAEDC,WAAWA,CAACC,MAAiB,EAAE;IAC7B,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;;IAE7B;IACAC,0BAAY,CAACC,UAAU,CAAC,IAAI,CAACF,OAAO,CAAC;IAErC,IAAI,CAACG,MAAM,GAAG,IAAIC,0BAAY,CAC5BL,MAAM,CAACM,aAAa,IAAI,KAAK,EAC7BN,MAAM,CAACO,QAAQ,IAAI,OAAO,EAC1B,aACF,CAAC;;IAED;IACA,IAAI,CAACC,KAAK,GAAG,IAAIC,eAAQ,CAAMT,MAAM,CAACU,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAChE,IAAAC,8BAAuB,EAAC,IAAI,CAACH,KAAK,CAAC;IACnC,IAAI,CAACI,YAAY,GAAG,IAAIC,iCAAmB,CAAC,CAAC;IAC7C,IAAI,CAACC,YAAY,GAAG,IAAIC,0BAAY,CAClCf,MAAM,CAACgB,qBAAqB,IAAI,EAAE,EAClChB,MAAM,CAACiB,gBAAgB,IAAI,GAC7B,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACUC,UAAUA,CAACC,IAAa,EAAW;IACzC,IAAI,CAACA,IAAI,EAAE;MACT,OAAO,KAAK;IACd;;IAEA;IACA,IAAIA,IAAI,YAAYC,QAAQ,EAAE;MAC5B,OAAO,IAAI;IACb;;IAEA;IACA,IAAI,OAAOD,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,EAAE;MAC7C,MAAME,eAAe,GAAGF,IAAI,CAACpB,WAAW,EAAEuB,IAAI;MAC9C,IAAID,eAAe,KAAK,UAAU,IAAIA,eAAe,KAAK,cAAc,EAAE;QACxE,OAAO,IAAI;MACb;;MAEA;MACA,IAAI,OAAQF,IAAI,CAASI,MAAM,KAAK,UAAU,IAC1C,OAAQJ,IAAI,CAASK,GAAG,KAAK,UAAU,IACvC,OAAQL,IAAI,CAASM,GAAG,KAAK,UAAU,EAAE;QAC3C,OAAO,IAAI;MACb;IACF;IAEA,OAAO,KAAK;EACd;;EAEA;AACF;AACA;EACE,MAAMC,OAAOA,CAAc1B,MAAqB,EAAc;IAC5D,MAAM;MACJ2B,MAAM;MACNC,GAAG;MACHT,IAAI;MACJU,MAAM;MACNC,OAAO,GAAG,IAAI,CAAC9B,MAAM,CAAC+B,cAAc,IAAI,IAAI;MAC5CC,MAAM;MACNxB,KAAK,GAAGmB,MAAM,KAAK,KAAK;MACxBjB,QAAQ;MACRuB,WAAW,GAAG,IAAI;MAClBC,KAAK,GAAG,IAAI,CAAClC,MAAM,CAACmC,WAAW,KAAK,KAAK;MACzCC,UAAU,GAAG,IAAI,CAACpC,MAAM,CAACoC,UAAU,IAAI;IACzC,CAAC,GAAGpC,MAAM;;IAEV;IACA,MAAMqC,QAAQ,GAAG7B,KAAK,GAAG,IAAI,CAAC8B,gBAAgB,CAACX,MAAM,EAAEC,GAAG,EAAET,IAAI,IAAIU,MAAM,CAAC,GAAG,IAAI;;IAElF;IACA,IAAIrB,KAAK,IAAI6B,QAAQ,EAAE;MACrB,MAAME,MAAM,GAAG,IAAI,CAAC/B,KAAK,CAACgB,GAAG,CAACa,QAAQ,CAAa;MACnD,IAAIE,MAAM,KAAK,IAAI,EAAE;QACnB,IAAI,CAAC/C,cAAc,CAACI,SAAS,EAAE;QAC/B,IAAI,CAACQ,MAAM,CAACoC,KAAK,CAAC,YAAY,EAAEZ,GAAG,CAAC;QACpC,OAAOW,MAAM;MACf;MACA,IAAI,CAAC/C,cAAc,CAACK,WAAW,EAAE;IACnC;;IAEA;IACA,MAAM4C,SAAS,GAAG,MAAAA,CAAA,KAAwB;MACxC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAC5B,IAAI;QACF;QACA,MAAMC,OAAO,GAAG,IAAI,CAACC,QAAQ,CAAClB,GAAG,EAAEC,MAAM,CAAC;;QAE1C;QACA,MAAMkB,UAAU,GAAG,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC;;QAE7C;QACA,MAAM9B,UAAU,GAAG,IAAI,CAACA,UAAU,CAACC,IAAI,CAAC;;QAExC;QACA,MAAM8B,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;QACxC,MAAMC,SAAS,GAAGrB,OAAO,GAAGsB,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEvB,OAAO,CAAC,GAAG,IAAI;QAEhF,IAAIE,MAAM,EAAE;UACVA,MAAM,CAACsB,gBAAgB,CAAC,OAAO,EAAE,MAAML,UAAU,CAACI,KAAK,CAAC,CAAC,CAAC;QAC5D;;QAEA;QACA,MAAME,OAA+B,GAAG;UACtC,QAAQ,EAAE;QACZ,CAAC;;QAED;QACA,IAAI,CAACrC,UAAU,EAAE;UACfqC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB;QAC9C;;QAEA;QACA,IAAIR,UAAU,EAAE;UACdQ,OAAO,CAAC,eAAe,CAAC,GAAGR,UAAU;QACvC;;QAEA;QACA,IAAI/C,MAAM,CAACuD,OAAO,EAAE;UAClBC,MAAM,CAACC,OAAO,CAACzD,MAAM,CAACuD,OAAO,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;YACvD;YACA;YACA,IAAI1C,UAAU,IAAIyC,GAAG,CAACE,WAAW,CAAC,CAAC,KAAK,cAAc,EAAE;cACtD,IAAI,CAACzD,MAAM,CAACoC,KAAK,CAAC,uEAAuE,CAAC;cAC1F;YACF;YACAe,OAAO,CAACI,GAAG,CAAC,GAAGC,KAAK;UACtB,CAAC,CAAC;QACJ;QAEA,MAAME,SAAS,GAAGnC,MAAM,KAAK,KAAK,IAAIR,IAAI,GACnCD,UAAU,GAAGC,IAAI,GAAG4C,IAAI,CAACC,SAAS,CAAC7C,IAAI,CAAC,GACzC8C,SAAS;QAEf,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACtB,OAAO,EAAE;UACpClB,MAAM;UACN4B,OAAO;UACPa,IAAI,EAAEN,SAAwC;UAC9C9B,MAAM,EAAEiB,UAAU,CAACjB;QACrB,CAAC,CAAC;QAEF,IAAImB,SAAS,EAAEkB,YAAY,CAAClB,SAAS,CAAC;;QAEtC;QACA,IAAI,CAACe,QAAQ,CAACI,EAAE,EAAE;UAChB,IAAIJ,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;YAC3BrE,0BAAY,CAACsE,WAAW,CAAC,CAAC;UAC5B;;UAEA;UACA,IAAIC,YAAY,GAAG,QAAQP,QAAQ,CAACK,MAAM,KAAKL,QAAQ,CAACQ,UAAU,EAAE;UACpE,MAAMC,WAAW,GAAGT,QAAQ,CAACX,OAAO,CAAC/B,GAAG,CAAC,cAAc,CAAC;UACxD,IAAImD,WAAW,IAAIA,WAAW,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC3D,IAAI;cACF,MAAMC,SAAS,GAAG,MAAMX,QAAQ,CAACY,IAAI,CAAC,CAAgC;cACtE,IAAID,SAAS,EAAEE,OAAO,EAAE;gBACtBN,YAAY,GAAGI,SAAS,CAACE,OAAO;cAClC;YACF,CAAC,CAAC,OAAOC,UAAU,EAAE;cACnB;cACA,IAAI,CAAC5E,MAAM,CAAC6E,IAAI,CAAC,sCAAsC,EAAED,UAAU,CAAC;YACtE;UACF;UAEA,MAAME,KAAK,GAAG,IAAIC,KAAK,CAACV,YAAY,CAGnC;UACDS,KAAK,CAACX,MAAM,GAAGL,QAAQ,CAACK,MAAM;UAC9BW,KAAK,CAAChB,QAAQ,GAAG;YAAEK,MAAM,EAAEL,QAAQ,CAACK,MAAM;YAAEG,UAAU,EAAER,QAAQ,CAACQ;UAAW,CAAC;UAC7E,MAAMQ,KAAK;QACb;;QAEA;QACA,MAAMP,WAAW,GAAGT,QAAQ,CAACX,OAAO,CAAC/B,GAAG,CAAC,cAAc,CAAC;QACxD,IAAI4D,YAAqB;QAEzB,IAAIT,WAAW,IAAIA,WAAW,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;UAC3D;UACA,IAAI;YACFQ,YAAY,GAAG,MAAMlB,QAAQ,CAACY,IAAI,CAAC,CAAC;YACpC;YACA,IAAIM,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAKnB,SAAS,EAAE;cACvDmB,YAAY,GAAG,IAAI;YACrB,CAAC,MAAM;cACL;cACAA,YAAY,GAAG,IAAI,CAACC,cAAc,CAACD,YAAY,CAAC;YAClD;UACF,CAAC,CAAC,OAAOJ,UAAU,EAAE;YACnB;YACA;YACA;YACA,IAAIA,UAAU,YAAYM,WAAW,EAAE;cACrC,IAAI,CAAClF,MAAM,CAAC6E,IAAI,CAAC,qDAAqD,EAAED,UAAU,CAAC;cACnF;cACA;cACAI,YAAY,GAAG,IAAI,CAAC,CAAC;YACvB,CAAC,MAAM;cACL,IAAI,CAAChF,MAAM,CAAC6E,IAAI,CAAC,0BAA0B,EAAED,UAAU,CAAC;cACxD,MAAM,IAAIG,KAAK,CAAC,qCAAqC,CAAC;YACxD;UACF;QACF,CAAC,MAAM,IAAIR,WAAW,KAAKA,WAAW,CAACC,QAAQ,CAAC,0BAA0B,CAAC,IAAID,WAAW,CAACC,QAAQ,CAAC,QAAQ,CAAC,IAAID,WAAW,CAACC,QAAQ,CAAC,QAAQ,CAAC,IAAID,WAAW,CAACC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;UAClL;UACAQ,YAAY,GAAG,MAAMlB,QAAQ,CAACqB,IAAI,CAAC,CAAC;QACtC,CAAC,MAAM;UACL;UACA,MAAMC,IAAI,GAAG,MAAMtB,QAAQ,CAACsB,IAAI,CAAC,CAAC;UAClCJ,YAAY,GAAGI,IAAI,IAAI,IAAI;QAC7B;QAEA,MAAMC,QAAQ,GAAG9C,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS;QACvC,IAAI,CAACgD,aAAa,CAAC,IAAI,EAAED,QAAQ,CAAC;QAClC,IAAI,CAACzF,MAAM,CAAC2F,YAAY,GAAG/D,GAAG,EAAED,MAAM,EAAE8D,QAAQ,EAAE,IAAI,CAAC;QAEvD,OAAOL,YAAY;MACrB,CAAC,CAAC,OAAOF,KAAc,EAAE;QACvB,MAAMO,QAAQ,GAAG9C,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS;QACvC,IAAI,CAACgD,aAAa,CAAC,KAAK,EAAED,QAAQ,CAAC;QACnC,IAAI,CAACzF,MAAM,CAAC2F,YAAY,GAAG/D,GAAG,EAAED,MAAM,EAAE8D,QAAQ,EAAE,KAAK,CAAC;QACxD,IAAI,CAACzF,MAAM,CAAC4F,cAAc,GAAGhE,GAAG,EAAED,MAAM,EAAEuD,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACU,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC;;QAEpG;QACA,IAAIA,KAAK,YAAYC,KAAK,IAAID,KAAK,CAAC5D,IAAI,KAAK,YAAY,EAAE;UACzD,MAAM,IAAAwE,2BAAe,EAACZ,KAAK,CAAC;QAC9B;QAEA,MAAM,IAAAY,2BAAe,EAACZ,KAAK,CAAC;MAC9B;IACF,CAAC;;IAED;IACA,MAAMa,gBAAgB,GAAG7D,KAAK,GAC1B,MAAM,IAAA8D,sBAAU,EAACvD,SAAS,EAAEL,UAAU,EAAE,IAAI,CAACpC,MAAM,CAACiG,UAAU,IAAI,IAAI,CAAC,GACvExD,SAAS;;IAEb;IACA,MAAMyD,SAAS,GAAGjE,WAAW,GAAG,IAAI,CAACK,gBAAgB,CAACX,MAAM,EAAEC,GAAG,EAAET,IAAI,IAAIU,MAAM,CAAC,GAAG,IAAI;IACzF,MAAMsE,YAAY,GAAGD,SAAS,GAC1B,MAAM,IAAI,CAACtF,YAAY,CAACqB,WAAW,CAACiE,SAAS,EAAEH,gBAAgB,CAAC,GAChEA,gBAAgB;;IAEpB;IACA,MAAMK,MAAM,GAAG,MAAM,IAAI,CAACtF,YAAY,CAACuF,OAAO,CAACF,YAAY,CAAC;;IAE5D;IACA,IAAI3F,KAAK,IAAI6B,QAAQ,IAAI+D,MAAM,EAAE;MAC/B,IAAI,CAAC5F,KAAK,CAAC8F,GAAG,CAACjE,QAAQ,EAAE+D,MAAM,EAAE1F,QAAQ,CAAC;IAC5C;IAEA,OAAO0F,MAAM;EACf;;EAEA;AACF;AACA;AACA;EACU9D,gBAAgBA,CAACX,MAAc,EAAEC,GAAW,EAAET,IAAc,EAAU;IAC5E,IAAI,CAACA,IAAI,IAAK,OAAOA,IAAI,KAAK,QAAQ,IAAIqC,MAAM,CAAC+C,IAAI,CAACpF,IAAI,CAAC,CAACqF,MAAM,KAAK,CAAE,EAAE;MACzE,OAAO,GAAG7E,MAAM,IAAIC,GAAG,EAAE;IAC3B;;IAEA;IACA,MAAM6E,OAAO,GAAG1C,IAAI,CAACC,SAAS,CAAC7C,IAAI,CAAC;IACpC,IAAIsF,OAAO,CAACD,MAAM,GAAG,IAAI,EAAE;MACzB,OAAO,GAAG7E,MAAM,IAAIC,GAAG,IAAI6E,OAAO,EAAE;IACtC;;IAEA;IACA;IACA,MAAMC,IAAI,GAAG,OAAOvF,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,GAClDqC,MAAM,CAAC+C,IAAI,CAACpF,IAAI,CAAC,CAACwF,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAGH,OAAO,CAACD,MAAM,GACzDX,MAAM,CAAC1E,IAAI,CAAC,CAAC0F,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;IAElC,OAAO,GAAGlF,MAAM,IAAIC,GAAG,IAAI8E,IAAI,EAAE;EACnC;;EAEA;AACF;AACA;EACU5D,QAAQA,CAAClB,GAAW,EAAEC,MAAgC,EAAU;IACtE,MAAMiF,IAAI,GAAGlF,GAAG,CAACmF,UAAU,CAAC,MAAM,CAAC,GAAGnF,GAAG,GAAG,GAAG,IAAI,CAAC3B,OAAO,GAAG2B,GAAG,EAAE;IAEnE,IAAI,CAACC,MAAM,IAAI2B,MAAM,CAAC+C,IAAI,CAAC1E,MAAM,CAAC,CAAC2E,MAAM,KAAK,CAAC,EAAE;MAC/C,OAAOM,IAAI;IACb;IAEA,MAAME,YAAY,GAAG,IAAIC,eAAe,CAAC,CAAC;IAC1CzD,MAAM,CAACC,OAAO,CAAC5B,MAAM,CAAC,CAAC6B,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;MAC/C,IAAIA,KAAK,KAAKK,SAAS,IAAIL,KAAK,KAAK,IAAI,EAAE;QACzCoD,YAAY,CAACzF,MAAM,CAACoC,GAAG,EAAEkC,MAAM,CAACjC,KAAK,CAAC,CAAC;MACzC;IACF,CAAC,CAAC;IAEF,MAAMsD,WAAW,GAAGF,YAAY,CAACG,QAAQ,CAAC,CAAC;IAC3C,OAAOD,WAAW,GAAG,GAAGJ,IAAI,GAAGA,IAAI,CAAClC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAGsC,WAAW,EAAE,GAAGJ,IAAI;EACtF;;EAEA;AACF;AACA;AACA;EACE,MAAc9D,aAAaA,CAAA,EAA2B;IACpD,OAAO,MAAM9C,0BAAY,CAAC8C,aAAa,CAAC,CAAC;EAC3C;;EAEA;AACF;AACA;EACUqC,cAAcA,CAACD,YAAqB,EAAW;IACrD;IACA,IAAIA,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,IAAI,MAAM,IAAIA,YAAY,IAAI,YAAY,IAAIA,YAAY,EAAE;MAC9G,OAAOA,YAAY;IACrB;;IAEA;IACA,IAAIA,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,IAAI,MAAM,IAAIA,YAAY,IAAI,CAACgC,KAAK,CAACC,OAAO,CAACjC,YAAY,CAAC,EAAE;MAC9G,OAAOA,YAAY,CAACjE,IAAI;IAC1B;;IAEA;IACA,OAAOiE,YAAY;EACrB;;EAEA;AACF;AACA;EACUM,aAAaA,CAAC4B,OAAgB,EAAE7B,QAAgB,EAAQ;IAC9D,IAAI,CAACjG,cAAc,CAACC,aAAa,EAAE;IACnC,IAAI6H,OAAO,EAAE;MACX,IAAI,CAAC9H,cAAc,CAACE,kBAAkB,EAAE;IAC1C,CAAC,MAAM;MACL,IAAI,CAACF,cAAc,CAACG,cAAc,EAAE;IACtC;IAEA,MAAM4H,KAAK,GAAG,GAAG;IACjB,IAAI,CAAC/H,cAAc,CAACM,mBAAmB,GACrC,IAAI,CAACN,cAAc,CAACM,mBAAmB,IAAI,CAAC,GAAGyH,KAAK,CAAC,GAAG9B,QAAQ,GAAG8B,KAAK;EAC5E;;EAEA;EACA;AACF;AACA;EACE,MAAM/F,GAAGA,CAAcI,GAAW,EAAE5B,MAA8C,EAAwB;IACxG,MAAMoG,MAAM,GAAG,MAAM,IAAI,CAAC1E,OAAO,CAAI;MAAEC,MAAM,EAAE,KAAK;MAAEC,GAAG;MAAE,GAAG5B;IAAO,CAAC,CAAC;IACvE,OAAO;MAAEmB,IAAI,EAAEiF;IAAY,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMoB,IAAIA,CAAc5F,GAAW,EAAET,IAAc,EAAEnB,MAAuD,EAAwB;IAClI,MAAMoG,MAAM,GAAG,MAAM,IAAI,CAAC1E,OAAO,CAAI;MAAEC,MAAM,EAAE,MAAM;MAAEC,GAAG;MAAET,IAAI;MAAE,GAAGnB;IAAO,CAAC,CAAC;IAC9E,OAAO;MAAEmB,IAAI,EAAEiF;IAAY,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMqB,GAAGA,CAAc7F,GAAW,EAAET,IAAc,EAAEnB,MAAuD,EAAwB;IACjI,MAAMoG,MAAM,GAAG,MAAM,IAAI,CAAC1E,OAAO,CAAI;MAAEC,MAAM,EAAE,KAAK;MAAEC,GAAG;MAAET,IAAI;MAAE,GAAGnB;IAAO,CAAC,CAAC;IAC7E,OAAO;MAAEmB,IAAI,EAAEiF;IAAY,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMsB,KAAKA,CAAc9F,GAAW,EAAET,IAAc,EAAEnB,MAAuD,EAAwB;IACnI,MAAMoG,MAAM,GAAG,MAAM,IAAI,CAAC1E,OAAO,CAAI;MAAEC,MAAM,EAAE,OAAO;MAAEC,GAAG;MAAET,IAAI;MAAE,GAAGnB;IAAO,CAAC,CAAC;IAC/E,OAAO;MAAEmB,IAAI,EAAEiF;IAAY,CAAC;EAC9B;EAEA,MAAMuB,MAAMA,CAAc/F,GAAW,EAAE5B,MAA8C,EAAwB;IAC3G,MAAMoG,MAAM,GAAG,MAAM,IAAI,CAAC1E,OAAO,CAAI;MAAEC,MAAM,EAAE,QAAQ;MAAEC,GAAG;MAAE,GAAG5B;IAAO,CAAC,CAAC;IAC1E,OAAO;MAAEmB,IAAI,EAAEiF;IAAY,CAAC;EAC9B;;EAEA;EACAwB,SAASA,CAACC,WAAmB,EAAEC,YAAY,GAAG,EAAE,EAAQ;IACtD5H,0BAAY,CAAC0H,SAAS,CAACC,WAAW,EAAEC,YAAY,CAAC;EACnD;EAEAtD,WAAWA,CAAA,EAAS;IAClBtE,0BAAY,CAACsE,WAAW,CAAC,CAAC;EAC5B;EAEAuD,cAAcA,CAAA,EAAkB;IAC9B,OAAO7H,0BAAY,CAAC6H,cAAc,CAAC,CAAC;EACtC;EAEAC,cAAcA,CAAA,EAAY;IACxB,OAAO9H,0BAAY,CAAC8H,cAAc,CAAC,CAAC;EACtC;EAEAC,UAAUA,CAAA,EAAW;IACnB,OAAO,IAAI,CAAChI,OAAO;EACrB;;EAEA;EACAiI,UAAUA,CAAA,EAAS;IACjB,IAAI,CAAC1H,KAAK,CAAC2H,KAAK,CAAC,CAAC;EACpB;EAEAC,eAAeA,CAACzE,GAAW,EAAQ;IACjC,IAAI,CAACnD,KAAK,CAACmH,MAAM,CAAChE,GAAG,CAAC;EACxB;EAEA0E,aAAaA,CAAA,EAAG;IACd,MAAMC,UAAU,GAAG,IAAI,CAAC9H,KAAK,CAAC+H,QAAQ,CAAC,CAAC;IACxC,MAAMC,KAAK,GAAG,IAAI,CAAChJ,cAAc,CAACI,SAAS,GAAG,IAAI,CAACJ,cAAc,CAACK,WAAW;IAC7E,OAAO;MACL4I,IAAI,EAAEH,UAAU,CAACG,IAAI;MACrBC,IAAI,EAAE,IAAI,CAAClJ,cAAc,CAACI,SAAS;MACnC+I,MAAM,EAAE,IAAI,CAACnJ,cAAc,CAACK,WAAW;MACvC+I,OAAO,EAAEJ,KAAK,GAAG,CAAC,GAAG,IAAI,CAAChJ,cAAc,CAACI,SAAS,GAAG4I,KAAK,GAAG;IAC/D,CAAC;EACH;EAEAK,UAAUA,CAAA,EAAG;IACX,OAAO;MAAE,GAAG,IAAI,CAACrJ;IAAe,CAAC;EACnC;;EAEA;EACA,OAAOsJ,qBAAqBA,CAAA,EAAS;IACnC,IAAI;MACF5I,0BAAY,CAACsE,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC,OAAOU,KAAK,EAAE;MACd;MACA;IAAA;EAEJ;AACF;AAAC6D,OAAA,CAAAxJ,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cache","require","_requestUtils","_asyncUtils","_errorUtils","_jwtDecode","TokenStore","accessToken","refreshToken","constructor","getInstance","instance","setTokens","getAccessToken","getRefreshToken","clearTokens","hasAccessToken","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","config","baseURL","tokenStore","logger","SimpleLogger","enableLogging","logLevel","cache","TTLCache","cacheTTL","registerCacheForCleanup","deduplicator","RequestDeduplicator","requestQueue","RequestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","clearTimeout","ok","status","errorMessage","statusText","contentType","includes","errorData","json","message","error","parseError","warn","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","handleHttpError","requestWithRetry","retryAsync","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","decoded","jwtDecode","currentTime","Math","floor","exp","sessionId","refreshUrl","AbortSignal","newToken","refreshError","Array","isArray","success","alpha","post","put","patch","delete","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests","exports"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}
|