@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.
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 -199
  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 +79 -72
  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 -191
  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 +80 -72
  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 -195
  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 +83 -76
  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
@@ -107,11 +107,14 @@ export class OxyServices extends OxyServicesComposed {
107
107
  }
108
108
  }
109
109
 
110
+ // Type augmentation to expose mixin methods to TypeScript
111
+ // This allows proper type checking while avoiding complex mixin type inference
112
+
110
113
  // Re-export error classes for convenience
111
114
  export { OxyAuthenticationError, OxyAuthenticationTimeoutError };
112
115
 
113
116
  /**
114
- * Default Oxy Cloud URL
117
+ * Export the default Oxy Cloud URL (for backward compatibility)
115
118
  */
116
119
  export const OXY_CLOUD_URL = 'https://cloud.oxy.so';
117
120
 
@@ -1 +1 @@
1
- {"version":3,"names":["OxyAuthenticationError","OxyAuthenticationTimeoutError","composeOxyServices","OxyServicesComposed","OxyServices","constructor","config","OXY_CLOUD_URL","OXY_API_URL","process","env","oxyClient","baseURL","cloudURL"],"sourceRoot":"../../../src","sources":["core/OxyServices.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,sBAAsB,EAAEC,6BAA6B,QAAQ,sBAAsB;;AAE5F;AACA,SAASC,kBAAkB,QAAQ,UAAU;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAA0D,GAAGD,kBAAkB,CAAC,CAAC;;AAEvF;AACA,OAAO,MAAME,WAAW,SAASD,mBAAmB,CAAC;EACnDE,WAAWA,CAACC,MAAiB,EAAE;IAC7B,KAAK,CAACA,MAAM,CAAC;EACf;AACF;;AAEA;AACA,SAASN,sBAAsB,EAAEC,6BAA6B;;AAE9D;AACA;AACA;AACA,OAAO,MAAMM,aAAa,GAAG,sBAAsB;;AAEnD;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,GAAG,IAAID,OAAO,CAACC,GAAG,CAACF,WAAW,IAAK,oBAAoB;;AAE7H;AACA;AACA;AACA;AACA,OAAO,MAAMG,SAAS,GAAG,IAAIP,WAAW,CAAC;EAAEQ,OAAO,EAAEJ,WAAW;EAAEK,QAAQ,EAAEN;AAAc,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["OxyAuthenticationError","OxyAuthenticationTimeoutError","composeOxyServices","OxyServicesComposed","OxyServices","constructor","config","OXY_CLOUD_URL","OXY_API_URL","process","env","oxyClient","baseURL","cloudURL"],"sourceRoot":"../../../src","sources":["core/OxyServices.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,sBAAsB,EAAEC,6BAA6B,QAAQ,sBAAsB;;AAE5F;AACA,SAASC,kBAAkB,QAAQ,UAAU;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAGD,kBAAkB,CAAC,CAAC;;AAEhD;AACA,OAAO,MAAME,WAAW,SAAUD,mBAAmB,CAAS;EAC5DE,WAAWA,CAACC,MAAiB,EAAE;IAC7B,KAAK,CAACA,MAAM,CAAC;EACf;AACF;;AAEA;AACA;;AAGA;AACA,SAASN,sBAAsB,EAAEC,6BAA6B;;AAE9D;AACA;AACA;AACA,OAAO,MAAMM,aAAa,GAAG,sBAAsB;;AAEnD;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,GAAG,IAAID,OAAO,CAACC,GAAG,CAACF,WAAW,IAAK,oBAAoB;;AAE7H;AACA;AACA;AACA;AACA,OAAO,MAAMG,SAAS,GAAG,IAAIP,WAAW,CAAC;EAAEQ,OAAO,EAAEJ,WAAW;EAAEK,QAAQ,EAAEN;AAAc,CAAC,CAAC","ignoreList":[]}
@@ -11,6 +11,8 @@
11
11
  export { OxyServices, OxyAuthenticationError, OxyAuthenticationTimeoutError } from './OxyServices';
12
12
  export { OXY_CLOUD_URL, oxyClient } from './OxyServices';
13
13
 
14
+ // Cross-domain authentication
15
+ export { CrossDomainAuth, createCrossDomainAuth } from './CrossDomainAuth';
14
16
  // Re-export all models and types for convenience
15
17
  export * from '../models/interfaces';
16
18
  export * from '../models/session';
@@ -19,6 +21,9 @@ export * from '../models/session';
19
21
  export { DeviceManager } from '../utils/deviceManager';
20
22
  // Export language utilities
21
23
  export { SUPPORTED_LANGUAGES, getLanguageMetadata, getLanguageName, getNativeLanguageName, normalizeLanguageCode } from '../utils/languageUtils';
24
+ // Import for default export
25
+ import { OxyServices } from './OxyServices';
22
26
 
23
- // Default export removed (no longer providing backward compatibility default export)
27
+ // Default export for backward compatibility
28
+ export default OxyServices;
24
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode"],"sourceRoot":"../../../src","sources":["core/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,eAAe;AAClG,SAASC,aAAa,EAAEC,SAAS,QAAQ,eAAe;;AAExD;AACA,cAAc,sBAAsB;AACpC,cAAc,mBAAmB;;AAEjC;AACA,SAASC,aAAa,QAAQ,wBAAwB;AAGtD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,wBAAwB;;AAG/B","ignoreList":[]}
1
+ {"version":3,"names":["OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","CrossDomainAuth","createCrossDomainAuth","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode"],"sourceRoot":"../../../src","sources":["core/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,eAAe;AAClG,SAASC,aAAa,EAAEC,SAAS,QAAQ,eAAe;;AAExD;AACA,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,mBAAmB;AAG1E;AACA,cAAc,sBAAsB;AACpC,cAAc,mBAAmB;;AAEjC;AACA,SAASC,aAAa,QAAQ,wBAAwB;AAGtD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,wBAAwB;AAG/B;AACA,SAASZ,WAAW,QAAQ,eAAe;;AAE3C;AACA,eAAeA,WAAW","ignoreList":[]}
@@ -149,9 +149,22 @@ export function OxyServicesAssetsMixin(Base) {
149
149
  const fileSize = file.size;
150
150
  try {
151
151
  const formData = new FormData();
152
- // In React Native, pass filename as third parameter to avoid read-only name property error
153
- // This prevents "Cannot assign to property 'name' which has only a getter" error
154
- formData.append('file', file, fileName);
152
+ // Convert File to Blob to avoid read-only 'name' property error in Expo 54
153
+ // This is a known issue in Expo SDK 52+ where FormData tries to set the read-only 'name' property
154
+ let fileBlob;
155
+ if (file instanceof Blob) {
156
+ // Already a Blob, use directly
157
+ fileBlob = file;
158
+ } else if (typeof file.blob === 'function') {
159
+ // Use async blob() method if available (Expo 54+ recommended approach)
160
+ fileBlob = await file.blob();
161
+ } else {
162
+ // Fallback: create Blob from File (works in all environments)
163
+ fileBlob = new Blob([file], {
164
+ type: file.type || 'application/octet-stream'
165
+ });
166
+ }
167
+ formData.append('file', fileBlob, fileName);
155
168
  if (visibility) {
156
169
  formData.append('visibility', visibility);
157
170
  }
@@ -1 +1 @@
1
- {"version":3,"names":["OxyServicesAssetsMixin","Base","constructor","args","deleteFile","fileId","makeRequest","encodeURIComponent","undefined","cache","error","handleError","getFileDownloadUrl","variant","expiresIn","base","getBaseURL","params","URLSearchParams","set","String","token","getClient","getAccessToken","qs","toString","getFileDownloadUrlAsync","url","fetchAssetDownloadUrl","getAssetUrlCacheTTL","listUserFiles","limit","offset","paramsObj","getAccountStorageUsage","getFileContentAsText","downloadUrl","Error","fetchAssetContent","getFileContentAsBlob","getBatchFileAccess","fileIds","context","getFileDownloadUrls","response","urls","results","id","result","Object","entries","allowed","uploadRawFile","file","visibility","metadata","assetUpload","onProgress","fileName","name","fileSize","size","formData","FormData","append","JSON","stringify","request","method","data","console","errorMessage","message","contextError","fileContext","handledError","trim","newError","assetLink","app","entityType","entityId","webhookUrl","body","assetUnlink","assetGet","cacheTTL","assetGetUrl","assetRestore","assetDelete","force","assetGetVariants","assetData","variants","assetUpdateVisibility","uploadAvatar","userId","asset","uploadProfileBanner","desiredTtlMs","Math","min","urlRes","keys","length","type","fetch","ok","status","text","blob"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.assets.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OxyServicesAssetsMixin","Base","constructor","args","deleteFile","fileId","makeRequest","encodeURIComponent","undefined","cache","error","handleError","getFileDownloadUrl","variant","expiresIn","base","getBaseURL","params","URLSearchParams","set","String","token","getClient","getAccessToken","qs","toString","getFileDownloadUrlAsync","url","fetchAssetDownloadUrl","getAssetUrlCacheTTL","listUserFiles","limit","offset","paramsObj","getAccountStorageUsage","getFileContentAsText","downloadUrl","Error","fetchAssetContent","getFileContentAsBlob","getBatchFileAccess","fileIds","context","getFileDownloadUrls","response","urls","results","id","result","Object","entries","allowed","uploadRawFile","file","visibility","metadata","assetUpload","onProgress","fileName","name","fileSize","size","formData","FormData","fileBlob","Blob","blob","type","append","JSON","stringify","request","method","data","console","errorMessage","message","contextError","fileContext","handledError","trim","newError","assetLink","app","entityType","entityId","webhookUrl","body","assetUnlink","assetGet","cacheTTL","assetGetUrl","assetRestore","assetDelete","force","assetGetVariants","assetData","variants","assetUpdateVisibility","uploadAvatar","userId","asset","uploadProfileBanner","desiredTtlMs","Math","min","urlRes","keys","length","fetch","ok","status","text"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.assets.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,7 @@
3
3
  /**
4
4
  * Authentication Methods Mixin
5
5
  *
6
- * Public key authentication using ECDSA signatures.
7
- * No passwords required - authentication is done via challenge-response.
6
+ * Supports password-based login (email/username) and public key challenge-response.
8
7
  */
9
8
 
10
9
  import { OxyAuthenticationError } from '../OxyServices.errors';
@@ -15,22 +14,23 @@ export function OxyServicesAuthMixin(Base) {
15
14
  }
16
15
 
17
16
  /**
18
- * Register a new identity (bootstrap - no session required)
19
- *
20
- * Register a new identity (public key only).
21
- * Profile data should be synced separately via updateProfile after sign-in.
17
+ * Register a new identity with public key authentication
18
+ * Identity is purely cryptographic - username and profile data are optional
22
19
  *
23
20
  * @param publicKey - The user's ECDSA public key (hex)
24
- * @returns Object containing userId and user data
21
+ * @param signature - Signature of the registration request
22
+ * @param timestamp - Timestamp when the signature was created
25
23
  */
26
- async registerIdentity(publicKey) {
24
+ async register(publicKey, signature, timestamp) {
27
25
  try {
28
- const res = await this.makeRequest('POST', '/api/identity/register', {
29
- publicKey
26
+ const res = await this.makeRequest('POST', '/api/auth/register', {
27
+ publicKey,
28
+ signature,
29
+ timestamp
30
30
  }, {
31
31
  cache: false
32
32
  });
33
- if (!res || !res.userId) {
33
+ if (!res || typeof res === 'object' && Object.keys(res).length === 0) {
34
34
  throw new OxyAuthenticationError('Registration failed', 'REGISTER_FAILED', 400);
35
35
  }
36
36
  return res;
@@ -43,12 +43,12 @@ export function OxyServicesAuthMixin(Base) {
43
43
  * Request an authentication challenge
44
44
  * The client must sign this challenge with their private key
45
45
  *
46
- * @param userId - The user's ID (ObjectId)
46
+ * @param publicKey - The user's public key
47
47
  */
48
- async requestChallenge(userId) {
48
+ async requestChallenge(publicKey) {
49
49
  try {
50
50
  return await this.makeRequest('POST', '/api/auth/challenge', {
51
- userId
51
+ publicKey
52
52
  }, {
53
53
  cache: false
54
54
  });
@@ -60,18 +60,18 @@ export function OxyServicesAuthMixin(Base) {
60
60
  /**
61
61
  * Verify a signed challenge and create a session
62
62
  *
63
- * @param userId - The user's ID (ObjectId)
64
- * @param nonce - The nonce (challenge) string from requestChallenge
63
+ * @param publicKey - The user's public key
64
+ * @param challenge - The challenge string from requestChallenge
65
65
  * @param signature - Signature of the auth message
66
66
  * @param timestamp - Timestamp when the signature was created
67
67
  * @param deviceName - Optional device name
68
68
  * @param deviceFingerprint - Optional device fingerprint
69
69
  */
70
- async verifyChallenge(userId, nonce, signature, timestamp, deviceName, deviceFingerprint) {
70
+ async verifyChallenge(publicKey, challenge, signature, timestamp, deviceName, deviceFingerprint) {
71
71
  try {
72
72
  return await this.makeRequest('POST', '/api/auth/verify', {
73
- userId,
74
- nonce,
73
+ publicKey,
74
+ challenge,
75
75
  signature,
76
76
  timestamp,
77
77
  deviceName,
@@ -99,14 +99,13 @@ export function OxyServicesAuthMixin(Base) {
99
99
 
100
100
  /**
101
101
  * Get user by public key
102
- * Services never caches profile - always fetch fresh from backend
103
102
  */
104
103
  async getUserByPublicKey(publicKey) {
105
104
  try {
106
105
  return await this.makeRequest('GET', `/api/auth/user/${encodeURIComponent(publicKey)}`, undefined, {
107
- cache: false
108
- } // Services never caches profile - only tokens
109
- );
106
+ cache: true,
107
+ cacheTTL: 2 * 60 * 1000
108
+ });
110
109
  } catch (error) {
111
110
  throw this.handleError(error);
112
111
  }
@@ -114,12 +113,12 @@ export function OxyServicesAuthMixin(Base) {
114
113
 
115
114
  /**
116
115
  * Get user by session ID
117
- * Services never caches profile - always fetch fresh from backend
118
116
  */
119
117
  async getUserBySession(sessionId) {
120
118
  try {
121
119
  return await this.makeRequest('GET', `/api/session/user/${sessionId}`, undefined, {
122
- cache: false // Services never caches profile - only tokens
120
+ cache: true,
121
+ cacheTTL: 2 * 60 * 1000
123
122
  });
124
123
  } catch (error) {
125
124
  throw this.handleError(error);
@@ -138,7 +137,8 @@ export function OxyServicesAuthMixin(Base) {
138
137
  return await this.makeRequest('POST', '/api/session/users/batch', {
139
138
  sessionIds: uniqueSessionIds
140
139
  }, {
141
- cache: false,
140
+ cache: true,
141
+ cacheTTL: 2 * 60 * 1000,
142
142
  deduplicate: true
143
143
  });
144
144
  } catch (error) {
@@ -149,16 +149,13 @@ export function OxyServicesAuthMixin(Base) {
149
149
  /**
150
150
  * Get access token by session ID
151
151
  */
152
- async getTokenBySession(sessionId, deviceId) {
152
+ async getTokenBySession(sessionId) {
153
153
  try {
154
154
  const res = await this.makeRequest('GET', `/api/session/token/${sessionId}`, undefined, {
155
155
  cache: false,
156
- retry: false,
157
- headers: deviceId ? {
158
- 'x-device-id': deviceId
159
- } : undefined
156
+ retry: false
160
157
  });
161
- this.setTokens(res.accessToken, res.refreshToken);
158
+ this.setTokens(res.accessToken);
162
159
  return res;
163
160
  } catch (error) {
164
161
  throw this.handleError(error);
@@ -246,6 +243,50 @@ export function OxyServicesAuthMixin(Base) {
246
243
  throw this.handleError(error);
247
244
  }
248
245
  }
246
+
247
+ /**
248
+ * Register a new user with email/username and password
249
+ */
250
+ async signUp(username, email, password, deviceName, deviceFingerprint) {
251
+ try {
252
+ return await this.makeRequest('POST', '/api/auth/signup', {
253
+ username,
254
+ email,
255
+ password,
256
+ deviceName,
257
+ deviceFingerprint
258
+ }, {
259
+ cache: false
260
+ });
261
+ } catch (error) {
262
+ throw this.handleError(error);
263
+ }
264
+ }
265
+
266
+ /**
267
+ * Sign in with email or username and password
268
+ */
269
+ async signIn(identifier, password, deviceName, deviceFingerprint) {
270
+ try {
271
+ return await this.makeRequest('POST', '/api/auth/login', {
272
+ identifier,
273
+ password,
274
+ deviceName,
275
+ deviceFingerprint
276
+ }, {
277
+ cache: false
278
+ });
279
+ } catch (error) {
280
+ throw this.handleError(error);
281
+ }
282
+ }
283
+
284
+ /**
285
+ * Convenience helper for email sign-in
286
+ */
287
+ async signInWithEmail(email, password, deviceName, deviceFingerprint) {
288
+ return this.signIn(email, password, deviceName, deviceFingerprint);
289
+ }
249
290
  };
250
291
  }
251
292
  //# sourceMappingURL=OxyServices.auth.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OxyAuthenticationError","OxyServicesAuthMixin","Base","constructor","args","registerIdentity","publicKey","res","makeRequest","cache","userId","error","handleError","requestChallenge","verifyChallenge","nonce","signature","timestamp","deviceName","deviceFingerprint","checkPublicKeyRegistered","encodeURIComponent","undefined","getUserByPublicKey","getUserBySession","sessionId","getUsersBySessions","sessionIds","Array","isArray","length","uniqueSessionIds","from","Set","sort","deduplicate","getTokenBySession","deviceId","retry","headers","setTokens","accessToken","refreshToken","getSessionsBySessionId","logoutSession","targetSessionId","url","logoutAllSessions","validateSession","options","urlParams","useHeaderValidation","checkUsernameAvailability","username","checkEmailAvailability","email"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.auth.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OxyAuthenticationError","OxyServicesAuthMixin","Base","constructor","args","register","publicKey","signature","timestamp","res","makeRequest","cache","Object","keys","length","error","handleError","requestChallenge","verifyChallenge","challenge","deviceName","deviceFingerprint","checkPublicKeyRegistered","encodeURIComponent","undefined","getUserByPublicKey","cacheTTL","getUserBySession","sessionId","getUsersBySessions","sessionIds","Array","isArray","uniqueSessionIds","from","Set","sort","deduplicate","getTokenBySession","retry","setTokens","accessToken","getSessionsBySessionId","logoutSession","targetSessionId","url","logoutAllSessions","validateSession","options","urlParams","useHeaderValidation","checkUsernameAvailability","username","checkEmailAvailability","email","signUp","password","signIn","identifier","signInWithEmail"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.auth.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAIA,SAASA,sBAAsB,QAAQ,uBAAuB;AA6B9D,OAAO,SAASC,oBAAoBA,CAAmCC,IAAO,EAAE;EAC9E,OAAO,cAAcA,IAAI,CAAC;IACxBC,WAAWA,CAAC,GAAGC,IAAW,EAAE;MAC1B,KAAK,CAAC,GAAIA,IAAc,CAAC;IAC3B;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACI,MAAMC,QAAQA,CACZC,SAAiB,EACjBC,SAAiB,EACjBC,SAAiB,EACyB;MAC1C,IAAI;QACF,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACC,WAAW,CAAkC,MAAM,EAAE,oBAAoB,EAAE;UAChGJ,SAAS;UACTC,SAAS;UACTC;QACF,CAAC,EAAE;UAAEG,KAAK,EAAE;QAAM,CAAC,CAAC;QAEpB,IAAI,CAACF,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ,IAAIG,MAAM,CAACC,IAAI,CAACJ,GAAG,CAAC,CAACK,MAAM,KAAK,CAAE,EAAE;UACtE,MAAM,IAAId,sBAAsB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,CAAC;QACjF;QAEA,OAAOS,GAAG;MACZ,CAAC,CAAC,OAAOM,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACI,MAAME,gBAAgBA,CAACX,SAAiB,EAA8B;MACpE,IAAI;QACF,OAAO,MAAM,IAAI,CAACI,WAAW,CAAoB,MAAM,EAAE,qBAAqB,EAAE;UAC9EJ;QACF,CAAC,EAAE;UAAEK,KAAK,EAAE;QAAM,CAAC,CAAC;MACtB,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,MAAMG,eAAeA,CACnBZ,SAAiB,EACjBa,SAAiB,EACjBZ,SAAiB,EACjBC,SAAiB,EACjBY,UAAmB,EACnBC,iBAA0B,EACK;MAC/B,IAAI;QACF,OAAO,MAAM,IAAI,CAACX,WAAW,CAAuB,MAAM,EAAE,kBAAkB,EAAE;UAC9EJ,SAAS;UACTa,SAAS;UACTZ,SAAS;UACTC,SAAS;UACTY,UAAU;UACVC;QACF,CAAC,EAAE;UAAEV,KAAK,EAAE;QAAM,CAAC,CAAC;MACtB,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMO,wBAAwBA,CAAChB,SAAiB,EAAmC;MACjF,IAAI;QACF,OAAO,MAAM,IAAI,CAACI,WAAW,CAC3B,KAAK,EACL,6BAA6Ba,kBAAkB,CAACjB,SAAS,CAAC,EAAE,EAC5DkB,SAAS,EACT;UAAEb,KAAK,EAAE;QAAM,CACjB,CAAC;MACH,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMU,kBAAkBA,CAACnB,SAAiB,EAAiB;MACzD,IAAI;QACF,OAAO,MAAM,IAAI,CAACI,WAAW,CAC3B,KAAK,EACL,kBAAkBa,kBAAkB,CAACjB,SAAS,CAAC,EAAE,EACjDkB,SAAS,EACT;UAAEb,KAAK,EAAE,IAAI;UAAEe,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG;QAAK,CACzC,CAAC;MACH,CAAC,CAAC,OAAOX,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMY,gBAAgBA,CAACC,SAAiB,EAAiB;MACvD,IAAI;QACF,OAAO,MAAM,IAAI,CAAClB,WAAW,CAAO,KAAK,EAAE,qBAAqBkB,SAAS,EAAE,EAAEJ,SAAS,EAAE;UACtFb,KAAK,EAAE,IAAI;UACXe,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG;QACrB,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOX,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMc,kBAAkBA,CAACC,UAAoB,EAA4D;MACvG,IAAI;QACF,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,IAAIA,UAAU,CAAChB,MAAM,KAAK,CAAC,EAAE;UACzD,OAAO,EAAE;QACX;QAEA,MAAMmB,gBAAgB,GAAGF,KAAK,CAACG,IAAI,CAAC,IAAIC,GAAG,CAACL,UAAU,CAAC,CAAC,CAACM,IAAI,CAAC,CAAC;QAE/D,OAAO,MAAM,IAAI,CAAC1B,WAAW,CAC3B,MAAM,EACN,0BAA0B,EAC1B;UAAEoB,UAAU,EAAEG;QAAiB,CAAC,EAChC;UACEtB,KAAK,EAAE,IAAI;UACXe,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;UACvBW,WAAW,EAAE;QACf,CACF,CAAC;MACH,CAAC,CAAC,OAAOtB,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMuB,iBAAiBA,CAACV,SAAiB,EAAuD;MAC9F,IAAI;QACF,MAAMnB,GAAG,GAAG,MAAM,IAAI,CAACC,WAAW,CAChC,KAAK,EACL,sBAAsBkB,SAAS,EAAE,EACjCJ,SAAS,EACT;UAAEb,KAAK,EAAE,KAAK;UAAE4B,KAAK,EAAE;QAAM,CAC/B,CAAC;QAED,IAAI,CAACC,SAAS,CAAC/B,GAAG,CAACgC,WAAW,CAAC;QAE/B,OAAOhC,GAAG;MACZ,CAAC,CAAC,OAAOM,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAM2B,sBAAsBA,CAACd,SAAiB,EAAkB;MAC9D,IAAI;QACF,OAAO,MAAM,IAAI,CAAClB,WAAW,CAAC,KAAK,EAAE,yBAAyBkB,SAAS,EAAE,EAAEJ,SAAS,EAAE;UACpFb,KAAK,EAAE;QACT,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAM4B,aAAaA,CAACf,SAAiB,EAAEgB,eAAwB,EAAiB;MAC9E,IAAI;QACF,MAAMC,GAAG,GAAGD,eAAe,GACvB,uBAAuBhB,SAAS,IAAIgB,eAAe,EAAE,GACrD,uBAAuBhB,SAAS,EAAE;QAEtC,MAAM,IAAI,CAAClB,WAAW,CAAC,MAAM,EAAEmC,GAAG,EAAErB,SAAS,EAAE;UAAEb,KAAK,EAAE;QAAM,CAAC,CAAC;MAClE,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAM+B,iBAAiBA,CAAClB,SAAiB,EAAiB;MACxD,IAAI;QACF,MAAM,IAAI,CAAClB,WAAW,CAAC,MAAM,EAAE,2BAA2BkB,SAAS,EAAE,EAAEJ,SAAS,EAAE;UAAEb,KAAK,EAAE;QAAM,CAAC,CAAC;MACrG,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMgC,eAAeA,CACnBnB,SAAiB,EACjBoB,OAGC,GAAG,CAAC,CAAC,EAQL;MACD,IAAI;QACF,MAAMC,SAAc,GAAG,CAAC,CAAC;QACzB,IAAID,OAAO,CAAC3B,iBAAiB,EAAE4B,SAAS,CAAC5B,iBAAiB,GAAG2B,OAAO,CAAC3B,iBAAiB;QACtF,IAAI2B,OAAO,CAACE,mBAAmB,EAAED,SAAS,CAACC,mBAAmB,GAAG,MAAM;QACvE,OAAO,MAAM,IAAI,CAACxC,WAAW,CAAC,KAAK,EAAE,yBAAyBkB,SAAS,EAAE,EAAEqB,SAAS,EAAE;UAAEtC,KAAK,EAAE;QAAM,CAAC,CAAC;MACzG,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMoC,yBAAyBA,CAACC,QAAgB,EAAoD;MAClG,IAAI;QACF,OAAO,MAAM,IAAI,CAAC1C,WAAW,CAAC,KAAK,EAAE,4BAA4B0C,QAAQ,EAAE,EAAE5B,SAAS,EAAE;UAAEb,KAAK,EAAE;QAAM,CAAC,CAAC;MAC3G,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMsC,sBAAsBA,CAACC,KAAa,EAAoD;MAC5F,IAAI;QACF,OAAO,MAAM,IAAI,CAAC5C,WAAW,CAAC,KAAK,EAAE,yBAAyB4C,KAAK,EAAE,EAAE9B,SAAS,EAAE;UAAEb,KAAK,EAAE;QAAM,CAAC,CAAC;MACrG,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAMwC,MAAMA,CACVH,QAAgB,EAChBE,KAAa,EACbE,QAAgB,EAChBpC,UAAmB,EACnBC,iBAAuB,EACQ;MAC/B,IAAI;QACF,OAAO,MAAM,IAAI,CAACX,WAAW,CAAuB,MAAM,EAAE,kBAAkB,EAAE;UAC9E0C,QAAQ;UACRE,KAAK;UACLE,QAAQ;UACRpC,UAAU;UACVC;QACF,CAAC,EAAE;UAAEV,KAAK,EAAE;QAAM,CAAC,CAAC;MACtB,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAM0C,MAAMA,CACVC,UAAkB,EAClBF,QAAgB,EAChBpC,UAAmB,EACnBC,iBAAuB,EACQ;MAC/B,IAAI;QACF,OAAO,MAAM,IAAI,CAACX,WAAW,CAAuB,MAAM,EAAE,iBAAiB,EAAE;UAC7EgD,UAAU;UACVF,QAAQ;UACRpC,UAAU;UACVC;QACF,CAAC,EAAE;UAAEV,KAAK,EAAE;QAAM,CAAC,CAAC;MACtB,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;MAC/B;IACF;;IAEA;AACJ;AACA;IACI,MAAM4C,eAAeA,CACnBL,KAAa,EACbE,QAAgB,EAChBpC,UAAmB,EACnBC,iBAAuB,EACQ;MAC/B,OAAO,IAAI,CAACoC,MAAM,CAACH,KAAK,EAAEE,QAAQ,EAAEpC,UAAU,EAAEC,iBAAiB,CAAC;IACpE;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+
3
+ import { OxyAuthenticationError } from '../OxyServices.errors';
4
+ /**
5
+ * Federated Credential Management (FedCM) Authentication Mixin
6
+ *
7
+ * Implements the modern browser-native identity federation API that enables
8
+ * Google-style cross-domain authentication without third-party cookies.
9
+ *
10
+ * Browser Support:
11
+ * - Chrome 108+
12
+ * - Safari 16.4+
13
+ * - Edge 108+
14
+ * - Firefox: Not yet supported (fallback required)
15
+ *
16
+ * Key Features:
17
+ * - No redirects or popups required
18
+ * - Browser-native UI prompts
19
+ * - Privacy-preserving (IdP can't track users)
20
+ * - Automatic SSO across domains
21
+ * - Silent re-authentication support
22
+ *
23
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/FedCM_API
24
+ */
25
+ export function OxyServicesFedCMMixin(Base) {
26
+ return class extends Base {
27
+ constructor(...args) {
28
+ super(...args);
29
+ }
30
+ static DEFAULT_CONFIG_URL = 'https://auth.oxy.so/fedcm.json';
31
+ static FEDCM_TIMEOUT = 60000; // 1 minute
32
+
33
+ /**
34
+ * Check if FedCM is supported in the current browser
35
+ */
36
+ static isFedCMSupported() {
37
+ if (typeof window === 'undefined') return false;
38
+ return 'IdentityCredential' in window && 'navigator' in window && 'credentials' in navigator;
39
+ }
40
+
41
+ /**
42
+ * Instance method to check FedCM support
43
+ */
44
+ isFedCMSupported() {
45
+ return this.constructor.isFedCMSupported();
46
+ }
47
+
48
+ /**
49
+ * Sign in using FedCM (Federated Credential Management API)
50
+ *
51
+ * This provides a Google-style authentication experience:
52
+ * - Browser shows native "Sign in with Oxy" prompt
53
+ * - No redirect or popup required
54
+ * - User approves → credential exchange happens in browser
55
+ * - All apps automatically get SSO after first sign-in
56
+ *
57
+ * @param options - Authentication options
58
+ * @returns Session with access token and user data
59
+ * @throws {OxyAuthenticationError} If FedCM not supported or user cancels
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * try {
64
+ * const session = await oxyServices.signInWithFedCM();
65
+ * console.log('Signed in:', session.user);
66
+ * } catch (error) {
67
+ * // Fallback to popup or redirect auth
68
+ * await oxyServices.signInWithPopup();
69
+ * }
70
+ * ```
71
+ */
72
+ async signInWithFedCM(options = {}) {
73
+ if (!this.isFedCMSupported()) {
74
+ throw new OxyAuthenticationError('FedCM not supported in this browser. Please update your browser or use an alternative sign-in method.');
75
+ }
76
+ try {
77
+ const nonce = options.nonce || this.generateNonce();
78
+ const clientId = this.getClientId();
79
+
80
+ // Request credential from browser's native identity flow
81
+ const credential = await this.requestIdentityCredential({
82
+ configURL: this.constructor.DEFAULT_CONFIG_URL,
83
+ clientId,
84
+ nonce,
85
+ context: options.context
86
+ });
87
+ if (!credential || !credential.token) {
88
+ throw new OxyAuthenticationError('No credential received from browser');
89
+ }
90
+
91
+ // Exchange FedCM ID token for Oxy session
92
+ const session = await this.exchangeIdTokenForSession(credential.token);
93
+
94
+ // Store access token in HttpService (extract from response or get from session)
95
+ if (session && session.accessToken) {
96
+ this.httpService.setTokens(session.accessToken);
97
+ }
98
+ return session;
99
+ } catch (error) {
100
+ if (error.name === 'AbortError') {
101
+ throw new OxyAuthenticationError('Sign-in was cancelled by user');
102
+ }
103
+ if (error.name === 'NetworkError') {
104
+ throw new OxyAuthenticationError('Network error during sign-in. Please check your connection.');
105
+ }
106
+ throw error;
107
+ }
108
+ }
109
+
110
+ /**
111
+ * Silent sign-in using FedCM
112
+ *
113
+ * Attempts to automatically re-authenticate the user without any UI.
114
+ * This is what enables "instant sign-in" across all Oxy domains after
115
+ * the user has signed in once.
116
+ *
117
+ * The browser will:
118
+ * 1. Check if user has previously signed in to Oxy
119
+ * 2. Check if user is still signed in at auth.oxy.so
120
+ * 3. If yes, automatically provide credential without prompting
121
+ *
122
+ * @returns Session if user is already signed in, null otherwise
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // On app startup
127
+ * useEffect(() => {
128
+ * const checkAuth = async () => {
129
+ * const session = await oxyServices.silentSignInWithFedCM();
130
+ * if (session) {
131
+ * setUser(session.user);
132
+ * } else {
133
+ * // Show sign-in button
134
+ * }
135
+ * };
136
+ * checkAuth();
137
+ * }, []);
138
+ * ```
139
+ */
140
+ async silentSignInWithFedCM() {
141
+ if (!this.isFedCMSupported()) {
142
+ return null;
143
+ }
144
+ try {
145
+ const nonce = this.generateNonce();
146
+ const clientId = this.getClientId();
147
+
148
+ // Request credential with silent mediation (no UI)
149
+ const credential = await this.requestIdentityCredential({
150
+ configURL: this.constructor.DEFAULT_CONFIG_URL,
151
+ clientId,
152
+ nonce,
153
+ mediation: 'silent'
154
+ });
155
+ if (!credential || !credential.token) {
156
+ return null;
157
+ }
158
+ const session = await this.exchangeIdTokenForSession(credential.token);
159
+ if (session && session.accessToken) {
160
+ this.httpService.setTokens(session.accessToken);
161
+ }
162
+ return session;
163
+ } catch (error) {
164
+ // Silent failures are expected and should not throw
165
+ return null;
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Request identity credential from browser using FedCM API
171
+ *
172
+ * @private
173
+ */
174
+ async requestIdentityCredential(options) {
175
+ const controller = new AbortController();
176
+ const timeout = setTimeout(() => controller.abort(), this.constructor.FEDCM_TIMEOUT);
177
+ try {
178
+ // Type assertion needed as FedCM types may not be in all TypeScript versions
179
+ const credential = await navigator.credentials.get({
180
+ identity: {
181
+ providers: [{
182
+ configURL: options.configURL,
183
+ clientId: options.clientId,
184
+ nonce: options.nonce,
185
+ ...(options.context && {
186
+ loginHint: options.context
187
+ })
188
+ }]
189
+ },
190
+ mediation: options.mediation || 'optional',
191
+ signal: controller.signal
192
+ });
193
+ if (!credential || credential.type !== 'identity') {
194
+ return null;
195
+ }
196
+ return {
197
+ token: credential.token
198
+ };
199
+ } finally {
200
+ clearTimeout(timeout);
201
+ }
202
+ }
203
+
204
+ /**
205
+ * Exchange FedCM ID token for Oxy session
206
+ *
207
+ * The ID token is a JWT issued by auth.oxy.so that proves the user's
208
+ * identity. We exchange it for a full Oxy session with access token.
209
+ *
210
+ * @private
211
+ */
212
+ async exchangeIdTokenForSession(idToken) {
213
+ return this.makeRequest('POST', '/api/auth/fedcm/exchange', {
214
+ id_token: idToken
215
+ }, {
216
+ cache: false
217
+ });
218
+ }
219
+
220
+ /**
221
+ * Revoke FedCM credential (sign out)
222
+ *
223
+ * This tells the browser to forget the FedCM credential for this app.
224
+ * The user will need to re-authenticate next time.
225
+ */
226
+ async revokeFedCMCredential() {
227
+ if (!this.isFedCMSupported()) {
228
+ return;
229
+ }
230
+ try {
231
+ // FedCM logout API (if available)
232
+ if ('IdentityCredential' in window && 'logout' in window.IdentityCredential) {
233
+ const clientId = this.getClientId();
234
+ await window.IdentityCredential.logout({
235
+ configURL: this.constructor.DEFAULT_CONFIG_URL,
236
+ clientId
237
+ });
238
+ }
239
+ } catch (error) {
240
+ // Silent failure
241
+ }
242
+ }
243
+
244
+ /**
245
+ * Get configuration for FedCM
246
+ *
247
+ * @returns FedCM configuration with browser support info
248
+ */
249
+ getFedCMConfig() {
250
+ return {
251
+ enabled: this.isFedCMSupported(),
252
+ configURL: this.constructor.DEFAULT_CONFIG_URL,
253
+ clientId: this.getClientId()
254
+ };
255
+ }
256
+
257
+ /**
258
+ * Generate a cryptographically secure nonce for FedCM
259
+ *
260
+ * @private
261
+ */
262
+ generateNonce() {
263
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
264
+ return window.crypto.randomUUID();
265
+ }
266
+ // Fallback for older browsers
267
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
268
+ }
269
+
270
+ /**
271
+ * Get the client ID for this origin
272
+ *
273
+ * @private
274
+ */
275
+ getClientId() {
276
+ if (typeof window === 'undefined') {
277
+ return 'unknown';
278
+ }
279
+ return window.location.origin;
280
+ }
281
+ };
282
+ }
283
+
284
+ // Export the mixin function as both named and default
285
+ export { OxyServicesFedCMMixin as FedCMMixin };
286
+ //# sourceMappingURL=OxyServices.fedcm.js.map