@oxyhq/services 5.17.16 → 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.
Files changed (403) hide show
  1. package/README.md +32 -38
  2. package/lib/commonjs/core/CrossDomainAuth.js +277 -0
  3. package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +82 -15
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +11 -3
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/OxyServices.js +4 -1
  9. package/lib/commonjs/core/OxyServices.js.map +1 -1
  10. package/lib/commonjs/core/index.js +30 -0
  11. package/lib/commonjs/core/index.js.map +1 -1
  12. package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
  13. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  14. package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
  15. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  16. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
  17. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
  19. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
  21. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
  23. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  24. package/lib/commonjs/core/mixins/index.js +27 -15
  25. package/lib/commonjs/core/mixins/index.js.map +1 -1
  26. package/lib/commonjs/crypto/index.js +30 -0
  27. package/lib/commonjs/crypto/index.js.map +1 -1
  28. package/lib/commonjs/crypto/keyManager.js +902 -0
  29. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  30. package/lib/commonjs/crypto/polyfill.js +14 -5
  31. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  32. package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
  33. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  34. package/lib/commonjs/crypto/signatureService.js +289 -0
  35. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  36. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  37. package/lib/commonjs/index.js +40 -26
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/models/interfaces.js +0 -15
  40. package/lib/commonjs/models/interfaces.js.map +1 -1
  41. package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
  42. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  43. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  44. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
  45. package/lib/commonjs/ui/components/OxyProvider.js +41 -11
  46. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  47. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
  48. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
  49. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
  50. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
  51. package/lib/commonjs/ui/context/OxyContext.js +110 -192
  52. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  53. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
  54. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  55. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
  56. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  57. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +78 -64
  58. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  59. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
  60. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  61. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
  62. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  63. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
  64. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  65. package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
  66. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  67. package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
  68. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  69. package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
  70. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  71. package/lib/commonjs/ui/hooks/useStorage.js +24 -58
  72. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  73. package/lib/commonjs/ui/index.js +50 -21
  74. package/lib/commonjs/ui/index.js.map +1 -1
  75. package/lib/commonjs/ui/navigation/routes.js +5 -1
  76. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  77. package/lib/commonjs/ui/screens/AccountCenterScreen.js +2 -2
  78. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  80. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
  81. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  82. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
  83. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  84. package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
  85. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  86. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
  87. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  88. package/lib/commonjs/ui/stores/accountStore.js +2 -4
  89. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  90. package/lib/commonjs/ui/stores/authStore.js +45 -32
  91. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  92. package/lib/commonjs/ui/styles/spacing.js +54 -2
  93. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  94. package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
  95. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  96. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
  97. package/lib/commonjs/utils/errorUtils.js +13 -0
  98. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  99. package/lib/commonjs/utils/validationUtils.js +15 -1
  100. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  101. package/lib/module/core/CrossDomainAuth.js +271 -0
  102. package/lib/module/core/CrossDomainAuth.js.map +1 -0
  103. package/lib/module/core/HttpService.js +82 -15
  104. package/lib/module/core/HttpService.js.map +1 -1
  105. package/lib/module/core/OxyServices.base.js +11 -4
  106. package/lib/module/core/OxyServices.base.js.map +1 -1
  107. package/lib/module/core/OxyServices.js +4 -1
  108. package/lib/module/core/OxyServices.js.map +1 -1
  109. package/lib/module/core/index.js +6 -1
  110. package/lib/module/core/index.js.map +1 -1
  111. package/lib/module/core/mixins/OxyServices.assets.js +16 -3
  112. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  113. package/lib/module/core/mixins/OxyServices.auth.js +73 -32
  114. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  115. package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
  116. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
  117. package/lib/module/core/mixins/OxyServices.popup.js +349 -0
  118. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
  119. package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
  120. package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
  121. package/lib/module/core/mixins/OxyServices.user.js +35 -24
  122. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  123. package/lib/module/core/mixins/index.js +15 -3
  124. package/lib/module/core/mixins/index.js.map +1 -1
  125. package/lib/module/crypto/index.js +8 -4
  126. package/lib/module/crypto/index.js.map +1 -1
  127. package/lib/module/crypto/keyManager.js +899 -0
  128. package/lib/module/crypto/keyManager.js.map +1 -0
  129. package/lib/module/crypto/polyfill.js +6 -5
  130. package/lib/module/crypto/polyfill.js.map +1 -1
  131. package/lib/module/crypto/recoveryPhrase.js +147 -0
  132. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  133. package/lib/module/crypto/signatureService.js +286 -0
  134. package/lib/module/crypto/signatureService.js.map +1 -0
  135. package/lib/module/i18n/locales/en-US.json +1 -1
  136. package/lib/module/index.js +6 -9
  137. package/lib/module/index.js.map +1 -1
  138. package/lib/module/models/interfaces.js +0 -15
  139. package/lib/module/models/interfaces.js.map +1 -1
  140. package/lib/module/ui/components/BottomSheetRouter.js +6 -2
  141. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  142. package/lib/module/ui/components/Icon.js.map +1 -1
  143. package/lib/module/ui/components/IconButton/utils.js.map +1 -1
  144. package/lib/module/ui/components/OxyProvider.js +41 -11
  145. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  146. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
  147. package/lib/module/ui/components/TextField/helpers.js.map +1 -1
  148. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
  149. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
  150. package/lib/module/ui/context/OxyContext.js +112 -184
  151. package/lib/module/ui/context/OxyContext.js.map +1 -1
  152. package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
  153. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  154. package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
  155. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  156. package/lib/module/ui/hooks/mutations/useAccountMutations.js +79 -64
  157. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  158. package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
  159. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  160. package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
  161. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  162. package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
  163. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  164. package/lib/module/ui/hooks/useProfileEditing.js +3 -5
  165. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  166. package/lib/module/ui/hooks/useSessionManagement.js +4 -8
  167. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  168. package/lib/module/ui/hooks/useSessionSocket.js +162 -315
  169. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  170. package/lib/module/ui/hooks/useStorage.js +25 -59
  171. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  172. package/lib/module/ui/index.js +15 -10
  173. package/lib/module/ui/index.js.map +1 -1
  174. package/lib/module/ui/navigation/routes.js +5 -1
  175. package/lib/module/ui/navigation/routes.js.map +1 -1
  176. package/lib/module/ui/screens/AccountCenterScreen.js +2 -2
  177. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  178. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  179. package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
  180. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  181. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
  182. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  183. package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
  184. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  185. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
  186. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  187. package/lib/module/ui/stores/accountStore.js +2 -4
  188. package/lib/module/ui/stores/accountStore.js.map +1 -1
  189. package/lib/module/ui/stores/authStore.js +45 -32
  190. package/lib/module/ui/stores/authStore.js.map +1 -1
  191. package/lib/module/ui/styles/spacing.js +6 -2
  192. package/lib/module/ui/styles/spacing.js.map +1 -1
  193. package/lib/module/ui/utils/avatarUtils.js +37 -40
  194. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  195. package/lib/module/ui/utils/storageHelpers.js.map +1 -1
  196. package/lib/module/utils/errorUtils.js +7 -0
  197. package/lib/module/utils/errorUtils.js.map +1 -1
  198. package/lib/module/utils/validationUtils.js +13 -0
  199. package/lib/module/utils/validationUtils.js.map +1 -1
  200. package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
  201. package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
  202. package/lib/typescript/core/HttpService.d.ts +1 -1
  203. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  204. package/lib/typescript/core/OxyServices.base.d.ts +0 -6
  205. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  206. package/lib/typescript/core/OxyServices.d.ts +5 -36
  207. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  208. package/lib/typescript/core/index.d.ts +4 -0
  209. package/lib/typescript/core/index.d.ts.map +1 -1
  210. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  211. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  212. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
  213. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  214. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  215. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  216. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
  217. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
  218. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  219. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  220. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  221. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  222. package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
  223. package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
  224. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  225. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
  226. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
  227. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  228. package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
  229. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  230. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  231. package/lib/typescript/core/mixins/index.d.ts +220 -8
  232. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  233. package/lib/typescript/crypto/index.d.ts +6 -3
  234. package/lib/typescript/crypto/index.d.ts.map +1 -1
  235. package/lib/typescript/crypto/keyManager.d.ts +190 -0
  236. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  237. package/lib/typescript/crypto/polyfill.d.ts +4 -3
  238. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  239. package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
  240. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  241. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  242. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  243. package/lib/typescript/index.d.ts +5 -6
  244. package/lib/typescript/index.d.ts.map +1 -1
  245. package/lib/typescript/models/interfaces.d.ts +2 -14
  246. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  247. package/lib/typescript/models/session.d.ts +0 -9
  248. package/lib/typescript/models/session.d.ts.map +1 -1
  249. package/lib/typescript/types/bip39.d.ts +32 -0
  250. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
  251. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  252. package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
  253. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  254. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  255. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
  256. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
  257. package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
  258. package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
  259. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  260. package/lib/typescript/ui/components/types.d.ts +4 -0
  261. package/lib/typescript/ui/components/types.d.ts.map +1 -1
  262. package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
  263. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  264. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
  265. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  266. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  267. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  268. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  269. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  270. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  271. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  272. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  273. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
  274. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  275. package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
  276. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
  277. package/lib/typescript/ui/index.d.ts +6 -2
  278. package/lib/typescript/ui/index.d.ts.map +1 -1
  279. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  280. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  281. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  282. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
  283. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  284. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  285. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  286. package/lib/typescript/ui/stores/authStore.d.ts +8 -7
  287. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  288. package/lib/typescript/ui/styles/spacing.d.ts +5 -0
  289. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  290. package/lib/typescript/ui/types/navigation.d.ts +2 -1
  291. package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
  292. package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
  293. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  294. package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
  295. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
  296. package/lib/typescript/utils/errorUtils.d.ts +6 -0
  297. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  298. package/lib/typescript/utils/validationUtils.d.ts +8 -0
  299. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  300. package/package.json +8 -7
  301. package/src/core/CrossDomainAuth.ts +307 -0
  302. package/src/core/HttpService.ts +99 -16
  303. package/src/core/OxyServices.base.ts +20 -3
  304. package/src/core/OxyServices.ts +7 -3
  305. package/src/core/index.ts +9 -1
  306. package/src/core/mixins/OxyServices.assets.ts +14 -3
  307. package/src/core/mixins/OxyServices.auth.ts +105 -36
  308. package/src/core/mixins/OxyServices.fedcm.ts +315 -0
  309. package/src/core/mixins/OxyServices.popup.ts +402 -0
  310. package/src/core/mixins/OxyServices.redirect.ts +397 -0
  311. package/src/core/mixins/OxyServices.user.ts +39 -24
  312. package/src/core/mixins/index.ts +19 -3
  313. package/src/crypto/index.ts +16 -5
  314. package/src/crypto/keyManager.ts +966 -0
  315. package/src/crypto/polyfill.ts +6 -5
  316. package/src/crypto/recoveryPhrase.ts +166 -0
  317. package/src/crypto/signatureService.ts +323 -0
  318. package/src/i18n/locales/en-US.json +1 -1
  319. package/src/index.ts +19 -15
  320. package/src/models/interfaces.ts +4 -16
  321. package/src/models/session.ts +2 -11
  322. package/src/types/bip39.d.ts +32 -0
  323. package/src/ui/components/BottomSheetRouter.tsx +6 -1
  324. package/src/ui/components/Icon.tsx +1 -1
  325. package/src/ui/components/IconButton/utils.ts +1 -1
  326. package/src/ui/components/OxyProvider.tsx +44 -12
  327. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  328. package/src/ui/components/TextField/Adornment/utils.ts +2 -2
  329. package/src/ui/components/TextField/helpers.tsx +10 -10
  330. package/src/ui/components/TextField/types.tsx +1 -1
  331. package/src/ui/components/TouchableRipple/utils.ts +2 -2
  332. package/src/ui/components/Typography/AnimatedText.tsx +2 -2
  333. package/src/ui/components/types.tsx +6 -0
  334. package/src/ui/context/OxyContext.tsx +173 -185
  335. package/src/ui/context/hooks/useAuthOperations.ts +177 -36
  336. package/src/ui/context/hooks/useSessionManagement.ts +399 -0
  337. package/src/ui/hooks/mutations/useAccountMutations.ts +82 -65
  338. package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
  339. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  340. package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
  341. package/src/ui/hooks/useProfileEditing.ts +3 -3
  342. package/src/ui/hooks/useSessionManagement.ts +5 -10
  343. package/src/ui/hooks/useSessionSocket.ts +46 -175
  344. package/src/ui/hooks/useStorage.ts +24 -76
  345. package/src/ui/index.ts +22 -13
  346. package/src/ui/navigation/routes.ts +6 -2
  347. package/src/ui/screens/AccountCenterScreen.tsx +2 -2
  348. package/src/ui/screens/AccountOverviewScreen.tsx +1 -1
  349. package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
  350. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  351. package/src/ui/screens/OxyAuthScreen.tsx +138 -64
  352. package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
  353. package/src/ui/stores/accountStore.ts +1 -11
  354. package/src/ui/stores/authStore.ts +43 -44
  355. package/src/ui/styles/spacing.ts +15 -2
  356. package/src/ui/types/navigation.ts +2 -2
  357. package/src/ui/utils/avatarUtils.ts +39 -46
  358. package/src/ui/utils/storageHelpers.ts +0 -4
  359. package/src/utils/__tests__/validationUtils.test.ts +16 -1
  360. package/src/utils/errorUtils.ts +8 -1
  361. package/src/utils/validationUtils.ts +12 -0
  362. package/lib/commonjs/core/services/SessionService.js +0 -163
  363. package/lib/commonjs/core/services/SessionService.js.map +0 -1
  364. package/lib/commonjs/core/services/TokenService.js +0 -220
  365. package/lib/commonjs/core/services/TokenService.js.map +0 -1
  366. package/lib/commonjs/crypto/types.js +0 -2
  367. package/lib/commonjs/crypto/types.js.map +0 -1
  368. package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
  369. package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
  370. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  371. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  372. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
  373. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  374. package/lib/module/core/services/SessionService.js +0 -159
  375. package/lib/module/core/services/SessionService.js.map +0 -1
  376. package/lib/module/core/services/TokenService.js +0 -217
  377. package/lib/module/core/services/TokenService.js.map +0 -1
  378. package/lib/module/crypto/types.js +0 -2
  379. package/lib/module/crypto/types.js.map +0 -1
  380. package/lib/module/ui/context/OxyContextBase.js +0 -16
  381. package/lib/module/ui/context/OxyContextBase.js.map +0 -1
  382. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  383. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  384. package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
  385. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  386. package/lib/typescript/core/services/SessionService.d.ts +0 -78
  387. package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
  388. package/lib/typescript/core/services/TokenService.d.ts +0 -72
  389. package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
  390. package/lib/typescript/crypto/types.d.ts +0 -22
  391. package/lib/typescript/crypto/types.d.ts.map +0 -1
  392. package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
  393. package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
  394. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  395. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  396. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
  397. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  398. package/src/core/services/SessionService.ts +0 -173
  399. package/src/core/services/TokenService.ts +0 -237
  400. package/src/crypto/types.ts +0 -23
  401. package/src/ui/context/OxyContextBase.tsx +0 -78
  402. package/src/ui/context/hooks/useStorage.ts +0 -104
  403. package/src/ui/hooks/useAvatarPicker.ts +0 -61
@@ -0,0 +1,206 @@
1
+ import type { OxyServicesBase } from '../OxyServices.base';
2
+ import type { SessionLoginResponse } from '../../models/session';
3
+ export interface PopupAuthOptions {
4
+ width?: number;
5
+ height?: number;
6
+ timeout?: number;
7
+ mode?: 'login' | 'signup';
8
+ }
9
+ export interface SilentAuthOptions {
10
+ timeout?: number;
11
+ }
12
+ /**
13
+ * Popup-based Cross-Domain Authentication Mixin
14
+ *
15
+ * Implements OAuth2-style authentication using popup windows and postMessage.
16
+ * This is the primary authentication method for modern browsers, providing a
17
+ * Google-like experience without full page redirects.
18
+ *
19
+ * Flow:
20
+ * 1. Opens small popup window to auth.oxy.so
21
+ * 2. User signs in (auth.oxy.so sets its own first-party cookie)
22
+ * 3. auth.oxy.so sends token back via postMessage
23
+ * 4. Popup closes, parent app has the session
24
+ *
25
+ * Features:
26
+ * - No full page redirect (preserves app state)
27
+ * - Works across different domains (homiio.com, mention.earth, etc.)
28
+ * - Silent refresh using hidden iframe for seamless SSO
29
+ * - CSRF protection via state parameter
30
+ * - XSS protection via origin validation
31
+ *
32
+ * Browser Support: All modern browsers (IE11+)
33
+ */
34
+ export declare function OxyServicesPopupAuthMixin<T extends typeof OxyServicesBase>(Base: T): {
35
+ new (...args: any[]): {
36
+ /**
37
+ * Sign in using popup window
38
+ *
39
+ * Opens a centered popup window to auth.oxy.so where the user can sign in.
40
+ * The popup automatically closes after successful authentication and the
41
+ * session is returned to the parent window.
42
+ *
43
+ * @param options - Popup configuration options
44
+ * @returns Session with access token and user data
45
+ * @throws {OxyAuthenticationError} If popup is blocked or auth fails
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const handleSignIn = async () => {
50
+ * try {
51
+ * const session = await oxyServices.signInWithPopup();
52
+ * console.log('Signed in:', session.user);
53
+ * } catch (error) {
54
+ * if (error.message.includes('blocked')) {
55
+ * alert('Please allow popups for this site');
56
+ * }
57
+ * }
58
+ * };
59
+ * ```
60
+ */
61
+ signInWithPopup(options?: PopupAuthOptions): Promise<SessionLoginResponse>;
62
+ /**
63
+ * Sign up using popup window
64
+ *
65
+ * Same as signInWithPopup but opens the signup page by default.
66
+ *
67
+ * @param options - Popup configuration options
68
+ * @returns Session with access token and user data
69
+ */
70
+ signUpWithPopup(options?: PopupAuthOptions): Promise<SessionLoginResponse>;
71
+ /**
72
+ * Silent sign-in using hidden iframe
73
+ *
74
+ * Attempts to automatically re-authenticate the user without any UI.
75
+ * This is what enables seamless SSO across all Oxy domains.
76
+ *
77
+ * How it works:
78
+ * 1. Creates hidden iframe pointing to auth.oxy.so/silent-auth
79
+ * 2. If user has valid session at auth.oxy.so, it sends token via postMessage
80
+ * 3. If not, iframe responds with null (no error thrown)
81
+ *
82
+ * This should be called on app startup to check for existing sessions.
83
+ *
84
+ * @param options - Silent auth options
85
+ * @returns Session if user is signed in, null otherwise
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * useEffect(() => {
90
+ * const checkAuth = async () => {
91
+ * const session = await oxyServices.silentSignIn();
92
+ * if (session) {
93
+ * setUser(session.user);
94
+ * }
95
+ * };
96
+ * checkAuth();
97
+ * }, []);
98
+ * ```
99
+ */
100
+ silentSignIn(options?: SilentAuthOptions): Promise<SessionLoginResponse | null>;
101
+ /**
102
+ * Open a centered popup window
103
+ *
104
+ * @private
105
+ */
106
+ openCenteredPopup(url: string, title: string, width: number, height: number): Window | null;
107
+ /**
108
+ * Wait for authentication response from popup
109
+ *
110
+ * @private
111
+ */
112
+ waitForPopupAuth(popup: Window, expectedState: string, timeout: number): Promise<SessionLoginResponse>;
113
+ /**
114
+ * Wait for authentication response from iframe
115
+ *
116
+ * @private
117
+ */
118
+ waitForIframeAuth(iframe: HTMLIFrameElement, timeout: number, expectedOrigin: string): Promise<SessionLoginResponse | null>;
119
+ /**
120
+ * Build authentication URL with query parameters
121
+ *
122
+ * @private
123
+ */
124
+ buildAuthUrl(params: {
125
+ mode: string;
126
+ state: string;
127
+ nonce: string;
128
+ clientId: string;
129
+ redirectUri: string;
130
+ }): string;
131
+ /**
132
+ * Generate cryptographically secure state for CSRF protection
133
+ *
134
+ * @private
135
+ */
136
+ generateState(): string;
137
+ /**
138
+ * Generate nonce for replay attack prevention
139
+ *
140
+ * @private
141
+ */
142
+ generateNonce(): string;
143
+ /**
144
+ * Store auth state in session storage
145
+ *
146
+ * @private
147
+ */
148
+ storeAuthState(state: string, nonce: string): void;
149
+ /**
150
+ * Clear auth state from session storage
151
+ *
152
+ * @private
153
+ */
154
+ clearAuthState(state: string): void;
155
+ httpService: import("../HttpService").HttpService;
156
+ cloudURL: string;
157
+ config: import("../OxyServices.base").OxyConfig;
158
+ makeRequest<T_1>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../HttpService").RequestOptions): Promise<T_1>;
159
+ getBaseURL(): string;
160
+ getClient(): import("../HttpService").HttpService;
161
+ getMetrics(): {
162
+ totalRequests: number;
163
+ successfulRequests: number;
164
+ failedRequests: number;
165
+ cacheHits: number;
166
+ cacheMisses: number;
167
+ averageResponseTime: number;
168
+ };
169
+ clearCache(): void;
170
+ clearCacheEntry(key: string): void;
171
+ getCacheStats(): {
172
+ size: number;
173
+ hits: number;
174
+ misses: number;
175
+ hitRate: number;
176
+ };
177
+ getCloudURL(): string;
178
+ setTokens(accessToken: string, refreshToken?: string): void;
179
+ clearTokens(): void;
180
+ getCurrentUserId(): string | null;
181
+ hasValidToken(): boolean;
182
+ getAccessToken(): string | null;
183
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
184
+ withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
185
+ maxRetries?: number;
186
+ retryDelay?: number;
187
+ authTimeoutMs?: number;
188
+ }): Promise<T_1>;
189
+ validate(): Promise<boolean>;
190
+ handleError(error: unknown): Error;
191
+ healthCheck(): Promise<{
192
+ status: string;
193
+ users?: number;
194
+ timestamp?: string;
195
+ [key: string]: any;
196
+ }>;
197
+ };
198
+ readonly AUTH_URL: "https://auth.oxy.so";
199
+ readonly POPUP_WIDTH: 500;
200
+ readonly POPUP_HEIGHT: 700;
201
+ readonly POPUP_TIMEOUT: 60000;
202
+ readonly SILENT_TIMEOUT: 5000;
203
+ __resetTokensForTests(): void;
204
+ } & T;
205
+ export { OxyServicesPopupAuthMixin as PopupAuthMixin };
206
+ //# sourceMappingURL=OxyServices.popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OxyServices.popup.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAE1D,GAAG,EAAE;QAS5B;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;kCAC4B,gBAAgB,GAAQ,OAAO,CAAC,oBAAoB,CAAC;QAgDpF;;;;;;;WAOG;kCAC4B,gBAAgB,GAAQ,OAAO,CAAC,oBAAoB,CAAC;QAIpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;+BACyB,iBAAiB,GAAQ,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAoCzF;;;;WAIG;+BAC2B,MAAM,SAAS,MAAM,SAAS,MAAM,UAAU,MAAM,GAAG,MAAM,GAAG,IAAI;QAoBlG;;;;WAIG;gCAEM,MAAM,iBACE,MAAM,WACZ,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC;QA0DhC;;;;WAIG;kCAEO,iBAAiB,WAChB,MAAM,kBACC,MAAM,GACrB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAgCvC;;;;WAIG;6BACyB;YAC1B,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;SACrB,GAAG,MAAM;QAUV;;;;WAIG;yBACqB,MAAM;QAO9B;;;;WAIG;yBACqB,MAAM;QAO9B;;;;WAIG;8BAC0B,MAAM,SAAS,MAAM,GAAG,IAAI;QAMzD;;;;WAIG;8BAC0B,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAhND,CAAC;sBAA0B,CAAC;yBAElD,CAAA;;;;;;iBAsHf,CAAH;qBAEI,CAAC;;;;uBAxQ4B,qBAAqB;0BAClB,GAAG;2BACF,GAAG;4BACF,KAAK;6BACJ,IAAI;;MAgW7C;AAGD,OAAO,EAAE,yBAAyB,IAAI,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyServices.privacy.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.privacy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;mCAC+B,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM;QAIvG;;WAEG;iCACiC,WAAW,GAAG,cAAc,UACtD,MAAM,eACD,MAAM,OAAO,CAAC,GAAC,EAAE,CAAC,cACnB,CAAC,IAAI,EAAE,GAAC,KAAK,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GACpF,OAAO,CAAC,OAAO,CAAC;QAuBnB;;;WAGG;2BACsB,OAAO,CAAC,WAAW,EAAE,CAAC;QAW/C;;;;WAIG;0BACqB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa7D;;;;WAIG;4BACuB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa/D;;;;WAIG;8BACyB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAYrD;;;WAGG;8BACyB,OAAO,CAAC,cAAc,EAAE,CAAC;QAWrD;;;;WAIG;6BACwB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAahE;;;;WAIG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAalE;;;;WAIG;iCAC4B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAUuG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;MAF7wG"}
1
+ {"version":3,"file":"OxyServices.privacy.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.privacy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;mCAC+B,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM;QAIvG;;WAEG;iCACiC,WAAW,GAAG,cAAc,UACtD,MAAM,eACD,MAAM,OAAO,CAAC,GAAC,EAAE,CAAC,cACnB,CAAC,IAAI,EAAE,GAAC,KAAK,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GACpF,OAAO,CAAC,OAAO,CAAC;QAuBnB;;;WAGG;2BACsB,OAAO,CAAC,WAAW,EAAE,CAAC;QAW/C;;;;WAIG;0BACqB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa7D;;;;WAIG;4BACuB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAa/D;;;;WAIG;8BACyB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAYrD;;;WAGG;8BACyB,OAAO,CAAC,cAAc,EAAE,CAAC;QAWrD;;;;WAIG;6BACwB,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAahE;;;;WAIG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAalE;;;;WAIG;iCAC4B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAUwY,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;MAF9iH"}
@@ -0,0 +1,246 @@
1
+ import type { OxyServicesBase } from '../OxyServices.base';
2
+ import type { SessionLoginResponse } from '../../models/session';
3
+ export interface RedirectAuthOptions {
4
+ redirectUri?: string;
5
+ mode?: 'login' | 'signup';
6
+ preserveUrl?: boolean;
7
+ }
8
+ /**
9
+ * Redirect-based Cross-Domain Authentication Mixin
10
+ *
11
+ * Implements traditional OAuth2 redirect flow as a fallback when popup or
12
+ * FedCM are not available or fail (e.g., mobile browsers, popup blockers).
13
+ *
14
+ * Flow:
15
+ * 1. Save current URL
16
+ * 2. Redirect to auth.oxy.so/login
17
+ * 3. User signs in
18
+ * 4. Redirect back with token in URL
19
+ * 5. Extract token, restore session, clean URL
20
+ *
21
+ * Features:
22
+ * - Works on all browsers (including old mobile browsers)
23
+ * - Automatic URL cleanup after auth
24
+ * - State preservation option
25
+ * - CSRF protection via state parameter
26
+ *
27
+ * Trade-offs:
28
+ * - Loses JavaScript app state (full page navigation)
29
+ * - Visible redirect (user sees navigation)
30
+ * - Slower perceived performance
31
+ */
32
+ export declare function OxyServicesRedirectAuthMixin<T extends typeof OxyServicesBase>(Base: T): {
33
+ new (...args: any[]): {
34
+ /**
35
+ * Sign in using full page redirect
36
+ *
37
+ * Redirects the user to auth.oxy.so for authentication. After successful
38
+ * sign-in, the user will be redirected back to the current page (or custom
39
+ * redirect URI) with authentication tokens in the URL.
40
+ *
41
+ * Call handleAuthCallback() on app startup to complete the flow.
42
+ *
43
+ * @param options - Redirect configuration options
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * // Initiate sign-in
48
+ * const handleSignIn = () => {
49
+ * oxyServices.signInWithRedirect();
50
+ * };
51
+ *
52
+ * // Handle callback on app startup
53
+ * useEffect(() => {
54
+ * const session = oxyServices.handleAuthCallback();
55
+ * if (session) {
56
+ * setUser(session.user);
57
+ * }
58
+ * }, []);
59
+ * ```
60
+ */
61
+ signInWithRedirect(options?: RedirectAuthOptions): void;
62
+ /**
63
+ * Sign up using full page redirect
64
+ *
65
+ * Same as signInWithRedirect but opens the signup page by default.
66
+ */
67
+ signUpWithRedirect(options?: RedirectAuthOptions): void;
68
+ /**
69
+ * Handle authentication callback
70
+ *
71
+ * Call this on app startup to check if the current page load is a
72
+ * redirect back from the authentication server. If it is, this method
73
+ * will extract the tokens, store them, and clean up the URL.
74
+ *
75
+ * @returns Session data if this is a callback, null otherwise
76
+ * @throws {OxyAuthenticationError} If state validation fails (CSRF attack)
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * // In your app's root component or startup logic
81
+ * useEffect(() => {
82
+ * try {
83
+ * const session = oxyServices.handleAuthCallback();
84
+ * if (session) {
85
+ * console.log('Logged in:', session.user);
86
+ * setUser(session.user);
87
+ * } else {
88
+ * // Not a callback, check for existing session
89
+ * const restored = oxyServices.restoreSession();
90
+ * if (!restored) {
91
+ * // No session, show login button
92
+ * }
93
+ * }
94
+ * } catch (error) {
95
+ * console.error('Auth callback failed:', error);
96
+ * }
97
+ * }, []);
98
+ * ```
99
+ */
100
+ handleAuthCallback(): SessionLoginResponse | null;
101
+ /**
102
+ * Restore session from storage
103
+ *
104
+ * Attempts to restore a previously authenticated session from localStorage.
105
+ * Call this on app startup if handleAuthCallback() returns null.
106
+ *
107
+ * @returns True if session was restored, false otherwise
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * useEffect(() => {
112
+ * const session = oxyServices.handleAuthCallback();
113
+ * if (!session) {
114
+ * const restored = oxyServices.restoreSession();
115
+ * if (!restored) {
116
+ * // No session, user needs to sign in
117
+ * setShowLogin(true);
118
+ * }
119
+ * }
120
+ * }, []);
121
+ * ```
122
+ */
123
+ restoreSession(): boolean;
124
+ /**
125
+ * Clear stored session
126
+ *
127
+ * Removes all authentication data from storage. Call this on logout.
128
+ */
129
+ clearStoredSession(): void;
130
+ /**
131
+ * Get stored session ID
132
+ */
133
+ getStoredSessionId(): string | null;
134
+ /**
135
+ * Build authentication URL with query parameters
136
+ *
137
+ * @private
138
+ */
139
+ buildAuthUrl(params: {
140
+ mode: string;
141
+ redirectUri: string;
142
+ state: string;
143
+ nonce: string;
144
+ clientId: string;
145
+ }): string;
146
+ /**
147
+ * Store tokens in localStorage
148
+ *
149
+ * @private
150
+ */
151
+ storeTokens(accessToken: string, sessionId: string): void;
152
+ /**
153
+ * Generate cryptographically secure state for CSRF protection
154
+ *
155
+ * @private
156
+ */
157
+ generateState(): string;
158
+ /**
159
+ * Generate nonce for replay attack prevention
160
+ *
161
+ * @private
162
+ */
163
+ generateNonce(): string;
164
+ /**
165
+ * Store auth state in session storage
166
+ *
167
+ * @private
168
+ */
169
+ storeAuthState(state: string, nonce: string): void;
170
+ /**
171
+ * Get stored state
172
+ *
173
+ * @private
174
+ */
175
+ getStoredState(): string | null;
176
+ /**
177
+ * Clear auth state from storage
178
+ *
179
+ * @private
180
+ */
181
+ clearAuthState(): void;
182
+ /**
183
+ * Save pre-authentication URL to restore later
184
+ *
185
+ * @private
186
+ */
187
+ savePreAuthUrl(url: string): void;
188
+ /**
189
+ * Clean authentication parameters from URL
190
+ *
191
+ * @private
192
+ */
193
+ cleanAuthCallbackUrl(url: URL): void;
194
+ httpService: import("../HttpService").HttpService;
195
+ cloudURL: string;
196
+ config: import("../OxyServices.base").OxyConfig;
197
+ makeRequest<T_1>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../HttpService").RequestOptions): Promise<T_1>;
198
+ getBaseURL(): string;
199
+ getClient(): import("../HttpService").HttpService;
200
+ getMetrics(): {
201
+ totalRequests: number;
202
+ successfulRequests: number;
203
+ failedRequests: number;
204
+ cacheHits: number;
205
+ cacheMisses: number;
206
+ averageResponseTime: number;
207
+ };
208
+ clearCache(): void;
209
+ clearCacheEntry(key: string): void;
210
+ getCacheStats(): {
211
+ size: number;
212
+ hits: number;
213
+ misses: number;
214
+ hitRate: number;
215
+ };
216
+ getCloudURL(): string;
217
+ setTokens(accessToken: string, refreshToken?: string): void;
218
+ clearTokens(): void;
219
+ getCurrentUserId(): string | null;
220
+ hasValidToken(): boolean;
221
+ getAccessToken(): string | null;
222
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
223
+ withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
224
+ maxRetries?: number;
225
+ retryDelay?: number;
226
+ authTimeoutMs?: number;
227
+ }): Promise<T_1>;
228
+ validate(): Promise<boolean>;
229
+ handleError(error: unknown): Error;
230
+ healthCheck(): Promise<{
231
+ status: string;
232
+ users?: number;
233
+ timestamp?: string;
234
+ [key: string]: any;
235
+ }>;
236
+ };
237
+ readonly AUTH_URL: "https://auth.oxy.so";
238
+ readonly TOKEN_STORAGE_KEY: "oxy_access_token";
239
+ readonly SESSION_STORAGE_KEY: "oxy_session_id";
240
+ readonly STATE_STORAGE_KEY: "oxy_auth_state";
241
+ readonly PRE_AUTH_URL_KEY: "oxy_pre_auth_url";
242
+ readonly NONCE_STORAGE_KEY: "oxy_auth_nonce";
243
+ __resetTokensForTests(): void;
244
+ } & T;
245
+ export { OxyServicesRedirectAuthMixin as RedirectAuthMixin };
246
+ //# sourceMappingURL=OxyServices.redirect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OxyServices.redirect.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAE7D,GAAG,EAAE;QAU5B;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;qCACyB,mBAAmB,GAAQ,IAAI;QA8B3D;;;;WAIG;qCACyB,mBAAmB,GAAQ,IAAI;QAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BG;8BACmB,oBAAoB,GAAG,IAAI;QAoDjD;;;;;;;;;;;;;;;;;;;;;WAqBG;0BACe,OAAO;QAgBzB;;;;WAIG;8BACmB,IAAI;QAU1B;;WAEG;8BACmB,MAAM,GAAG,IAAI;QAQnC;;;;WAIG;6BACyB;YAC1B,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,GAAG,MAAM;QAUV;;;;WAIG;iCAC6B,MAAM,aAAa,MAAM,GAAG,IAAI;QAShE;;;;WAIG;yBACqB,MAAM;QAO9B;;;;WAIG;yBACqB,MAAM;QAO9B;;;;WAIG;8BAC0B,MAAM,SAAS,MAAM,GAAG,IAAI;QASzD;;;;WAIG;0BACsB,MAAM,GAAG,IAAI;QAQtC;;;;WAIG;0BACsB,IAAI;QAU7B;;;;WAIG;4BACwB,MAAM,GAAG,IAAI;QAQxC;;;;WAIG;kCAC8B,GAAG,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAnMA,CAAC;sBAGnC,CAAC;yBAA6B,CAAC;;;;;;iBAyH5B,CAAA;qBAAwB,CAAC;;;;uBA7QH,qBAAqB;gCACZ,kBAAkB;kCAChB,gBAAgB;gCAClB,gBAAgB;+BACjB,kBAAkB;gCACjB,gBAAgB;;MA6V5D;AAGD,OAAO,EAAE,4BAA4B,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyServices.security.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.security.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7G,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAEzD,GAAG,EAAE;QAI1B;;;;;;WAMG;oCAEO,MAAM,WACL,MAAM,cACH,iBAAiB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;QAoBpC;;;;WAIG;0CACoC,MAAM,GAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAShF;;;;WAIG;yCACoC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAiB7D;;;;WAIG;oCAC+B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAmBi5E,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;MAFvjL"}
1
+ {"version":3,"file":"OxyServices.security.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.security.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7G,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAEzD,GAAG,EAAE;QAI1B;;;;;;WAMG;oCAEO,MAAM,WACL,MAAM,cACH,iBAAiB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;QAoBpC;;;;WAIG;0CACoC,MAAM,GAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAShF;;;;WAIG;yCACoC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAiB7D;;;;WAIG;oCAC+B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAmBkrF,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;MAFx1L"}
@@ -38,22 +38,22 @@ export declare function OxyServicesUserMixin<T extends typeof OxyServicesBase>(B
38
38
  getUserById(userId: string): Promise<User>;
39
39
  /**
40
40
  * Get current user
41
- * Services never caches profile - always fetch fresh from backend
42
41
  */
43
42
  getCurrentUser(): Promise<User>;
44
43
  /**
45
44
  * Update user profile
45
+ * TanStack Query handles offline queuing automatically
46
46
  */
47
47
  updateProfile(updates: Record<string, any>): Promise<User>;
48
48
  /**
49
49
  * Get privacy settings for a user
50
- * @param userId - The user ID (MongoDB ObjectId, defaults to current user)
50
+ * @param userId - The user ID (defaults to current user)
51
51
  */
52
52
  getPrivacySettings(userId?: string): Promise<any>;
53
53
  /**
54
54
  * Update privacy settings
55
55
  * @param settings - Partial privacy settings object
56
- * @param userId - The user ID (MongoDB ObjectId, defaults to current user)
56
+ * @param userId - The user ID (defaults to current user)
57
57
  */
58
58
  updatePrivacySettings(settings: Record<string, any>, userId?: string): Promise<any>;
59
59
  /**
@@ -174,7 +174,9 @@ export declare function OxyServicesUserMixin<T extends typeof OxyServicesBase>(B
174
174
  healthCheck(): Promise<{
175
175
  status: string;
176
176
  users?: number;
177
- timestamp?: string;
177
+ timestamp? /**
178
+ * Get user followers
179
+ */: string;
178
180
  [key: string]: any;
179
181
  }>;
180
182
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OxyServices.user.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OxyServices.user.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.user.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyServices.utility.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.utility.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAC5C,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;uBACW;YACZ,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;YACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB,IAIS,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA0FpB,CAAC;sBAA2B,CAAA;yBAEzC,CAAC;;;;;;iBAairF,CAAC;qBAAwB,CAAC;;;;;MAFrtF"}
1
+ {"version":3,"file":"OxyServices.utility.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.utility.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,eAAe,EAAE,IAAI,EAAE,CAAC;kBAExD,GAAG,EAAE;QAG1B;;WAEG;+BAC0B,MAAM,GAAG,OAAO,CAAC;YAC5C,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;uBACW;YACZ,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;YACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB,IAIS,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkGjC,CAAV;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAOo6F,CAAC;qBAAwB,CAAC;;;;;MAFt/F"}