@multiplatform.one/keycloak 5.0.26 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/dist/cjs/index.cjs +881 -17
  2. package/dist/esm/index.js +855 -8
  3. package/package.json +59 -55
  4. package/src/@types/expo_keycloak_auth.d.ts +4 -0
  5. package/src/Authenticated.tsx +1 -25
  6. package/src/Loading.tsx +0 -21
  7. package/src/authConfig.ts +0 -21
  8. package/src/betterAuth/client.ts +22 -0
  9. package/src/betterAuth/expoClient.ts +35 -0
  10. package/src/betterAuth/index.ts +2 -0
  11. package/src/hooks/index.ts +0 -21
  12. package/src/hooks/useAuthConfig.ts +0 -21
  13. package/src/hooks/useTokensFromQuery/index.native.ts +0 -21
  14. package/src/hooks/useTokensFromQuery/index.ts +1 -22
  15. package/src/hooks/useTokensFromState.ts +0 -22
  16. package/src/index.ts +1 -42
  17. package/src/keycloak/base.ts +3 -26
  18. package/src/keycloak/config.ts +7 -23
  19. package/src/keycloak/context.ts +0 -21
  20. package/src/keycloak/index.native.ts +1 -22
  21. package/src/keycloak/index.ts +29 -97
  22. package/src/keycloak/index.webext.ts +23 -25
  23. package/src/one.ts +60 -146
  24. package/src/provider/AfterAuth.tsx +10 -29
  25. package/src/provider/KeycloakProvider.tsx +2 -23
  26. package/src/provider/authProvider/index.native.tsx +116 -0
  27. package/src/provider/{AuthProvider → authProvider}/index.tsx +26 -57
  28. package/src/provider/{AuthProvider → authProvider}/index.webext.tsx +36 -86
  29. package/src/provider/{AuthProvider → authProvider}/shared.ts +5 -20
  30. package/src/provider/index.ts +1 -22
  31. package/src/session/index.native.ts +8 -20
  32. package/src/session/index.ts +46 -44
  33. package/src/session/index.webext.ts +7 -21
  34. package/src/state.ts +29 -30
  35. package/src/token.spec.ts +168 -0
  36. package/src/token.ts +146 -23
  37. package/src/types.ts +0 -21
  38. package/dist/cjs/Authenticated.cjs +0 -83
  39. package/dist/cjs/Authenticated.js +0 -54
  40. package/dist/cjs/Authenticated.js.map +0 -6
  41. package/dist/cjs/Authenticated.native.js +0 -73
  42. package/dist/cjs/Authenticated.native.js.map +0 -6
  43. package/dist/cjs/Loading.cjs +0 -39
  44. package/dist/cjs/Loading.js +0 -25
  45. package/dist/cjs/Loading.js.map +0 -6
  46. package/dist/cjs/Loading.native.js +0 -32
  47. package/dist/cjs/Loading.native.js.map +0 -6
  48. package/dist/cjs/authConfig.cjs +0 -29
  49. package/dist/cjs/authConfig.js +0 -23
  50. package/dist/cjs/authConfig.js.map +0 -6
  51. package/dist/cjs/authConfig.native.js +0 -28
  52. package/dist/cjs/authConfig.native.js.map +0 -6
  53. package/dist/cjs/hooks/index.cjs +0 -20
  54. package/dist/cjs/hooks/index.js +0 -17
  55. package/dist/cjs/hooks/index.js.map +0 -6
  56. package/dist/cjs/hooks/index.native.js +0 -24
  57. package/dist/cjs/hooks/index.native.js.map +0 -6
  58. package/dist/cjs/hooks/useAuthConfig.cjs +0 -30
  59. package/dist/cjs/hooks/useAuthConfig.js +0 -24
  60. package/dist/cjs/hooks/useAuthConfig.js.map +0 -6
  61. package/dist/cjs/hooks/useAuthConfig.native.js +0 -29
  62. package/dist/cjs/hooks/useAuthConfig.native.js.map +0 -6
  63. package/dist/cjs/hooks/useTokensFromQuery/index.cjs +0 -35
  64. package/dist/cjs/hooks/useTokensFromQuery/index.js +0 -29
  65. package/dist/cjs/hooks/useTokensFromQuery/index.js.map +0 -6
  66. package/dist/cjs/hooks/useTokensFromQuery/index.native.js +0 -28
  67. package/dist/cjs/hooks/useTokensFromQuery/index.native.js.map +0 -6
  68. package/dist/cjs/hooks/useTokensFromState.cjs +0 -31
  69. package/dist/cjs/hooks/useTokensFromState.js +0 -26
  70. package/dist/cjs/hooks/useTokensFromState.js.map +0 -6
  71. package/dist/cjs/hooks/useTokensFromState.native.js +0 -31
  72. package/dist/cjs/hooks/useTokensFromState.native.js.map +0 -6
  73. package/dist/cjs/index.js +0 -21
  74. package/dist/cjs/index.js.map +0 -6
  75. package/dist/cjs/index.native.js +0 -32
  76. package/dist/cjs/index.native.js.map +0 -6
  77. package/dist/cjs/keycloak/base.cjs +0 -90
  78. package/dist/cjs/keycloak/base.js +0 -90
  79. package/dist/cjs/keycloak/base.js.map +0 -6
  80. package/dist/cjs/keycloak/base.native.js +0 -135
  81. package/dist/cjs/keycloak/base.native.js.map +0 -6
  82. package/dist/cjs/keycloak/config.cjs +0 -31
  83. package/dist/cjs/keycloak/config.js +0 -26
  84. package/dist/cjs/keycloak/config.js.map +0 -6
  85. package/dist/cjs/keycloak/config.native.js +0 -30
  86. package/dist/cjs/keycloak/config.native.js.map +0 -6
  87. package/dist/cjs/keycloak/context.cjs +0 -27
  88. package/dist/cjs/keycloak/context.js +0 -22
  89. package/dist/cjs/keycloak/context.js.map +0 -6
  90. package/dist/cjs/keycloak/context.native.js +0 -26
  91. package/dist/cjs/keycloak/context.native.js.map +0 -6
  92. package/dist/cjs/keycloak/index.cjs +0 -131
  93. package/dist/cjs/keycloak/index.electron.cjs +0 -54
  94. package/dist/cjs/keycloak/index.electron.js +0 -40
  95. package/dist/cjs/keycloak/index.electron.js.map +0 -6
  96. package/dist/cjs/keycloak/index.electron.native.js +0 -137
  97. package/dist/cjs/keycloak/index.electron.native.js.map +0 -6
  98. package/dist/cjs/keycloak/index.js +0 -100
  99. package/dist/cjs/keycloak/index.js.map +0 -6
  100. package/dist/cjs/keycloak/index.native.js +0 -100
  101. package/dist/cjs/keycloak/index.native.js.map +0 -6
  102. package/dist/cjs/keycloak/index.webext.cjs +0 -54
  103. package/dist/cjs/keycloak/index.webext.js +0 -40
  104. package/dist/cjs/keycloak/index.webext.js.map +0 -6
  105. package/dist/cjs/keycloak/index.webext.native.js +0 -137
  106. package/dist/cjs/keycloak/index.webext.native.js.map +0 -6
  107. package/dist/cjs/one.cjs +0 -121
  108. package/dist/cjs/one.js +0 -119
  109. package/dist/cjs/one.js.map +0 -6
  110. package/dist/cjs/one.native.js +0 -125
  111. package/dist/cjs/one.native.js.map +0 -6
  112. package/dist/cjs/provider/AfterAuth.cjs +0 -57
  113. package/dist/cjs/provider/AfterAuth.js +0 -44
  114. package/dist/cjs/provider/AfterAuth.js.map +0 -6
  115. package/dist/cjs/provider/AfterAuth.native.js +0 -68
  116. package/dist/cjs/provider/AfterAuth.native.js.map +0 -6
  117. package/dist/cjs/provider/AuthProvider/index.cjs +0 -223
  118. package/dist/cjs/provider/AuthProvider/index.electron.cjs +0 -223
  119. package/dist/cjs/provider/AuthProvider/index.electron.js +0 -244
  120. package/dist/cjs/provider/AuthProvider/index.electron.js.map +0 -6
  121. package/dist/cjs/provider/AuthProvider/index.electron.native.js +0 -299
  122. package/dist/cjs/provider/AuthProvider/index.electron.native.js.map +0 -6
  123. package/dist/cjs/provider/AuthProvider/index.js +0 -241
  124. package/dist/cjs/provider/AuthProvider/index.js.map +0 -6
  125. package/dist/cjs/provider/AuthProvider/index.native.js +0 -198
  126. package/dist/cjs/provider/AuthProvider/index.native.js.map +0 -6
  127. package/dist/cjs/provider/AuthProvider/index.webext.cjs +0 -223
  128. package/dist/cjs/provider/AuthProvider/index.webext.js +0 -244
  129. package/dist/cjs/provider/AuthProvider/index.webext.js.map +0 -6
  130. package/dist/cjs/provider/AuthProvider/index.webext.native.js +0 -299
  131. package/dist/cjs/provider/AuthProvider/index.webext.native.js.map +0 -6
  132. package/dist/cjs/provider/AuthProvider/shared.cjs +0 -36
  133. package/dist/cjs/provider/AuthProvider/shared.js +0 -30
  134. package/dist/cjs/provider/AuthProvider/shared.js.map +0 -6
  135. package/dist/cjs/provider/AuthProvider/shared.native.js +0 -40
  136. package/dist/cjs/provider/AuthProvider/shared.native.js.map +0 -6
  137. package/dist/cjs/provider/KeycloakProvider.cjs +0 -60
  138. package/dist/cjs/provider/KeycloakProvider.js +0 -50
  139. package/dist/cjs/provider/KeycloakProvider.js.map +0 -6
  140. package/dist/cjs/provider/KeycloakProvider.native.js +0 -54
  141. package/dist/cjs/provider/KeycloakProvider.native.js.map +0 -6
  142. package/dist/cjs/provider/index.cjs +0 -20
  143. package/dist/cjs/provider/index.js +0 -17
  144. package/dist/cjs/provider/index.js.map +0 -6
  145. package/dist/cjs/provider/index.native.js +0 -24
  146. package/dist/cjs/provider/index.native.js.map +0 -6
  147. package/dist/cjs/session/index.cjs +0 -36
  148. package/dist/cjs/session/index.electron.cjs +0 -32
  149. package/dist/cjs/session/index.electron.js +0 -27
  150. package/dist/cjs/session/index.electron.js.map +0 -6
  151. package/dist/cjs/session/index.electron.native.js +0 -33
  152. package/dist/cjs/session/index.electron.native.js.map +0 -6
  153. package/dist/cjs/session/index.js +0 -30
  154. package/dist/cjs/session/index.js.map +0 -6
  155. package/dist/cjs/session/index.native.js +0 -33
  156. package/dist/cjs/session/index.native.js.map +0 -6
  157. package/dist/cjs/session/index.webext.cjs +0 -32
  158. package/dist/cjs/session/index.webext.js +0 -27
  159. package/dist/cjs/session/index.webext.js.map +0 -6
  160. package/dist/cjs/session/index.webext.native.js +0 -33
  161. package/dist/cjs/session/index.webext.native.js.map +0 -6
  162. package/dist/cjs/state.cjs +0 -37
  163. package/dist/cjs/state.js +0 -31
  164. package/dist/cjs/state.js.map +0 -6
  165. package/dist/cjs/state.native.js +0 -46
  166. package/dist/cjs/state.native.js.map +0 -6
  167. package/dist/cjs/token.cjs +0 -36
  168. package/dist/cjs/token.js +0 -30
  169. package/dist/cjs/token.js.map +0 -6
  170. package/dist/cjs/token.native.js +0 -36
  171. package/dist/cjs/token.native.js.map +0 -6
  172. package/dist/cjs/types.cjs +0 -16
  173. package/dist/cjs/types.js +0 -14
  174. package/dist/cjs/types.js.map +0 -6
  175. package/dist/cjs/types.native.js +0 -15
  176. package/dist/cjs/types.native.js.map +0 -6
  177. package/dist/esm/Authenticated.js +0 -36
  178. package/dist/esm/Authenticated.js.map +0 -6
  179. package/dist/esm/Authenticated.mjs +0 -48
  180. package/dist/esm/Authenticated.mjs.map +0 -1
  181. package/dist/esm/Authenticated.native.js +0 -49
  182. package/dist/esm/Authenticated.native.js.map +0 -6
  183. package/dist/esm/Loading.js +0 -11
  184. package/dist/esm/Loading.js.map +0 -6
  185. package/dist/esm/Loading.mjs +0 -16
  186. package/dist/esm/Loading.mjs.map +0 -1
  187. package/dist/esm/Loading.native.js +0 -13
  188. package/dist/esm/Loading.native.js.map +0 -6
  189. package/dist/esm/authConfig.js +0 -7
  190. package/dist/esm/authConfig.js.map +0 -6
  191. package/dist/esm/authConfig.mjs +0 -5
  192. package/dist/esm/authConfig.mjs.map +0 -1
  193. package/dist/esm/authConfig.native.js +0 -7
  194. package/dist/esm/authConfig.native.js.map +0 -6
  195. package/dist/esm/hooks/index.js +0 -4
  196. package/dist/esm/hooks/index.js.map +0 -6
  197. package/dist/esm/hooks/index.mjs +0 -4
  198. package/dist/esm/hooks/index.mjs.map +0 -1
  199. package/dist/esm/hooks/index.native.js +0 -4
  200. package/dist/esm/hooks/index.native.js.map +0 -6
  201. package/dist/esm/hooks/useAuthConfig.js +0 -9
  202. package/dist/esm/hooks/useAuthConfig.js.map +0 -6
  203. package/dist/esm/hooks/useAuthConfig.mjs +0 -7
  204. package/dist/esm/hooks/useAuthConfig.mjs.map +0 -1
  205. package/dist/esm/hooks/useAuthConfig.native.js +0 -9
  206. package/dist/esm/hooks/useAuthConfig.native.js.map +0 -6
  207. package/dist/esm/hooks/useTokensFromQuery/index.js +0 -14
  208. package/dist/esm/hooks/useTokensFromQuery/index.js.map +0 -6
  209. package/dist/esm/hooks/useTokensFromQuery/index.mjs +0 -12
  210. package/dist/esm/hooks/useTokensFromQuery/index.mjs.map +0 -1
  211. package/dist/esm/hooks/useTokensFromQuery/index.native.js +0 -7
  212. package/dist/esm/hooks/useTokensFromQuery/index.native.js.map +0 -6
  213. package/dist/esm/hooks/useTokensFromState.js +0 -11
  214. package/dist/esm/hooks/useTokensFromState.js.map +0 -6
  215. package/dist/esm/hooks/useTokensFromState.mjs +0 -8
  216. package/dist/esm/hooks/useTokensFromState.mjs.map +0 -1
  217. package/dist/esm/hooks/useTokensFromState.native.js +0 -11
  218. package/dist/esm/hooks/useTokensFromState.native.js.map +0 -6
  219. package/dist/esm/index.js.map +0 -6
  220. package/dist/esm/index.mjs +0 -8
  221. package/dist/esm/index.mjs.map +0 -1
  222. package/dist/esm/index.native.js +0 -8
  223. package/dist/esm/index.native.js.map +0 -6
  224. package/dist/esm/keycloak/base.js +0 -77
  225. package/dist/esm/keycloak/base.js.map +0 -6
  226. package/dist/esm/keycloak/base.mjs +0 -66
  227. package/dist/esm/keycloak/base.mjs.map +0 -1
  228. package/dist/esm/keycloak/base.native.js +0 -116
  229. package/dist/esm/keycloak/base.native.js.map +0 -6
  230. package/dist/esm/keycloak/config.js +0 -10
  231. package/dist/esm/keycloak/config.js.map +0 -6
  232. package/dist/esm/keycloak/config.mjs +0 -8
  233. package/dist/esm/keycloak/config.mjs.map +0 -1
  234. package/dist/esm/keycloak/config.native.js +0 -10
  235. package/dist/esm/keycloak/config.native.js.map +0 -6
  236. package/dist/esm/keycloak/context.js +0 -6
  237. package/dist/esm/keycloak/context.js.map +0 -6
  238. package/dist/esm/keycloak/context.mjs +0 -4
  239. package/dist/esm/keycloak/context.mjs.map +0 -1
  240. package/dist/esm/keycloak/context.native.js +0 -6
  241. package/dist/esm/keycloak/context.native.js.map +0 -6
  242. package/dist/esm/keycloak/index.electron.js +0 -30
  243. package/dist/esm/keycloak/index.electron.js.map +0 -6
  244. package/dist/esm/keycloak/index.electron.mjs +0 -29
  245. package/dist/esm/keycloak/index.electron.mjs.map +0 -1
  246. package/dist/esm/keycloak/index.electron.native.js +0 -117
  247. package/dist/esm/keycloak/index.electron.native.js.map +0 -6
  248. package/dist/esm/keycloak/index.js +0 -98
  249. package/dist/esm/keycloak/index.js.map +0 -6
  250. package/dist/esm/keycloak/index.mjs +0 -105
  251. package/dist/esm/keycloak/index.mjs.map +0 -1
  252. package/dist/esm/keycloak/index.native.js +0 -81
  253. package/dist/esm/keycloak/index.native.js.map +0 -6
  254. package/dist/esm/keycloak/index.webext.js +0 -30
  255. package/dist/esm/keycloak/index.webext.js.map +0 -6
  256. package/dist/esm/keycloak/index.webext.mjs +0 -29
  257. package/dist/esm/keycloak/index.webext.mjs.map +0 -1
  258. package/dist/esm/keycloak/index.webext.native.js +0 -117
  259. package/dist/esm/keycloak/index.webext.native.js.map +0 -6
  260. package/dist/esm/one.js +0 -96
  261. package/dist/esm/one.js.map +0 -6
  262. package/dist/esm/one.mjs +0 -87
  263. package/dist/esm/one.mjs.map +0 -1
  264. package/dist/esm/one.native.js +0 -98
  265. package/dist/esm/one.native.js.map +0 -6
  266. package/dist/esm/provider/AfterAuth.js +0 -34
  267. package/dist/esm/provider/AfterAuth.js.map +0 -6
  268. package/dist/esm/provider/AfterAuth.mjs +0 -34
  269. package/dist/esm/provider/AfterAuth.mjs.map +0 -1
  270. package/dist/esm/provider/AfterAuth.native.js +0 -53
  271. package/dist/esm/provider/AfterAuth.native.js.map +0 -6
  272. package/dist/esm/provider/AuthProvider/index.electron.js +0 -231
  273. package/dist/esm/provider/AuthProvider/index.electron.js.map +0 -6
  274. package/dist/esm/provider/AuthProvider/index.electron.mjs +0 -189
  275. package/dist/esm/provider/AuthProvider/index.electron.mjs.map +0 -1
  276. package/dist/esm/provider/AuthProvider/index.electron.native.js +0 -281
  277. package/dist/esm/provider/AuthProvider/index.electron.native.js.map +0 -6
  278. package/dist/esm/provider/AuthProvider/index.js +0 -229
  279. package/dist/esm/provider/AuthProvider/index.js.map +0 -6
  280. package/dist/esm/provider/AuthProvider/index.mjs +0 -189
  281. package/dist/esm/provider/AuthProvider/index.mjs.map +0 -1
  282. package/dist/esm/provider/AuthProvider/index.native.js +0 -186
  283. package/dist/esm/provider/AuthProvider/index.native.js.map +0 -6
  284. package/dist/esm/provider/AuthProvider/index.webext.js +0 -231
  285. package/dist/esm/provider/AuthProvider/index.webext.js.map +0 -6
  286. package/dist/esm/provider/AuthProvider/index.webext.mjs +0 -189
  287. package/dist/esm/provider/AuthProvider/index.webext.mjs.map +0 -1
  288. package/dist/esm/provider/AuthProvider/index.webext.native.js +0 -281
  289. package/dist/esm/provider/AuthProvider/index.webext.native.js.map +0 -6
  290. package/dist/esm/provider/AuthProvider/shared.js +0 -14
  291. package/dist/esm/provider/AuthProvider/shared.js.map +0 -6
  292. package/dist/esm/provider/AuthProvider/shared.mjs +0 -11
  293. package/dist/esm/provider/AuthProvider/shared.mjs.map +0 -1
  294. package/dist/esm/provider/AuthProvider/shared.native.js +0 -17
  295. package/dist/esm/provider/AuthProvider/shared.native.js.map +0 -6
  296. package/dist/esm/provider/KeycloakProvider.js +0 -37
  297. package/dist/esm/provider/KeycloakProvider.js.map +0 -6
  298. package/dist/esm/provider/KeycloakProvider.mjs +0 -37
  299. package/dist/esm/provider/KeycloakProvider.mjs.map +0 -1
  300. package/dist/esm/provider/KeycloakProvider.native.js +0 -36
  301. package/dist/esm/provider/KeycloakProvider.native.js.map +0 -6
  302. package/dist/esm/provider/index.js +0 -4
  303. package/dist/esm/provider/index.js.map +0 -6
  304. package/dist/esm/provider/index.mjs +0 -4
  305. package/dist/esm/provider/index.mjs.map +0 -1
  306. package/dist/esm/provider/index.native.js +0 -4
  307. package/dist/esm/provider/index.native.js.map +0 -6
  308. package/dist/esm/session/index.electron.js +0 -11
  309. package/dist/esm/session/index.electron.js.map +0 -6
  310. package/dist/esm/session/index.electron.mjs +0 -8
  311. package/dist/esm/session/index.electron.mjs.map +0 -1
  312. package/dist/esm/session/index.electron.native.js +0 -11
  313. package/dist/esm/session/index.electron.native.js.map +0 -6
  314. package/dist/esm/session/index.js +0 -15
  315. package/dist/esm/session/index.js.map +0 -6
  316. package/dist/esm/session/index.mjs +0 -13
  317. package/dist/esm/session/index.mjs.map +0 -1
  318. package/dist/esm/session/index.native.js +0 -11
  319. package/dist/esm/session/index.native.js.map +0 -6
  320. package/dist/esm/session/index.webext.js +0 -11
  321. package/dist/esm/session/index.webext.js.map +0 -6
  322. package/dist/esm/session/index.webext.mjs +0 -8
  323. package/dist/esm/session/index.webext.mjs.map +0 -1
  324. package/dist/esm/session/index.webext.native.js +0 -11
  325. package/dist/esm/session/index.webext.native.js.map +0 -6
  326. package/dist/esm/state.js +0 -16
  327. package/dist/esm/state.js.map +0 -6
  328. package/dist/esm/state.mjs +0 -13
  329. package/dist/esm/state.mjs.map +0 -1
  330. package/dist/esm/state.native.js +0 -25
  331. package/dist/esm/state.native.js.map +0 -6
  332. package/dist/esm/token.js +0 -14
  333. package/dist/esm/token.js.map +0 -6
  334. package/dist/esm/token.mjs +0 -12
  335. package/dist/esm/token.mjs.map +0 -1
  336. package/dist/esm/token.native.js +0 -14
  337. package/dist/esm/token.native.js.map +0 -6
  338. package/dist/esm/types.js +0 -1
  339. package/dist/esm/types.js.map +0 -6
  340. package/dist/esm/types.mjs +0 -2
  341. package/dist/esm/types.mjs.map +0 -1
  342. package/dist/esm/types.native.js +0 -1
  343. package/dist/esm/types.native.js.map +0 -6
  344. package/dist/jsx/Authenticated.js +0 -36
  345. package/dist/jsx/Authenticated.js.map +0 -6
  346. package/dist/jsx/Authenticated.mjs +0 -48
  347. package/dist/jsx/Authenticated.mjs.map +0 -1
  348. package/dist/jsx/Authenticated.native.js +0 -49
  349. package/dist/jsx/Authenticated.native.js.map +0 -6
  350. package/dist/jsx/Loading.js +0 -11
  351. package/dist/jsx/Loading.js.map +0 -6
  352. package/dist/jsx/Loading.mjs +0 -16
  353. package/dist/jsx/Loading.mjs.map +0 -1
  354. package/dist/jsx/Loading.native.js +0 -13
  355. package/dist/jsx/Loading.native.js.map +0 -6
  356. package/dist/jsx/authConfig.js +0 -7
  357. package/dist/jsx/authConfig.js.map +0 -6
  358. package/dist/jsx/authConfig.mjs +0 -5
  359. package/dist/jsx/authConfig.mjs.map +0 -1
  360. package/dist/jsx/authConfig.native.js +0 -7
  361. package/dist/jsx/authConfig.native.js.map +0 -6
  362. package/dist/jsx/hooks/index.js +0 -4
  363. package/dist/jsx/hooks/index.js.map +0 -6
  364. package/dist/jsx/hooks/index.mjs +0 -4
  365. package/dist/jsx/hooks/index.mjs.map +0 -1
  366. package/dist/jsx/hooks/index.native.js +0 -4
  367. package/dist/jsx/hooks/index.native.js.map +0 -6
  368. package/dist/jsx/hooks/useAuthConfig.js +0 -9
  369. package/dist/jsx/hooks/useAuthConfig.js.map +0 -6
  370. package/dist/jsx/hooks/useAuthConfig.mjs +0 -7
  371. package/dist/jsx/hooks/useAuthConfig.mjs.map +0 -1
  372. package/dist/jsx/hooks/useAuthConfig.native.js +0 -9
  373. package/dist/jsx/hooks/useAuthConfig.native.js.map +0 -6
  374. package/dist/jsx/hooks/useTokensFromQuery/index.js +0 -14
  375. package/dist/jsx/hooks/useTokensFromQuery/index.js.map +0 -6
  376. package/dist/jsx/hooks/useTokensFromQuery/index.mjs +0 -12
  377. package/dist/jsx/hooks/useTokensFromQuery/index.mjs.map +0 -1
  378. package/dist/jsx/hooks/useTokensFromQuery/index.native.js +0 -7
  379. package/dist/jsx/hooks/useTokensFromQuery/index.native.js.map +0 -6
  380. package/dist/jsx/hooks/useTokensFromState.js +0 -11
  381. package/dist/jsx/hooks/useTokensFromState.js.map +0 -6
  382. package/dist/jsx/hooks/useTokensFromState.mjs +0 -8
  383. package/dist/jsx/hooks/useTokensFromState.mjs.map +0 -1
  384. package/dist/jsx/hooks/useTokensFromState.native.js +0 -11
  385. package/dist/jsx/hooks/useTokensFromState.native.js.map +0 -6
  386. package/dist/jsx/index.js +0 -8
  387. package/dist/jsx/index.js.map +0 -6
  388. package/dist/jsx/index.mjs +0 -8
  389. package/dist/jsx/index.mjs.map +0 -1
  390. package/dist/jsx/index.native.js +0 -8
  391. package/dist/jsx/index.native.js.map +0 -6
  392. package/dist/jsx/keycloak/base.js +0 -77
  393. package/dist/jsx/keycloak/base.js.map +0 -6
  394. package/dist/jsx/keycloak/base.mjs +0 -66
  395. package/dist/jsx/keycloak/base.mjs.map +0 -1
  396. package/dist/jsx/keycloak/base.native.js +0 -116
  397. package/dist/jsx/keycloak/base.native.js.map +0 -6
  398. package/dist/jsx/keycloak/config.js +0 -10
  399. package/dist/jsx/keycloak/config.js.map +0 -6
  400. package/dist/jsx/keycloak/config.mjs +0 -8
  401. package/dist/jsx/keycloak/config.mjs.map +0 -1
  402. package/dist/jsx/keycloak/config.native.js +0 -10
  403. package/dist/jsx/keycloak/config.native.js.map +0 -6
  404. package/dist/jsx/keycloak/context.js +0 -6
  405. package/dist/jsx/keycloak/context.js.map +0 -6
  406. package/dist/jsx/keycloak/context.mjs +0 -4
  407. package/dist/jsx/keycloak/context.mjs.map +0 -1
  408. package/dist/jsx/keycloak/context.native.js +0 -6
  409. package/dist/jsx/keycloak/context.native.js.map +0 -6
  410. package/dist/jsx/keycloak/index.electron.js +0 -30
  411. package/dist/jsx/keycloak/index.electron.js.map +0 -6
  412. package/dist/jsx/keycloak/index.electron.mjs +0 -29
  413. package/dist/jsx/keycloak/index.electron.mjs.map +0 -1
  414. package/dist/jsx/keycloak/index.electron.native.js +0 -117
  415. package/dist/jsx/keycloak/index.electron.native.js.map +0 -6
  416. package/dist/jsx/keycloak/index.js +0 -98
  417. package/dist/jsx/keycloak/index.js.map +0 -6
  418. package/dist/jsx/keycloak/index.mjs +0 -105
  419. package/dist/jsx/keycloak/index.mjs.map +0 -1
  420. package/dist/jsx/keycloak/index.native.js +0 -81
  421. package/dist/jsx/keycloak/index.native.js.map +0 -6
  422. package/dist/jsx/keycloak/index.webext.js +0 -30
  423. package/dist/jsx/keycloak/index.webext.js.map +0 -6
  424. package/dist/jsx/keycloak/index.webext.mjs +0 -29
  425. package/dist/jsx/keycloak/index.webext.mjs.map +0 -1
  426. package/dist/jsx/keycloak/index.webext.native.js +0 -117
  427. package/dist/jsx/keycloak/index.webext.native.js.map +0 -6
  428. package/dist/jsx/one.js +0 -96
  429. package/dist/jsx/one.js.map +0 -6
  430. package/dist/jsx/one.mjs +0 -87
  431. package/dist/jsx/one.mjs.map +0 -1
  432. package/dist/jsx/one.native.js +0 -98
  433. package/dist/jsx/one.native.js.map +0 -6
  434. package/dist/jsx/provider/AfterAuth.js +0 -34
  435. package/dist/jsx/provider/AfterAuth.js.map +0 -6
  436. package/dist/jsx/provider/AfterAuth.mjs +0 -34
  437. package/dist/jsx/provider/AfterAuth.mjs.map +0 -1
  438. package/dist/jsx/provider/AfterAuth.native.js +0 -53
  439. package/dist/jsx/provider/AfterAuth.native.js.map +0 -6
  440. package/dist/jsx/provider/AuthProvider/index.electron.js +0 -231
  441. package/dist/jsx/provider/AuthProvider/index.electron.js.map +0 -6
  442. package/dist/jsx/provider/AuthProvider/index.electron.mjs +0 -189
  443. package/dist/jsx/provider/AuthProvider/index.electron.mjs.map +0 -1
  444. package/dist/jsx/provider/AuthProvider/index.electron.native.js +0 -281
  445. package/dist/jsx/provider/AuthProvider/index.electron.native.js.map +0 -6
  446. package/dist/jsx/provider/AuthProvider/index.js +0 -229
  447. package/dist/jsx/provider/AuthProvider/index.js.map +0 -6
  448. package/dist/jsx/provider/AuthProvider/index.mjs +0 -189
  449. package/dist/jsx/provider/AuthProvider/index.mjs.map +0 -1
  450. package/dist/jsx/provider/AuthProvider/index.native.js +0 -186
  451. package/dist/jsx/provider/AuthProvider/index.native.js.map +0 -6
  452. package/dist/jsx/provider/AuthProvider/index.webext.js +0 -231
  453. package/dist/jsx/provider/AuthProvider/index.webext.js.map +0 -6
  454. package/dist/jsx/provider/AuthProvider/index.webext.mjs +0 -189
  455. package/dist/jsx/provider/AuthProvider/index.webext.mjs.map +0 -1
  456. package/dist/jsx/provider/AuthProvider/index.webext.native.js +0 -281
  457. package/dist/jsx/provider/AuthProvider/index.webext.native.js.map +0 -6
  458. package/dist/jsx/provider/AuthProvider/shared.js +0 -14
  459. package/dist/jsx/provider/AuthProvider/shared.js.map +0 -6
  460. package/dist/jsx/provider/AuthProvider/shared.mjs +0 -11
  461. package/dist/jsx/provider/AuthProvider/shared.mjs.map +0 -1
  462. package/dist/jsx/provider/AuthProvider/shared.native.js +0 -17
  463. package/dist/jsx/provider/AuthProvider/shared.native.js.map +0 -6
  464. package/dist/jsx/provider/KeycloakProvider.js +0 -37
  465. package/dist/jsx/provider/KeycloakProvider.js.map +0 -6
  466. package/dist/jsx/provider/KeycloakProvider.mjs +0 -37
  467. package/dist/jsx/provider/KeycloakProvider.mjs.map +0 -1
  468. package/dist/jsx/provider/KeycloakProvider.native.js +0 -36
  469. package/dist/jsx/provider/KeycloakProvider.native.js.map +0 -6
  470. package/dist/jsx/provider/index.js +0 -4
  471. package/dist/jsx/provider/index.js.map +0 -6
  472. package/dist/jsx/provider/index.mjs +0 -4
  473. package/dist/jsx/provider/index.mjs.map +0 -1
  474. package/dist/jsx/provider/index.native.js +0 -4
  475. package/dist/jsx/provider/index.native.js.map +0 -6
  476. package/dist/jsx/session/index.electron.js +0 -11
  477. package/dist/jsx/session/index.electron.js.map +0 -6
  478. package/dist/jsx/session/index.electron.mjs +0 -8
  479. package/dist/jsx/session/index.electron.mjs.map +0 -1
  480. package/dist/jsx/session/index.electron.native.js +0 -11
  481. package/dist/jsx/session/index.electron.native.js.map +0 -6
  482. package/dist/jsx/session/index.js +0 -15
  483. package/dist/jsx/session/index.js.map +0 -6
  484. package/dist/jsx/session/index.mjs +0 -13
  485. package/dist/jsx/session/index.mjs.map +0 -1
  486. package/dist/jsx/session/index.native.js +0 -11
  487. package/dist/jsx/session/index.native.js.map +0 -6
  488. package/dist/jsx/session/index.webext.js +0 -11
  489. package/dist/jsx/session/index.webext.js.map +0 -6
  490. package/dist/jsx/session/index.webext.mjs +0 -8
  491. package/dist/jsx/session/index.webext.mjs.map +0 -1
  492. package/dist/jsx/session/index.webext.native.js +0 -11
  493. package/dist/jsx/session/index.webext.native.js.map +0 -6
  494. package/dist/jsx/state.js +0 -16
  495. package/dist/jsx/state.js.map +0 -6
  496. package/dist/jsx/state.mjs +0 -13
  497. package/dist/jsx/state.mjs.map +0 -1
  498. package/dist/jsx/state.native.js +0 -25
  499. package/dist/jsx/state.native.js.map +0 -6
  500. package/dist/jsx/token.js +0 -14
  501. package/dist/jsx/token.js.map +0 -6
  502. package/dist/jsx/token.mjs +0 -12
  503. package/dist/jsx/token.mjs.map +0 -1
  504. package/dist/jsx/token.native.js +0 -14
  505. package/dist/jsx/token.native.js.map +0 -6
  506. package/dist/jsx/types.js +0 -1
  507. package/dist/jsx/types.js.map +0 -6
  508. package/dist/jsx/types.mjs +0 -2
  509. package/dist/jsx/types.mjs.map +0 -1
  510. package/dist/jsx/types.native.js +0 -1
  511. package/dist/jsx/types.native.js.map +0 -6
  512. package/src/@types/expoKeycloakAuth.d.ts +0 -25
  513. package/src/keycloak/index.electron.ts +0 -72
  514. package/src/provider/AuthProvider/index.electron.tsx +0 -419
  515. package/src/provider/AuthProvider/index.native.tsx +0 -308
  516. package/src/session/index.electron.ts +0 -33
  517. package/types/Authenticated.d.ts +0 -29
  518. package/types/Authenticated.d.ts.map +0 -1
  519. package/types/Loading.d.ts +0 -26
  520. package/types/Loading.d.ts.map +0 -1
  521. package/types/authConfig.d.ts +0 -11
  522. package/types/authConfig.d.ts.map +0 -1
  523. package/types/hooks/index.d.ts +0 -24
  524. package/types/hooks/index.d.ts.map +0 -1
  525. package/types/hooks/useAuthConfig.d.ts +0 -2
  526. package/types/hooks/useAuthConfig.d.ts.map +0 -1
  527. package/types/hooks/useTokensFromQuery/index.d.ts +0 -2
  528. package/types/hooks/useTokensFromQuery/index.d.ts.map +0 -1
  529. package/types/hooks/useTokensFromQuery/index.native.d.ts +0 -2
  530. package/types/hooks/useTokensFromQuery/index.native.d.ts.map +0 -1
  531. package/types/hooks/useTokensFromState.d.ts +0 -2
  532. package/types/hooks/useTokensFromState.d.ts.map +0 -1
  533. package/types/index.d.ts +0 -28
  534. package/types/index.d.ts.map +0 -1
  535. package/types/keycloak/base.d.ts +0 -51
  536. package/types/keycloak/base.d.ts.map +0 -1
  537. package/types/keycloak/config.d.ts +0 -8
  538. package/types/keycloak/config.d.ts.map +0 -1
  539. package/types/keycloak/context.d.ts +0 -4
  540. package/types/keycloak/context.d.ts.map +0 -1
  541. package/types/keycloak/index.d.ts +0 -15
  542. package/types/keycloak/index.d.ts.map +0 -1
  543. package/types/keycloak/index.electron.d.ts +0 -12
  544. package/types/keycloak/index.electron.d.ts.map +0 -1
  545. package/types/keycloak/index.native.d.ts +0 -27
  546. package/types/keycloak/index.native.d.ts.map +0 -1
  547. package/types/keycloak/index.webext.d.ts +0 -12
  548. package/types/keycloak/index.webext.d.ts.map +0 -1
  549. package/types/one.d.ts +0 -27
  550. package/types/one.d.ts.map +0 -1
  551. package/types/provider/AfterAuth.d.ts +0 -26
  552. package/types/provider/AfterAuth.d.ts.map +0 -1
  553. package/types/provider/AuthProvider/index.d.ts +0 -23
  554. package/types/provider/AuthProvider/index.d.ts.map +0 -1
  555. package/types/provider/AuthProvider/index.electron.d.ts +0 -23
  556. package/types/provider/AuthProvider/index.electron.d.ts.map +0 -1
  557. package/types/provider/AuthProvider/index.native.d.ts +0 -23
  558. package/types/provider/AuthProvider/index.native.d.ts.map +0 -1
  559. package/types/provider/AuthProvider/index.webext.d.ts +0 -23
  560. package/types/provider/AuthProvider/index.webext.d.ts.map +0 -1
  561. package/types/provider/AuthProvider/shared.d.ts +0 -53
  562. package/types/provider/AuthProvider/shared.d.ts.map +0 -1
  563. package/types/provider/KeycloakProvider.d.ts +0 -30
  564. package/types/provider/KeycloakProvider.d.ts.map +0 -1
  565. package/types/provider/index.d.ts +0 -24
  566. package/types/provider/index.d.ts.map +0 -1
  567. package/types/session/index.d.ts +0 -16
  568. package/types/session/index.d.ts.map +0 -1
  569. package/types/session/index.electron.d.ts +0 -5
  570. package/types/session/index.electron.d.ts.map +0 -1
  571. package/types/session/index.native.d.ts +0 -5
  572. package/types/session/index.native.d.ts.map +0 -1
  573. package/types/session/index.webext.d.ts +0 -5
  574. package/types/session/index.webext.d.ts.map +0 -1
  575. package/types/state.d.ts +0 -9
  576. package/types/state.d.ts.map +0 -1
  577. package/types/token.d.ts +0 -16
  578. package/types/token.d.ts.map +0 -1
  579. package/types/types.d.ts +0 -19
  580. package/types/types.d.ts.map +0 -1
package/dist/esm/index.js CHANGED
@@ -1,8 +1,855 @@
1
- export * from "./Authenticated";
2
- export * from "./authConfig";
3
- export * from "./hooks/index";
4
- export * from "./keycloak/index";
5
- export * from "./provider/index";
6
- export * from "./session/index";
7
- export * from "./types";
8
- //# sourceMappingURL=index.js.map
1
+ // src/Authenticated.tsx
2
+ import { isIframe as isIframe3, isServer as isServer3 } from "@multiplatform.one/platform";
3
+ import { useEffect } from "react";
4
+ import { Text } from "tamagui";
5
+
6
+ // src/hooks/useAuthConfig.ts
7
+ import { useContext } from "react";
8
+
9
+ // src/authConfig.ts
10
+ import { createContext } from "react";
11
+ var defaultAuthConfig = {};
12
+ var AuthConfigContext = createContext(defaultAuthConfig);
13
+
14
+ // src/hooks/useAuthConfig.ts
15
+ function useAuthConfig() {
16
+ return useContext(AuthConfigContext);
17
+ }
18
+
19
+ // src/hooks/useTokensFromQuery/index.ts
20
+ import { isIframe } from "@multiplatform.one/platform";
21
+ function useTokensFromQuery() {
22
+ const { iframeSso } = useAuthConfig();
23
+ if (iframeSso || !isIframe) return false;
24
+ const query = new URLSearchParams(
25
+ typeof window === "undefined" ? "" : window?.location?.search || ""
26
+ );
27
+ return typeof query.get("idToken") === "string" || typeof query.get("token") === "string" || typeof query.get("refreshToken") === "string";
28
+ }
29
+
30
+ // src/state.ts
31
+ import { createStore, useStore } from "@multiplatform.one/store";
32
+ import { isBrowser, isIframe as isIframe2, isServer, isTauri } from "@multiplatform.one/platform";
33
+ var persist = isIframe2 || isTauri || !isBrowser && !isServer;
34
+ var authStore = createStore(
35
+ { idToken: "", refreshToken: "", token: "" },
36
+ { name: "auth", persist }
37
+ );
38
+ function useAuthStore() {
39
+ const state = useStore(authStore);
40
+ return {
41
+ ...state,
42
+ setIdToken: (idToken) => authStore.setState((prev) => ({ ...prev, idToken })),
43
+ setRefreshToken: (refreshToken) => authStore.setState((prev) => ({ ...prev, refreshToken })),
44
+ setToken: (token) => authStore.setState((prev) => ({ ...prev, token })),
45
+ setTokens: (tokens) => authStore.setState((prev) => ({ ...prev, ...tokens }))
46
+ };
47
+ }
48
+
49
+ // src/token.ts
50
+ import { jwtDecode } from "jwt-decode";
51
+ function getWalletsFromToken(token) {
52
+ try {
53
+ const decoded = jwtDecode(token);
54
+ return decoded.crypto?.wallets ?? {};
55
+ } catch {
56
+ return {};
57
+ }
58
+ }
59
+ function getWalletAddresses(token, walletType = "ethereum") {
60
+ const wallets = getWalletsFromToken(token);
61
+ return wallets[walletType]?.addresses ?? [];
62
+ }
63
+ function hasWallets(token) {
64
+ const wallets = getWalletsFromToken(token);
65
+ return Object.values(wallets).some((info) => info.addresses && info.addresses.length > 0);
66
+ }
67
+ function getAllWalletAddresses(token) {
68
+ const wallets = getWalletsFromToken(token);
69
+ const result = [];
70
+ for (const [walletType, info] of Object.entries(wallets)) {
71
+ if (info.addresses) {
72
+ for (const address of info.addresses) {
73
+ result.push({ walletType, address });
74
+ }
75
+ }
76
+ }
77
+ return result;
78
+ }
79
+ function validOrRefreshableToken(token, refreshToken) {
80
+ if (typeof token === "undefined") return;
81
+ if (!token) return false;
82
+ if (typeof token !== "string") return token;
83
+ if (refreshToken) {
84
+ if (refreshToken === true || !isTokenExpired(refreshToken)) return token;
85
+ return false;
86
+ }
87
+ return isTokenExpired(token) ? false : token;
88
+ }
89
+ function isTokenExpired(token) {
90
+ const { exp } = jwtDecode(token);
91
+ if (!exp) return false;
92
+ return Math.floor(Date.now() / 1e3) >= exp;
93
+ }
94
+
95
+ // src/hooks/useTokensFromState.ts
96
+ function useTokensFromStore() {
97
+ const authStore2 = useAuthStore();
98
+ return !!validOrRefreshableToken(authStore2.token, authStore2.refreshToken);
99
+ }
100
+
101
+ // src/keycloak/index.ts
102
+ import { isBrowser as isBrowser3, isServer as isServer2, isStorybook, isWeb as isWeb2 } from "@multiplatform.one/platform";
103
+ import { useContext as useContext3 } from "react";
104
+
105
+ // src/betterAuth/client.ts
106
+ import { createAuthClient } from "better-auth/react";
107
+ import { genericOAuthClient } from "better-auth/client/plugins";
108
+ import { isWeb } from "@multiplatform.one/platform";
109
+ var _client;
110
+ function getAuthClient(baseURL) {
111
+ if (_client) return _client;
112
+ _client = createAuthClient({
113
+ baseURL: baseURL || (isWeb && typeof window !== "undefined" ? window.location.origin : ""),
114
+ plugins: [genericOAuthClient()]
115
+ });
116
+ return _client;
117
+ }
118
+
119
+ // src/session/index.ts
120
+ import { isBrowser as isBrowser2, isTauri as isTauri2 } from "@multiplatform.one/platform";
121
+ var useSession = (_options) => {
122
+ return { session: null, status: "unauthenticated" };
123
+ };
124
+ if (isBrowser2 && !isTauri2) {
125
+ useSession = (_options) => {
126
+ const client = getAuthClient();
127
+ const { data, isPending, error: _error } = client.useSession();
128
+ if (isPending) {
129
+ return { session: null, status: "loading" };
130
+ }
131
+ if (!data?.user) {
132
+ return { session: null, status: "unauthenticated" };
133
+ }
134
+ return {
135
+ session: {
136
+ user: data.user,
137
+ expires: data.session?.expiresAt?.toString()
138
+ },
139
+ status: "authenticated"
140
+ };
141
+ };
142
+ }
143
+
144
+ // src/keycloak/base.ts
145
+ import { jwtDecode as jwtDecode2 } from "jwt-decode";
146
+ import { useContext as useContext2 } from "react";
147
+
148
+ // src/keycloak/context.ts
149
+ import { createContext as createContext2 } from "react";
150
+ var KeycloakContext = createContext2(void 0);
151
+
152
+ // src/keycloak/base.ts
153
+ var BaseKeycloak = class {
154
+ constructor(config, input, idToken, refreshToken, login, logout) {
155
+ this.config = config;
156
+ this.authenticated = false;
157
+ this.clientId = this.config.clientId;
158
+ this.realm = this.config.realm;
159
+ if (typeof input === "string") {
160
+ this.token = input;
161
+ this.idToken = idToken;
162
+ this.refreshToken = refreshToken;
163
+ this._parseTokens();
164
+ } else if (typeof input === "object") {
165
+ this._handleInputObject(input);
166
+ }
167
+ this._login = login;
168
+ this._logout = logout;
169
+ this._sync();
170
+ }
171
+ _handleInputObject(input) {
172
+ if (typeof input.init === "function") {
173
+ this._keycloakClient = input;
174
+ } else {
175
+ this._mock = input;
176
+ }
177
+ }
178
+ _parseTokens() {
179
+ if (this.token && !this.tokenParsed) {
180
+ this.tokenParsed = jwtDecode2(this.token);
181
+ }
182
+ if (this.idToken && !this.idTokenParsed) {
183
+ this.idTokenParsed = jwtDecode2(this.idToken);
184
+ }
185
+ if (this.refreshToken && !this.refreshTokenParsed) {
186
+ this.refreshTokenParsed = jwtDecode2(this.refreshToken);
187
+ }
188
+ }
189
+ _clear() {
190
+ this.authenticated = false;
191
+ this.email = void 0;
192
+ this.idToken = void 0;
193
+ this.idTokenParsed = void 0;
194
+ this.realmAccess = void 0;
195
+ this.refreshToken = void 0;
196
+ this.refreshTokenParsed = void 0;
197
+ this.resourceAccess = void 0;
198
+ this.sessionId = void 0;
199
+ this.subject = void 0;
200
+ this.token = void 0;
201
+ this.tokenParsed = void 0;
202
+ this.username = void 0;
203
+ }
204
+ _sync() {
205
+ if (this._mock) {
206
+ this.authenticated = true;
207
+ this.email = this._mock.email;
208
+ this.username = this._mock.username;
209
+ } else if (this._keycloakClient) {
210
+ this.authenticated = !!this._keycloakClient.authenticated;
211
+ this.email = this._keycloakClient?.tokenParsed?.email;
212
+ this.idToken = this._keycloakClient?.idToken;
213
+ this.idTokenParsed = this._keycloakClient?.idTokenParsed;
214
+ this.realmAccess = this._keycloakClient?.realmAccess;
215
+ this.refreshToken = this._keycloakClient?.refreshToken;
216
+ this.refreshTokenParsed = this._keycloakClient?.refreshTokenParsed;
217
+ this.resourceAccess = this._keycloakClient?.resourceAccess;
218
+ this.sessionId = this._keycloakClient?.sessionId;
219
+ this.subject = this._keycloakClient?.subject;
220
+ this.token = this._keycloakClient?.token;
221
+ this.tokenParsed = this._keycloakClient?.tokenParsed;
222
+ this.username = this.tokenParsed?.preferred_username;
223
+ if (this._keycloakClient.realm) this.realm = this._keycloakClient.realm;
224
+ if (this._keycloakClient.clientId) {
225
+ this.clientId = this._keycloakClient.clientId;
226
+ }
227
+ } else if (this.tokenParsed) {
228
+ this.clientId = this.tokenParsed.azp || this.config.clientId;
229
+ this.email = this.tokenParsed.email;
230
+ this.realm = this.tokenParsed.iss?.split("/").pop() || this.config.realm;
231
+ this.realmAccess = this.tokenParsed.realm_access;
232
+ this.resourceAccess = this.tokenParsed.resource_access;
233
+ this.sessionId = this.tokenParsed.session_state;
234
+ this.subject = this.tokenParsed.sub;
235
+ this.authenticated = !!(this.tokenParsed?.exp && this.idToken && this.tokenParsed.exp > Date.now() / 1e3);
236
+ this.username = this.tokenParsed?.preferred_username;
237
+ } else {
238
+ return this._clear();
239
+ }
240
+ }
241
+ async getUserInfo() {
242
+ if (!this.authenticated) return;
243
+ const response = await fetch(
244
+ `${this.config.url}/realms/${this.realm}/protocol/openid-connect/userinfo`,
245
+ {
246
+ method: "GET",
247
+ headers: {
248
+ Authorization: `Bearer ${this.token}`,
249
+ Accept: "application/json"
250
+ }
251
+ }
252
+ );
253
+ if (response.ok) return response.json();
254
+ }
255
+ async login(options = {}) {
256
+ this._clear();
257
+ if (this._keycloakClient) {
258
+ await this._keycloakClient.login(options);
259
+ } else {
260
+ await this._login?.(options);
261
+ }
262
+ this._sync();
263
+ }
264
+ async logout(options = {}) {
265
+ if (this._keycloakClient) {
266
+ await this._keycloakClient.logout(options);
267
+ } else {
268
+ await this._logout?.(options);
269
+ }
270
+ this._clear();
271
+ }
272
+ };
273
+
274
+ // src/keycloak/config.ts
275
+ import { createContext as createContext3 } from "react";
276
+ var KeycloakConfigContext = createContext3({
277
+ clientId: "",
278
+ realm: "",
279
+ url: ""
280
+ });
281
+
282
+ // src/keycloak/index.ts
283
+ var Keycloak = class extends BaseKeycloak {
284
+ _handleInputObject(input) {
285
+ if (typeof input.init === "function") {
286
+ this._keycloakClient = input;
287
+ } else if (input.accessToken) {
288
+ const session = input;
289
+ this.token = session.accessToken;
290
+ this.idToken = session.idToken;
291
+ this.refreshToken = session.refreshToken;
292
+ this._parseTokens();
293
+ } else {
294
+ this._mock = input;
295
+ }
296
+ }
297
+ async login(options = {}) {
298
+ this._clear();
299
+ if (this._keycloakClient) {
300
+ await this._keycloakClient.login(options);
301
+ } else if (isBrowser3 && !isServer2) {
302
+ const client = getAuthClient();
303
+ await client.signIn.social({
304
+ provider: "keycloak",
305
+ callbackURL: options.redirectUri || (isWeb2 ? window.location.href : "")
306
+ });
307
+ } else {
308
+ await this._login?.(options);
309
+ }
310
+ this._sync();
311
+ }
312
+ async logout(options = {}) {
313
+ if (this._keycloakClient) {
314
+ await this._keycloakClient.logout(options);
315
+ } else if (isBrowser3 && !isServer2) {
316
+ const client = getAuthClient();
317
+ await client.signOut({
318
+ fetchOptions: {
319
+ onSuccess: () => {
320
+ if (options.redirectUri) {
321
+ if (isWeb2) window.location.href = options.redirectUri;
322
+ } else {
323
+ if (isWeb2) window.location.reload();
324
+ }
325
+ }
326
+ }
327
+ });
328
+ } else {
329
+ await this._logout?.(options);
330
+ }
331
+ this._clear();
332
+ }
333
+ };
334
+ function useKeycloak() {
335
+ const keycloak = useContext3(KeycloakContext);
336
+ const keycloakConfig = useContext3(KeycloakConfigContext);
337
+ const { disabled } = useAuthConfig();
338
+ if (disabled) return null;
339
+ if (keycloak) return keycloak;
340
+ const { session, status } = useSession();
341
+ if (isStorybook) {
342
+ return new Keycloak(keycloakConfig, {
343
+ email: "storybook@example.com",
344
+ username: "storybook"
345
+ });
346
+ }
347
+ if (status === "unauthenticated") {
348
+ return new Keycloak(keycloakConfig);
349
+ }
350
+ if (status === "authenticated") {
351
+ if (session?.accessToken) {
352
+ return new Keycloak(keycloakConfig, session);
353
+ }
354
+ return new Keycloak(keycloakConfig);
355
+ }
356
+ }
357
+
358
+ // src/Authenticated.tsx
359
+ import { Fragment, jsx } from "react/jsx-runtime";
360
+ function Authenticated({
361
+ children,
362
+ disabled,
363
+ loggedOutComponent,
364
+ loadingComponent
365
+ }) {
366
+ const authConfig = useAuthConfig();
367
+ const keycloak = useKeycloak();
368
+ const tokensFromQuery = useTokensFromQuery();
369
+ useEffect(() => {
370
+ if (!keycloak || !authConfig.iframeSso && isIframe3 || isServer3 || keycloak.authenticated || tokensFromQuery) {
371
+ return;
372
+ }
373
+ keycloak?.login({
374
+ redirectUri: authConfig.loginRedirectUri
375
+ });
376
+ }, [keycloak?.authenticated]);
377
+ if (typeof disabled === "undefined") disabled = authConfig.disabled;
378
+ if (disabled) return /* @__PURE__ */ jsx(Fragment, { children });
379
+ if (typeof keycloak === "undefined") {
380
+ const LoadingComponent = loadingComponent;
381
+ return LoadingComponent ? /* @__PURE__ */ jsx(LoadingComponent, {}) : /* @__PURE__ */ jsx(Text, { children: authConfig.debug ? "loading" : null });
382
+ }
383
+ if (keycloak === null || keycloak.authenticated) return /* @__PURE__ */ jsx(Fragment, { children });
384
+ const LoggedOutComponent = loggedOutComponent;
385
+ return LoggedOutComponent ? /* @__PURE__ */ jsx(LoggedOutComponent, {}) : /* @__PURE__ */ jsx(Text, { children: authConfig.debug ? "not authenticated" : null });
386
+ }
387
+ function withAuthenticated(Component, options = {}) {
388
+ return (props) => /* @__PURE__ */ jsx(Authenticated, { ...options, children: /* @__PURE__ */ jsx(Component, { ...props }) });
389
+ }
390
+
391
+ // src/provider/AfterAuth.tsx
392
+ import { logger } from "@multiplatform.one/logger";
393
+ import { useEffect as useEffect2 } from "react";
394
+ import { Fragment as Fragment2, jsx as jsx2 } from "react/jsx-runtime";
395
+ function AfterAuth({ children, loadingComponent: _loadingComponent }) {
396
+ const authConfig = useAuthConfig();
397
+ const authStore2 = useAuthStore();
398
+ const keycloak = useKeycloak();
399
+ useEffect2(() => {
400
+ if (!persist || !keycloak?.authenticated) return;
401
+ if (keycloak.token) {
402
+ authStore2.setTokens({
403
+ token: keycloak.token,
404
+ ...keycloak.idToken && { idToken: keycloak.idToken },
405
+ ...keycloak.refreshToken && {
406
+ refreshToken: keycloak.refreshToken
407
+ }
408
+ });
409
+ }
410
+ }, [
411
+ authStore2,
412
+ persist,
413
+ keycloak?.authenticated,
414
+ keycloak?.token,
415
+ keycloak?.idToken,
416
+ keycloak?.refreshToken
417
+ ]);
418
+ useEffect2(() => {
419
+ if (authConfig.debug && keycloak?.token) {
420
+ logger.debug("token", keycloak.token);
421
+ }
422
+ }, [authConfig.debug, keycloak?.token]);
423
+ useEffect2(() => {
424
+ if (authConfig.debug && keycloak?.idToken) {
425
+ logger.debug("idToken", keycloak.idToken);
426
+ }
427
+ }, [authConfig.debug, keycloak?.idToken]);
428
+ useEffect2(() => {
429
+ if (authConfig.debug && keycloak?.refreshToken) {
430
+ logger.debug("refreshToken", keycloak.refreshToken);
431
+ }
432
+ }, [authConfig.debug, keycloak?.refreshToken]);
433
+ useEffect2(() => {
434
+ if (authConfig.debug && keycloak?.authenticated) {
435
+ logger.debug("authenticated", keycloak.authenticated);
436
+ }
437
+ }, [authConfig.debug, keycloak?.authenticated]);
438
+ useEffect2(() => {
439
+ if (authConfig.debug && keycloak === null) {
440
+ logger.debug("keycloak disabled");
441
+ }
442
+ }, [authConfig.debug, keycloak]);
443
+ return /* @__PURE__ */ jsx2(Fragment2, { children });
444
+ }
445
+
446
+ // src/provider/authProvider/index.tsx
447
+ import KeycloakClient from "@multiplatform.one/keycloak-js";
448
+ import { isIframe as isIframe4, isWindowDefined } from "@multiplatform.one/platform";
449
+ import { logger as logger2 } from "@multiplatform.one/logger";
450
+ import { useCallback, useEffect as useEffect3, useMemo, useState } from "react";
451
+
452
+ // src/Loading.tsx
453
+ import { Text as Text2 } from "tamagui";
454
+ import { jsx as jsx3 } from "react/jsx-runtime";
455
+ function Loading({ loadingComponent }) {
456
+ const { debug } = useAuthConfig();
457
+ const LoadingComponent = loadingComponent;
458
+ if (typeof LoadingComponent === "undefined") {
459
+ return /* @__PURE__ */ jsx3(Text2, { children: debug ? "loading" : null });
460
+ }
461
+ return /* @__PURE__ */ jsx3(LoadingComponent, {});
462
+ }
463
+
464
+ // src/provider/authProvider/shared.ts
465
+ var defaultKeycloakInitOptions = {
466
+ checkLoginIframe: true,
467
+ checkLoginIframeInterval: 5,
468
+ enableLogging: false,
469
+ onLoad: "check-sso",
470
+ pkceMethod: "S256"
471
+ };
472
+
473
+ // src/provider/authProvider/index.tsx
474
+ import { Fragment as Fragment3, jsx as jsx4 } from "react/jsx-runtime";
475
+ function AuthProvider({
476
+ children,
477
+ disabled,
478
+ keycloakConfig,
479
+ keycloakInitOptions,
480
+ loadingComponent
481
+ }) {
482
+ const { debug, messageHandlerKeys, iframeSso } = useAuthConfig();
483
+ const query = new URLSearchParams(isWindowDefined ? window?.location?.search || "" : "");
484
+ const authStore2 = useAuthStore();
485
+ const [keycloak, setKeycloak] = useState();
486
+ const idTokenQuery = query.get("idToken");
487
+ const refreshTokenQuery = query.get("refreshToken");
488
+ const tokenQuery = query.get("token");
489
+ const [listeningRefreshToken, setListeningRefreshToken] = useState(false);
490
+ const [listeningToken, setListeningToken] = useState(false);
491
+ const [listeningIdToken, setListeningIdToken] = useState(false);
492
+ const [loadedMessagePosted, setLoadedMessagePosted] = useState(false);
493
+ const initialRefreshTokenQuery = useMemo(
494
+ () => validOrRefreshableToken(
495
+ !iframeSso && isIframe4 || typeof refreshTokenQuery === "string" ? refreshTokenQuery || true : void 0
496
+ ),
497
+ [refreshTokenQuery, iframeSso]
498
+ );
499
+ const initialIdTokenQuery = useMemo(
500
+ () => validOrRefreshableToken(
501
+ !iframeSso && isIframe4 || typeof idTokenQuery === "string" ? idTokenQuery || true : void 0,
502
+ initialRefreshTokenQuery
503
+ ),
504
+ [idTokenQuery, initialRefreshTokenQuery, iframeSso]
505
+ );
506
+ const initialTokenQuery = useMemo(
507
+ () => validOrRefreshableToken(
508
+ isIframe4 ? typeof tokenQuery === "string" ? tokenQuery || true : void 0 : void 0,
509
+ initialRefreshTokenQuery
510
+ ),
511
+ [tokenQuery, initialRefreshTokenQuery, iframeSso]
512
+ );
513
+ const [tokens, setTokens] = useState({
514
+ refreshToken: initialRefreshTokenQuery,
515
+ token: initialTokenQuery,
516
+ idToken: initialIdTokenQuery
517
+ });
518
+ const authSource = useMemo(() => {
519
+ if (!iframeSso && isIframe4) {
520
+ if (initialTokenQuery) return "query" /* Query */;
521
+ return "store" /* Store */;
522
+ }
523
+ return "session" /* Session */;
524
+ }, [initialTokenQuery, iframeSso]);
525
+ const authStrategy = useMemo(() => {
526
+ if (authSource === "session" /* Session */) return "better-auth" /* BetterAuth */;
527
+ if (authSource === "query" /* Query */) {
528
+ return "keycloak-client-implicit" /* KeycloakClientImplicit */;
529
+ }
530
+ if (!persist) return "keycloak-client-standard" /* KeycloakClientStandard */;
531
+ if (authStore2.token && typeof tokens.token === "string" && tokens.token) {
532
+ return "keycloak-client-implicit" /* KeycloakClientImplicit */;
533
+ }
534
+ return "keycloak-client-standard" /* KeycloakClientStandard */;
535
+ }, [authSource, authStore2.token, tokens.token]);
536
+ const isLoading = useMemo(() => {
537
+ if (!authStrategy) return true;
538
+ if (authStrategy === "keycloak-client-implicit" /* KeycloakClientImplicit */) {
539
+ if (authSource === "query" /* Query */ && (initialRefreshTokenQuery === true || initialTokenQuery === true || initialIdTokenQuery === true)) {
540
+ return true;
541
+ }
542
+ }
543
+ return false;
544
+ }, [
545
+ authSource,
546
+ authStore2.idToken,
547
+ authStore2.refreshToken,
548
+ authStore2.token,
549
+ authStrategy,
550
+ initialIdTokenQuery,
551
+ initialRefreshTokenQuery,
552
+ initialTokenQuery
553
+ ]);
554
+ useEffect3(() => {
555
+ if (!persist || tokens.idToken || tokens.refreshToken || tokens.token) {
556
+ return;
557
+ }
558
+ const refreshToken = validOrRefreshableToken(authStore2.refreshToken);
559
+ const idToken = validOrRefreshableToken(authStore2.idToken, refreshToken);
560
+ const token = validOrRefreshableToken(authStore2.token, refreshToken);
561
+ if (!idToken && !refreshToken && !token) return;
562
+ setTokens({
563
+ idToken,
564
+ refreshToken,
565
+ token
566
+ });
567
+ }, [authStore2, persist]);
568
+ useEffect3(() => {
569
+ if (disabled || authSource !== "query" /* Query */ || tokens.token === true || tokens.refreshToken === true || tokens.idToken === true || loadedMessagePosted) {
570
+ return;
571
+ }
572
+ if (debug) logger2.debug("post message", JSON.stringify({ type: "LOADED" }));
573
+ (messageHandlerKeys || []).forEach((key) => {
574
+ window?.webkit?.messageHandlers?.[key]?.postMessage(JSON.stringify({ type: "LOADED" }));
575
+ });
576
+ window?.ReactNativeWebView?.postMessage(JSON.stringify({ type: "LOADED" }));
577
+ window?.parent?.postMessage(JSON.stringify({ type: "LOADED" }));
578
+ setLoadedMessagePosted(true);
579
+ }, [disabled, authSource, tokens.token, tokens.refreshToken, tokens.idToken]);
580
+ useEffect3(() => {
581
+ if (disabled || tokens.refreshToken !== true || listeningRefreshToken) {
582
+ return;
583
+ }
584
+ setListeningRefreshToken(true);
585
+ function messageCallback(e) {
586
+ let data = e?.data || null;
587
+ if (typeof data === "string") {
588
+ try {
589
+ data = JSON.parse(data);
590
+ } catch {
591
+ }
592
+ }
593
+ if (debug) logger2.debug("received message", JSON.stringify(data));
594
+ const message = data;
595
+ if (!message.type) return;
596
+ if (message.type.toUpperCase() === "REFRESH_TOKEN" && message.payload) {
597
+ if (debug) logger2.debug("setting refresh token", message.payload);
598
+ setTokens((tokens2) => ({
599
+ ...tokens2,
600
+ refreshToken: validOrRefreshableToken(message.payload)
601
+ }));
602
+ window.removeEventListener("message", messageCallback);
603
+ setListeningRefreshToken(false);
604
+ }
605
+ }
606
+ if (debug) {
607
+ logger2.debug(
608
+ "listening for message",
609
+ JSON.stringify({
610
+ type: "REFRESH_TOKEN",
611
+ payload: "<some_refresh_token>"
612
+ })
613
+ );
614
+ }
615
+ window.addEventListener("message", messageCallback);
616
+ return () => {
617
+ window.removeEventListener("message", messageCallback);
618
+ };
619
+ }, [disabled, tokens.refreshToken, listeningRefreshToken]);
620
+ useEffect3(() => {
621
+ if (disabled || tokens.token !== true || listeningToken) return;
622
+ setListeningToken(true);
623
+ function messageCallback(e) {
624
+ let data = e?.data || null;
625
+ if (typeof data === "string") {
626
+ try {
627
+ data = JSON.parse(data);
628
+ } catch {
629
+ }
630
+ }
631
+ if (debug) logger2.debug("received message", JSON.stringify(data));
632
+ const message = data;
633
+ if (!message.type) return;
634
+ if (message.type.toUpperCase() === "TOKEN" && message.payload) {
635
+ if (debug) logger2.debug("setting token", message.payload);
636
+ setTokens((tokens2) => ({
637
+ ...tokens2,
638
+ token: validOrRefreshableToken(message.payload, tokens2.refreshToken)
639
+ }));
640
+ window.removeEventListener("message", messageCallback);
641
+ setListeningToken(false);
642
+ }
643
+ }
644
+ if (debug) {
645
+ logger2.debug(
646
+ "listening for message",
647
+ JSON.stringify({
648
+ type: "TOKEN",
649
+ payload: "<some_token>"
650
+ })
651
+ );
652
+ }
653
+ window.addEventListener("message", messageCallback);
654
+ return () => {
655
+ window.removeEventListener("message", messageCallback);
656
+ };
657
+ }, [disabled, tokens.token, listeningToken]);
658
+ useEffect3(() => {
659
+ if (disabled || tokens.idToken !== true || listeningIdToken) return;
660
+ setListeningIdToken(true);
661
+ function messageCallback(e) {
662
+ let data = e?.data || null;
663
+ if (typeof data === "string") {
664
+ try {
665
+ data = JSON.parse(data);
666
+ } catch {
667
+ }
668
+ }
669
+ if (debug) logger2.debug("received message", JSON.stringify(data));
670
+ const message = data;
671
+ if (!message.type) return;
672
+ if (message.type.toUpperCase() === "ID_TOKEN" && message.payload) {
673
+ if (debug) logger2.debug("setting id token", message.payload);
674
+ setTokens((tokens2) => ({
675
+ ...tokens2,
676
+ idToken: validOrRefreshableToken(message.payload, tokens2.refreshToken)
677
+ }));
678
+ window.removeEventListener("message", messageCallback);
679
+ setListeningIdToken(false);
680
+ }
681
+ }
682
+ if (debug) {
683
+ logger2.debug(
684
+ "listening for message",
685
+ JSON.stringify({
686
+ type: "ID_TOKEN",
687
+ payload: "<some_id_token>"
688
+ })
689
+ );
690
+ }
691
+ window.addEventListener("message", messageCallback);
692
+ return () => {
693
+ window.removeEventListener("message", messageCallback);
694
+ };
695
+ }, [disabled, tokens.idToken, listeningIdToken]);
696
+ const keycloakClient = useMemo(
697
+ () => !disabled && !isLoading && (authStrategy === "keycloak-client-standard" /* KeycloakClientStandard */ || authStrategy === "keycloak-client-implicit" /* KeycloakClientImplicit */) && keycloakConfig ? new KeycloakClient({
698
+ clientId: keycloakConfig.publicClientId || keycloakConfig.clientId,
699
+ realm: keycloakConfig.realm,
700
+ url: keycloakConfig.url
701
+ }) : void 0,
702
+ [
703
+ authStrategy,
704
+ disabled,
705
+ isLoading,
706
+ keycloakConfig,
707
+ keycloakInitOptions,
708
+ tokens.idToken,
709
+ tokens.refreshToken,
710
+ tokens.token
711
+ ]
712
+ );
713
+ const initOptions = useMemo(() => {
714
+ if (!keycloakClient) return;
715
+ const initOptions2 = {
716
+ ...defaultKeycloakInitOptions,
717
+ ...keycloakInitOptions,
718
+ scope: [
719
+ .../* @__PURE__ */ new Set([
720
+ "email",
721
+ "openid",
722
+ "profile",
723
+ ...defaultKeycloakInitOptions.scope?.split(" ") || [],
724
+ ...keycloakInitOptions?.scope?.split(" ") || [],
725
+ ...keycloakConfig.scopes || []
726
+ ])
727
+ ].join(" ")
728
+ };
729
+ if (debug) initOptions2.enableLogging = true;
730
+ if (tokens.token && typeof tokens.token === "string") {
731
+ initOptions2.token = tokens.token;
732
+ initOptions2.timeSkew = 0;
733
+ if (tokens.idToken && typeof tokens.idToken === "string") {
734
+ initOptions2.idToken = tokens.idToken;
735
+ }
736
+ if (tokens.refreshToken && typeof tokens.refreshToken === "string") {
737
+ initOptions2.refreshToken = tokens.refreshToken;
738
+ }
739
+ }
740
+ if (!iframeSso && isIframe4 || tokens.token && !tokens.refreshToken) {
741
+ initOptions2.checkLoginIframe = false;
742
+ initOptions2.flow = "implicit";
743
+ initOptions2.onLoad = void 0;
744
+ }
745
+ return initOptions2;
746
+ }, [
747
+ keycloakClient,
748
+ keycloakInitOptions,
749
+ keycloakConfig.scopes,
750
+ debug,
751
+ tokens.token,
752
+ tokens.idToken,
753
+ tokens.refreshToken,
754
+ iframeSso
755
+ ]);
756
+ useEffect3(() => {
757
+ if (!keycloakClient || !initOptions || authStrategy === "keycloak-client-implicit" /* KeycloakClientImplicit */ && (typeof tokens.token !== "string" || !tokens.token)) {
758
+ return;
759
+ }
760
+ function onError() {
761
+ if (keycloakClient && initOptions) {
762
+ setKeycloak(new Keycloak(keycloakConfig, keycloakClient));
763
+ }
764
+ }
765
+ function onUpdate() {
766
+ if (keycloakClient && initOptions) {
767
+ setKeycloak(new Keycloak(keycloakConfig, keycloakClient));
768
+ }
769
+ }
770
+ (async () => {
771
+ keycloakClient.onAuthError = onError;
772
+ keycloakClient.onAuthLogout = onUpdate;
773
+ keycloakClient.onAuthRefreshError = onError;
774
+ keycloakClient.onAuthRefreshSuccess = onUpdate;
775
+ keycloakClient.onAuthSuccess = onUpdate;
776
+ keycloakClient.onReady = onUpdate;
777
+ keycloakClient.onTokenExpired = async () => {
778
+ try {
779
+ await keycloakClient.updateToken(5);
780
+ } catch (err) {
781
+ logger2.warn(err);
782
+ setKeycloak(new Keycloak(keycloakConfig, keycloakClient));
783
+ }
784
+ };
785
+ await keycloakClient.init(initOptions);
786
+ setKeycloak(new Keycloak(keycloakConfig, keycloakClient));
787
+ })();
788
+ }, [keycloakClient, initOptions, authStrategy, tokens.token]);
789
+ const render = useCallback(
790
+ () => /* @__PURE__ */ jsx4(KeycloakConfigContext.Provider, { value: keycloakConfig, children: /* @__PURE__ */ jsx4(KeycloakContext.Provider, { value: keycloak, children: /* @__PURE__ */ jsx4(AfterAuth, { loadingComponent, children }) }) }),
791
+ [children, keycloak, keycloakConfig]
792
+ );
793
+ if (disabled) return /* @__PURE__ */ jsx4(Fragment3, { children });
794
+ if (authStrategy === "better-auth" /* BetterAuth */) {
795
+ return render();
796
+ }
797
+ if (isLoading) return /* @__PURE__ */ jsx4(Loading, { loadingComponent });
798
+ return render();
799
+ }
800
+
801
+ // src/provider/KeycloakProvider.tsx
802
+ import { useMemo as useMemo2 } from "react";
803
+ import { jsx as jsx5 } from "react/jsx-runtime";
804
+ function KeycloakProvider({
805
+ baseUrl,
806
+ children,
807
+ clientId,
808
+ loginRedirectUri,
809
+ debug,
810
+ disabled,
811
+ iframeSso,
812
+ publicClientId,
813
+ realm
814
+ }) {
815
+ const authConfig = useMemo2(
816
+ () => ({ debug, disabled, iframeSso, loginRedirectUri }),
817
+ [debug, disabled, iframeSso, loginRedirectUri]
818
+ );
819
+ return /* @__PURE__ */ jsx5(AuthConfigContext.Provider, { value: authConfig, children: /* @__PURE__ */ jsx5(
820
+ AuthProvider,
821
+ {
822
+ disabled,
823
+ keycloakConfig: {
824
+ clientId: clientId || "app",
825
+ publicClientId,
826
+ realm: realm || "main",
827
+ url: baseUrl ?? ""
828
+ },
829
+ children
830
+ }
831
+ ) });
832
+ }
833
+ export {
834
+ AfterAuth,
835
+ AuthConfigContext,
836
+ AuthProvider,
837
+ Authenticated,
838
+ BaseKeycloak,
839
+ Keycloak,
840
+ KeycloakConfigContext,
841
+ KeycloakProvider,
842
+ defaultAuthConfig,
843
+ getAllWalletAddresses,
844
+ getWalletAddresses,
845
+ getWalletsFromToken,
846
+ hasWallets,
847
+ isTokenExpired,
848
+ useAuthConfig,
849
+ useKeycloak,
850
+ useSession,
851
+ useTokensFromQuery,
852
+ useTokensFromStore,
853
+ validOrRefreshableToken,
854
+ withAuthenticated
855
+ };