@multiplatform.one/keycloak 2.0.10 → 2.0.12

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 (429) hide show
  1. package/dist/cjs/Authenticated.cjs +1 -1
  2. package/dist/cjs/Authenticated.js +54 -0
  3. package/dist/cjs/Authenticated.js.map +6 -0
  4. package/dist/cjs/Authenticated.native.js +2 -2
  5. package/dist/cjs/Authenticated.native.js.map +3 -3
  6. package/dist/cjs/Loading.js +25 -0
  7. package/dist/cjs/Loading.native.js.map +1 -1
  8. package/dist/cjs/authConfig.js +23 -0
  9. package/dist/cjs/authConfig.native.js.map +1 -1
  10. package/dist/cjs/hooks/index.js +17 -0
  11. package/dist/cjs/hooks/{index.cjs.map → index.js.map} +1 -1
  12. package/dist/cjs/hooks/index.native.js +2 -2
  13. package/dist/cjs/hooks/index.native.js.map +2 -2
  14. package/dist/cjs/hooks/useAuthConfig.js +24 -0
  15. package/dist/cjs/hooks/useAuthConfig.native.js.map +1 -1
  16. package/dist/cjs/hooks/useTokensFromQuery/index.cjs +8 -2
  17. package/dist/cjs/hooks/useTokensFromQuery/index.js +29 -0
  18. package/dist/cjs/hooks/useTokensFromQuery/index.js.map +6 -0
  19. package/dist/cjs/hooks/useTokensFromQuery/index.native.js.map +1 -1
  20. package/dist/cjs/hooks/useTokensFromState.js +26 -0
  21. package/dist/cjs/hooks/useTokensFromState.native.js.map +1 -1
  22. package/dist/cjs/index.cjs +9 -9
  23. package/dist/cjs/index.js +21 -0
  24. package/dist/cjs/index.js.map +6 -0
  25. package/dist/cjs/index.native.js +11 -11
  26. package/dist/cjs/index.native.js.map +2 -2
  27. package/dist/cjs/keycloak/base.cjs +90 -0
  28. package/dist/cjs/keycloak/base.js +90 -0
  29. package/dist/cjs/keycloak/base.js.map +6 -0
  30. package/dist/cjs/keycloak/base.native.js +135 -0
  31. package/dist/cjs/keycloak/base.native.js.map +6 -0
  32. package/dist/cjs/{session/session.native.js → keycloak/config.js} +10 -17
  33. package/dist/cjs/keycloak/config.native.js.map +1 -1
  34. package/dist/cjs/keycloak/context.js +22 -0
  35. package/dist/cjs/keycloak/context.native.js.map +1 -1
  36. package/dist/cjs/keycloak/index.cjs +114 -2
  37. package/dist/cjs/{hooks/useTokensFromQuery/index.native.cjs → keycloak/index.electron.cjs} +10 -6
  38. package/dist/cjs/keycloak/index.electron.js +25 -0
  39. package/dist/cjs/keycloak/index.electron.js.map +6 -0
  40. package/dist/cjs/keycloak/index.electron.native.js +88 -0
  41. package/dist/cjs/keycloak/index.electron.native.js.map +6 -0
  42. package/dist/cjs/keycloak/index.js +100 -0
  43. package/dist/cjs/keycloak/index.js.map +6 -0
  44. package/dist/cjs/keycloak/index.native.js +86 -8
  45. package/dist/cjs/keycloak/index.native.js.map +3 -3
  46. package/dist/cjs/one.cjs +0 -1
  47. package/dist/cjs/one.js +119 -0
  48. package/dist/cjs/one.js.map +6 -0
  49. package/dist/cjs/one.native.js +0 -1
  50. package/dist/cjs/one.native.js.map +3 -3
  51. package/dist/cjs/provider/AfterAuth.cjs +13 -11
  52. package/dist/cjs/provider/AfterAuth.js +44 -0
  53. package/dist/cjs/provider/AfterAuth.js.map +6 -0
  54. package/dist/cjs/provider/AfterAuth.native.js +16 -5
  55. package/dist/cjs/provider/AfterAuth.native.js.map +3 -3
  56. package/dist/cjs/provider/AuthProvider/index.cjs +213 -8
  57. package/dist/cjs/provider/AuthProvider/index.electron.cjs +223 -0
  58. package/dist/cjs/provider/AuthProvider/index.electron.js +243 -0
  59. package/dist/cjs/provider/AuthProvider/index.electron.js.map +6 -0
  60. package/dist/cjs/provider/AuthProvider/index.electron.native.js +300 -0
  61. package/dist/cjs/provider/AuthProvider/index.electron.native.js.map +6 -0
  62. package/dist/cjs/provider/AuthProvider/index.js +240 -0
  63. package/dist/cjs/provider/AuthProvider/index.js.map +6 -0
  64. package/dist/cjs/provider/AuthProvider/index.native.js +184 -7
  65. package/dist/cjs/provider/AuthProvider/index.native.js.map +3 -3
  66. package/dist/cjs/provider/AuthProvider/shared.cjs +36 -0
  67. package/dist/cjs/provider/AuthProvider/shared.js +30 -0
  68. package/dist/cjs/provider/AuthProvider/shared.js.map +6 -0
  69. package/dist/cjs/provider/AuthProvider/shared.native.js +40 -0
  70. package/dist/cjs/provider/AuthProvider/shared.native.js.map +6 -0
  71. package/dist/cjs/provider/KeycloakProvider.cjs +5 -4
  72. package/dist/cjs/provider/KeycloakProvider.js +50 -0
  73. package/dist/cjs/provider/KeycloakProvider.js.map +6 -0
  74. package/dist/cjs/provider/KeycloakProvider.native.js +5 -4
  75. package/dist/cjs/provider/KeycloakProvider.native.js.map +3 -3
  76. package/dist/cjs/provider/index.js +17 -0
  77. package/dist/cjs/provider/index.native.js.map +1 -1
  78. package/dist/cjs/session/index.cjs +22 -4
  79. package/dist/cjs/session/index.js +30 -0
  80. package/dist/cjs/session/index.js.map +6 -0
  81. package/dist/cjs/session/index.native.js +20 -7
  82. package/dist/cjs/session/index.native.js.map +3 -3
  83. package/dist/cjs/state.cjs +1 -1
  84. package/dist/cjs/state.js +31 -0
  85. package/dist/cjs/state.js.map +6 -0
  86. package/dist/cjs/state.native.js +1 -1
  87. package/dist/cjs/state.native.js.map +3 -3
  88. package/dist/cjs/token.js +30 -0
  89. package/dist/cjs/token.native.js.map +1 -1
  90. package/dist/cjs/types.js +14 -0
  91. package/dist/cjs/types.native.js.map +1 -1
  92. package/dist/esm/Authenticated.js +3 -3
  93. package/dist/esm/Authenticated.js.map +1 -1
  94. package/dist/esm/Authenticated.mjs +3 -3
  95. package/dist/esm/Authenticated.mjs.map +1 -1
  96. package/dist/esm/Authenticated.native.js +3 -3
  97. package/dist/esm/Authenticated.native.js.map +3 -3
  98. package/dist/esm/Loading.native.js.map +1 -1
  99. package/dist/esm/authConfig.native.js.map +1 -1
  100. package/dist/esm/hooks/index.js +1 -1
  101. package/dist/esm/hooks/index.mjs +1 -1
  102. package/dist/esm/hooks/index.native.js +1 -1
  103. package/dist/esm/hooks/index.native.js.map +1 -1
  104. package/dist/esm/hooks/useAuthConfig.native.js.map +1 -1
  105. package/dist/esm/hooks/useTokensFromQuery/index.js +7 -3
  106. package/dist/esm/hooks/useTokensFromQuery/index.js.map +1 -1
  107. package/dist/esm/hooks/useTokensFromQuery/index.mjs +8 -2
  108. package/dist/esm/hooks/useTokensFromQuery/index.mjs.map +1 -1
  109. package/dist/esm/hooks/useTokensFromQuery/index.native.js.map +1 -1
  110. package/dist/esm/hooks/useTokensFromState.native.js.map +1 -1
  111. package/dist/esm/index.js +2 -2
  112. package/dist/esm/index.mjs +2 -2
  113. package/dist/esm/index.native.js +2 -2
  114. package/dist/esm/index.native.js.map +1 -1
  115. package/dist/esm/keycloak/base.js +77 -0
  116. package/dist/esm/keycloak/base.js.map +6 -0
  117. package/dist/esm/keycloak/base.mjs +66 -0
  118. package/dist/esm/keycloak/base.mjs.map +1 -0
  119. package/dist/esm/keycloak/base.native.js +116 -0
  120. package/dist/esm/keycloak/base.native.js.map +6 -0
  121. package/dist/esm/keycloak/config.native.js.map +1 -1
  122. package/dist/esm/keycloak/context.native.js.map +1 -1
  123. package/dist/esm/keycloak/index.electron.js +9 -0
  124. package/dist/esm/keycloak/index.electron.js.map +6 -0
  125. package/dist/esm/keycloak/index.electron.mjs +6 -0
  126. package/dist/esm/keycloak/index.electron.mjs.map +1 -0
  127. package/dist/esm/keycloak/index.electron.native.js +65 -0
  128. package/dist/esm/keycloak/index.electron.native.js.map +6 -0
  129. package/dist/esm/keycloak/index.js +96 -1
  130. package/dist/esm/keycloak/index.js.map +1 -1
  131. package/dist/esm/keycloak/index.mjs +103 -1
  132. package/dist/esm/keycloak/index.mjs.map +1 -1
  133. package/dist/esm/keycloak/index.native.js +80 -2
  134. package/dist/esm/keycloak/index.native.js.map +3 -3
  135. package/dist/esm/one.js +0 -1
  136. package/dist/esm/one.js.map +1 -1
  137. package/dist/esm/one.mjs +0 -1
  138. package/dist/esm/one.mjs.map +1 -1
  139. package/dist/esm/one.native.js +0 -1
  140. package/dist/esm/one.native.js.map +3 -3
  141. package/dist/esm/provider/AfterAuth.js +10 -6
  142. package/dist/esm/provider/AfterAuth.js.map +1 -1
  143. package/dist/esm/provider/AfterAuth.mjs +9 -7
  144. package/dist/esm/provider/AfterAuth.mjs.map +1 -1
  145. package/dist/esm/provider/AfterAuth.native.js +13 -2
  146. package/dist/esm/provider/AfterAuth.native.js.map +3 -3
  147. package/dist/esm/provider/AuthProvider/index.electron.js +230 -0
  148. package/dist/esm/provider/AuthProvider/index.electron.js.map +6 -0
  149. package/dist/esm/provider/AuthProvider/index.electron.mjs +189 -0
  150. package/dist/esm/provider/AuthProvider/index.electron.mjs.map +1 -0
  151. package/dist/esm/provider/AuthProvider/index.electron.native.js +282 -0
  152. package/dist/esm/provider/AuthProvider/index.electron.native.js.map +6 -0
  153. package/dist/esm/provider/AuthProvider/index.js +227 -1
  154. package/dist/esm/provider/AuthProvider/index.js.map +3 -3
  155. package/dist/esm/provider/AuthProvider/index.mjs +188 -1
  156. package/dist/esm/provider/AuthProvider/index.mjs.map +1 -1
  157. package/dist/esm/provider/AuthProvider/index.native.js +185 -2
  158. package/dist/esm/provider/AuthProvider/index.native.js.map +3 -3
  159. package/dist/esm/provider/AuthProvider/shared.js +14 -0
  160. package/dist/esm/provider/AuthProvider/shared.js.map +6 -0
  161. package/dist/esm/provider/AuthProvider/shared.mjs +11 -0
  162. package/dist/esm/provider/AuthProvider/shared.mjs.map +1 -0
  163. package/dist/esm/provider/AuthProvider/shared.native.js +17 -0
  164. package/dist/esm/provider/AuthProvider/shared.native.js.map +6 -0
  165. package/dist/esm/provider/KeycloakProvider.js +6 -4
  166. package/dist/esm/provider/KeycloakProvider.js.map +1 -1
  167. package/dist/esm/provider/KeycloakProvider.mjs +6 -5
  168. package/dist/esm/provider/KeycloakProvider.mjs.map +1 -1
  169. package/dist/esm/provider/KeycloakProvider.native.js +6 -5
  170. package/dist/esm/provider/KeycloakProvider.native.js.map +3 -3
  171. package/dist/esm/provider/index.native.js.map +1 -1
  172. package/dist/esm/session/index.js +14 -1
  173. package/dist/esm/session/index.js.map +1 -1
  174. package/dist/esm/session/index.mjs +12 -1
  175. package/dist/esm/session/index.mjs.map +1 -1
  176. package/dist/esm/session/index.native.js +11 -2
  177. package/dist/esm/session/index.native.js.map +3 -3
  178. package/dist/esm/state.js +2 -2
  179. package/dist/esm/state.js.map +1 -1
  180. package/dist/esm/state.mjs +2 -2
  181. package/dist/esm/state.mjs.map +1 -1
  182. package/dist/esm/state.native.js +2 -2
  183. package/dist/esm/state.native.js.map +3 -3
  184. package/dist/esm/token.native.js.map +1 -1
  185. package/dist/jsx/Authenticated.js +3 -3
  186. package/dist/jsx/Authenticated.js.map +1 -1
  187. package/dist/jsx/Authenticated.mjs +3 -3
  188. package/dist/jsx/Authenticated.mjs.map +1 -1
  189. package/dist/jsx/Authenticated.native.js +3 -3
  190. package/dist/jsx/Authenticated.native.js.map +3 -3
  191. package/dist/jsx/Loading.native.js.map +1 -1
  192. package/dist/jsx/authConfig.native.js.map +1 -1
  193. package/dist/jsx/hooks/index.js +1 -1
  194. package/dist/jsx/hooks/index.mjs +1 -1
  195. package/dist/jsx/hooks/index.native.js +1 -1
  196. package/dist/jsx/hooks/index.native.js.map +1 -1
  197. package/dist/jsx/hooks/useAuthConfig.native.js.map +1 -1
  198. package/dist/jsx/hooks/useTokensFromQuery/index.js +7 -3
  199. package/dist/jsx/hooks/useTokensFromQuery/index.js.map +1 -1
  200. package/dist/jsx/hooks/useTokensFromQuery/index.mjs +8 -2
  201. package/dist/jsx/hooks/useTokensFromQuery/index.mjs.map +1 -1
  202. package/dist/jsx/hooks/useTokensFromQuery/index.native.js.map +1 -1
  203. package/dist/jsx/hooks/useTokensFromState.native.js.map +1 -1
  204. package/dist/jsx/index.js +2 -2
  205. package/dist/jsx/index.mjs +2 -2
  206. package/dist/jsx/index.native.js +2 -2
  207. package/dist/jsx/index.native.js.map +1 -1
  208. package/dist/jsx/keycloak/base.js +77 -0
  209. package/dist/jsx/keycloak/base.js.map +6 -0
  210. package/dist/jsx/keycloak/base.mjs +66 -0
  211. package/dist/jsx/keycloak/base.mjs.map +1 -0
  212. package/dist/jsx/keycloak/base.native.js +116 -0
  213. package/dist/jsx/keycloak/base.native.js.map +6 -0
  214. package/dist/jsx/keycloak/config.native.js.map +1 -1
  215. package/dist/jsx/keycloak/context.native.js.map +1 -1
  216. package/dist/jsx/keycloak/index.electron.js +9 -0
  217. package/dist/jsx/keycloak/index.electron.js.map +6 -0
  218. package/dist/jsx/keycloak/index.electron.mjs +6 -0
  219. package/dist/jsx/keycloak/index.electron.mjs.map +1 -0
  220. package/dist/jsx/keycloak/index.electron.native.js +65 -0
  221. package/dist/jsx/keycloak/index.electron.native.js.map +6 -0
  222. package/dist/jsx/keycloak/index.js +96 -1
  223. package/dist/jsx/keycloak/index.js.map +1 -1
  224. package/dist/jsx/keycloak/index.mjs +103 -1
  225. package/dist/jsx/keycloak/index.mjs.map +1 -1
  226. package/dist/jsx/keycloak/index.native.js +80 -2
  227. package/dist/jsx/keycloak/index.native.js.map +3 -3
  228. package/dist/jsx/one.js +0 -1
  229. package/dist/jsx/one.js.map +1 -1
  230. package/dist/jsx/one.mjs +0 -1
  231. package/dist/jsx/one.mjs.map +1 -1
  232. package/dist/jsx/one.native.js +0 -1
  233. package/dist/jsx/one.native.js.map +3 -3
  234. package/dist/jsx/provider/AfterAuth.js +10 -6
  235. package/dist/jsx/provider/AfterAuth.js.map +1 -1
  236. package/dist/jsx/provider/AfterAuth.mjs +9 -7
  237. package/dist/jsx/provider/AfterAuth.mjs.map +1 -1
  238. package/dist/jsx/provider/AfterAuth.native.js +13 -2
  239. package/dist/jsx/provider/AfterAuth.native.js.map +3 -3
  240. package/dist/jsx/provider/AuthProvider/index.electron.js +230 -0
  241. package/dist/jsx/provider/AuthProvider/index.electron.js.map +6 -0
  242. package/dist/jsx/provider/AuthProvider/index.electron.mjs +189 -0
  243. package/dist/jsx/provider/AuthProvider/index.electron.mjs.map +1 -0
  244. package/dist/jsx/provider/AuthProvider/index.electron.native.js +282 -0
  245. package/dist/jsx/provider/AuthProvider/index.electron.native.js.map +6 -0
  246. package/dist/jsx/provider/AuthProvider/index.js +227 -1
  247. package/dist/jsx/provider/AuthProvider/index.js.map +3 -3
  248. package/dist/jsx/provider/AuthProvider/index.mjs +188 -1
  249. package/dist/jsx/provider/AuthProvider/index.mjs.map +1 -1
  250. package/dist/jsx/provider/AuthProvider/index.native.js +185 -2
  251. package/dist/jsx/provider/AuthProvider/index.native.js.map +3 -3
  252. package/dist/jsx/provider/AuthProvider/shared.js +14 -0
  253. package/dist/jsx/provider/AuthProvider/shared.js.map +6 -0
  254. package/dist/jsx/provider/AuthProvider/shared.mjs +11 -0
  255. package/dist/jsx/provider/AuthProvider/shared.mjs.map +1 -0
  256. package/dist/jsx/provider/AuthProvider/shared.native.js +17 -0
  257. package/dist/jsx/provider/AuthProvider/shared.native.js.map +6 -0
  258. package/dist/jsx/provider/KeycloakProvider.js +6 -4
  259. package/dist/jsx/provider/KeycloakProvider.js.map +1 -1
  260. package/dist/jsx/provider/KeycloakProvider.mjs +6 -5
  261. package/dist/jsx/provider/KeycloakProvider.mjs.map +1 -1
  262. package/dist/jsx/provider/KeycloakProvider.native.js +6 -5
  263. package/dist/jsx/provider/KeycloakProvider.native.js.map +3 -3
  264. package/dist/jsx/provider/index.native.js.map +1 -1
  265. package/dist/jsx/session/index.js +14 -1
  266. package/dist/jsx/session/index.js.map +1 -1
  267. package/dist/jsx/session/index.mjs +12 -1
  268. package/dist/jsx/session/index.mjs.map +1 -1
  269. package/dist/jsx/session/index.native.js +11 -2
  270. package/dist/jsx/session/index.native.js.map +3 -3
  271. package/dist/jsx/state.js +2 -2
  272. package/dist/jsx/state.js.map +1 -1
  273. package/dist/jsx/state.mjs +2 -2
  274. package/dist/jsx/state.mjs.map +1 -1
  275. package/dist/jsx/state.native.js +2 -2
  276. package/dist/jsx/state.native.js.map +3 -3
  277. package/dist/jsx/token.native.js.map +1 -1
  278. package/package.json +23 -16
  279. package/src/Authenticated.tsx +6 -7
  280. package/src/authConfig.ts +1 -0
  281. package/src/hooks/index.ts +3 -3
  282. package/src/hooks/useTokensFromQuery/index.ts +8 -6
  283. package/src/index.ts +4 -4
  284. package/src/keycloak/base.ts +213 -0
  285. package/src/keycloak/context.ts +1 -1
  286. package/src/{provider/AuthProvider/index.ts → keycloak/index.electron.ts} +9 -4
  287. package/src/keycloak/index.native.ts +46 -0
  288. package/src/keycloak/index.ts +149 -2
  289. package/src/one.ts +3 -6
  290. package/src/provider/AfterAuth.tsx +22 -11
  291. package/src/provider/AuthProvider/index.electron.tsx +410 -0
  292. package/src/provider/AuthProvider/{AuthProvider.native.tsx → index.native.tsx} +86 -31
  293. package/src/provider/AuthProvider/{AuthProvider.tsx → index.tsx} +181 -129
  294. package/src/provider/AuthProvider/shared.ts +65 -0
  295. package/src/provider/KeycloakProvider.tsx +14 -17
  296. package/src/provider/index.ts +2 -2
  297. package/src/session/{session.native.ts → index.native.ts} +2 -2
  298. package/src/session/index.ts +40 -2
  299. package/src/state.ts +3 -5
  300. package/dist/cjs/Authenticated.cjs.map +0 -6
  301. package/dist/cjs/hooks/useTokensFromQuery/index.cjs.map +0 -6
  302. package/dist/cjs/hooks/useTokensFromQuery/index.native.cjs.map +0 -6
  303. package/dist/cjs/index.cjs.map +0 -6
  304. package/dist/cjs/keycloak/index.cjs.map +0 -6
  305. package/dist/cjs/keycloak/keycloak.cjs +0 -187
  306. package/dist/cjs/keycloak/keycloak.cjs.map +0 -6
  307. package/dist/cjs/keycloak/keycloak.native.cjs +0 -109
  308. package/dist/cjs/keycloak/keycloak.native.cjs.map +0 -6
  309. package/dist/cjs/keycloak/keycloak.native.js +0 -186
  310. package/dist/cjs/keycloak/keycloak.native.js.map +0 -6
  311. package/dist/cjs/one.cjs.map +0 -6
  312. package/dist/cjs/provider/AfterAuth.cjs.map +0 -6
  313. package/dist/cjs/provider/AuthProvider/AuthProvider.cjs +0 -204
  314. package/dist/cjs/provider/AuthProvider/AuthProvider.cjs.map +0 -6
  315. package/dist/cjs/provider/AuthProvider/AuthProvider.native.cjs +0 -140
  316. package/dist/cjs/provider/AuthProvider/AuthProvider.native.cjs.map +0 -6
  317. package/dist/cjs/provider/AuthProvider/AuthProvider.native.js +0 -161
  318. package/dist/cjs/provider/AuthProvider/AuthProvider.native.js.map +0 -6
  319. package/dist/cjs/provider/AuthProvider/index.cjs.map +0 -6
  320. package/dist/cjs/provider/KeycloakProvider.cjs.map +0 -6
  321. package/dist/cjs/session/index.cjs.map +0 -6
  322. package/dist/cjs/session/session.cjs +0 -36
  323. package/dist/cjs/session/session.cjs.map +0 -6
  324. package/dist/cjs/session/session.native.cjs +0 -32
  325. package/dist/cjs/session/session.native.cjs.map +0 -6
  326. package/dist/cjs/session/session.native.js.map +0 -6
  327. package/dist/cjs/state.cjs.map +0 -6
  328. package/dist/esm/keycloak/keycloak.js +0 -159
  329. package/dist/esm/keycloak/keycloak.js.map +0 -6
  330. package/dist/esm/keycloak/keycloak.mjs +0 -162
  331. package/dist/esm/keycloak/keycloak.mjs.map +0 -1
  332. package/dist/esm/keycloak/keycloak.native.js +0 -168
  333. package/dist/esm/keycloak/keycloak.native.js.map +0 -6
  334. package/dist/esm/provider/AuthProvider/AuthProvider.js +0 -197
  335. package/dist/esm/provider/AuthProvider/AuthProvider.js.map +0 -6
  336. package/dist/esm/provider/AuthProvider/AuthProvider.mjs +0 -170
  337. package/dist/esm/provider/AuthProvider/AuthProvider.mjs.map +0 -1
  338. package/dist/esm/provider/AuthProvider/AuthProvider.native.js +0 -149
  339. package/dist/esm/provider/AuthProvider/AuthProvider.native.js.map +0 -6
  340. package/dist/esm/session/session.js +0 -15
  341. package/dist/esm/session/session.js.map +0 -6
  342. package/dist/esm/session/session.mjs +0 -13
  343. package/dist/esm/session/session.mjs.map +0 -1
  344. package/dist/esm/session/session.native.js +0 -11
  345. package/dist/esm/session/session.native.js.map +0 -6
  346. package/dist/jsx/keycloak/keycloak.js +0 -159
  347. package/dist/jsx/keycloak/keycloak.js.map +0 -6
  348. package/dist/jsx/keycloak/keycloak.mjs +0 -162
  349. package/dist/jsx/keycloak/keycloak.mjs.map +0 -1
  350. package/dist/jsx/keycloak/keycloak.native.js +0 -168
  351. package/dist/jsx/keycloak/keycloak.native.js.map +0 -6
  352. package/dist/jsx/provider/AuthProvider/AuthProvider.js +0 -197
  353. package/dist/jsx/provider/AuthProvider/AuthProvider.js.map +0 -6
  354. package/dist/jsx/provider/AuthProvider/AuthProvider.mjs +0 -170
  355. package/dist/jsx/provider/AuthProvider/AuthProvider.mjs.map +0 -1
  356. package/dist/jsx/provider/AuthProvider/AuthProvider.native.js +0 -149
  357. package/dist/jsx/provider/AuthProvider/AuthProvider.native.js.map +0 -6
  358. package/dist/jsx/session/session.js +0 -15
  359. package/dist/jsx/session/session.js.map +0 -6
  360. package/dist/jsx/session/session.mjs +0 -13
  361. package/dist/jsx/session/session.mjs.map +0 -1
  362. package/dist/jsx/session/session.native.js +0 -11
  363. package/dist/jsx/session/session.native.js.map +0 -6
  364. package/src/keycloak/keycloak.native.ts +0 -190
  365. package/src/keycloak/keycloak.ts +0 -290
  366. package/src/session/session.ts +0 -60
  367. package/types/Authenticated.d.ts +0 -29
  368. package/types/Authenticated.d.ts.map +0 -1
  369. package/types/Loading.d.ts +0 -26
  370. package/types/Loading.d.ts.map +0 -1
  371. package/types/authConfig.d.ts +0 -9
  372. package/types/authConfig.d.ts.map +0 -1
  373. package/types/hooks/index.d.ts +0 -4
  374. package/types/hooks/index.d.ts.map +0 -1
  375. package/types/hooks/useAuthConfig.d.ts +0 -2
  376. package/types/hooks/useAuthConfig.d.ts.map +0 -1
  377. package/types/hooks/useTokensFromQuery/index.d.ts +0 -2
  378. package/types/hooks/useTokensFromQuery/index.d.ts.map +0 -1
  379. package/types/hooks/useTokensFromQuery/index.native.d.ts +0 -2
  380. package/types/hooks/useTokensFromQuery/index.native.d.ts.map +0 -1
  381. package/types/hooks/useTokensFromState.d.ts +0 -2
  382. package/types/hooks/useTokensFromState.d.ts.map +0 -1
  383. package/types/index.d.ts +0 -8
  384. package/types/index.d.ts.map +0 -1
  385. package/types/keycloak/config.d.ts +0 -7
  386. package/types/keycloak/config.d.ts.map +0 -1
  387. package/types/keycloak/context.d.ts +0 -3
  388. package/types/keycloak/context.d.ts.map +0 -1
  389. package/types/keycloak/index.d.ts +0 -3
  390. package/types/keycloak/index.d.ts.map +0 -1
  391. package/types/keycloak/keycloak.d.ts +0 -64
  392. package/types/keycloak/keycloak.d.ts.map +0 -1
  393. package/types/keycloak/keycloak.native.d.ts +0 -36
  394. package/types/keycloak/keycloak.native.d.ts.map +0 -1
  395. package/types/one.d.ts +0 -27
  396. package/types/one.d.ts.map +0 -1
  397. package/types/provider/AfterAuth.d.ts +0 -26
  398. package/types/provider/AfterAuth.d.ts.map +0 -1
  399. package/types/provider/AuthProvider/AuthProvider.d.ts +0 -43
  400. package/types/provider/AuthProvider/AuthProvider.d.ts.map +0 -1
  401. package/types/provider/AuthProvider/AuthProvider.native.d.ts +0 -23
  402. package/types/provider/AuthProvider/AuthProvider.native.d.ts.map +0 -1
  403. package/types/provider/AuthProvider/index.d.ts +0 -2
  404. package/types/provider/AuthProvider/index.d.ts.map +0 -1
  405. package/types/provider/KeycloakProvider.d.ts +0 -30
  406. package/types/provider/KeycloakProvider.d.ts.map +0 -1
  407. package/types/provider/index.d.ts +0 -4
  408. package/types/provider/index.d.ts.map +0 -1
  409. package/types/session/index.d.ts +0 -2
  410. package/types/session/index.d.ts.map +0 -1
  411. package/types/session/session.d.ts +0 -14
  412. package/types/session/session.d.ts.map +0 -1
  413. package/types/session/session.native.d.ts +0 -5
  414. package/types/session/session.native.d.ts.map +0 -1
  415. package/types/state.d.ts +0 -9
  416. package/types/state.d.ts.map +0 -1
  417. package/types/token.d.ts +0 -16
  418. package/types/token.d.ts.map +0 -1
  419. package/types/types.d.ts +0 -19
  420. package/types/types.d.ts.map +0 -1
  421. /package/dist/cjs/{Loading.cjs.map → Loading.js.map} +0 -0
  422. /package/dist/cjs/{authConfig.cjs.map → authConfig.js.map} +0 -0
  423. /package/dist/cjs/hooks/{useAuthConfig.cjs.map → useAuthConfig.js.map} +0 -0
  424. /package/dist/cjs/hooks/{useTokensFromState.cjs.map → useTokensFromState.js.map} +0 -0
  425. /package/dist/cjs/keycloak/{config.cjs.map → config.js.map} +0 -0
  426. /package/dist/cjs/keycloak/{context.cjs.map → context.js.map} +0 -0
  427. /package/dist/cjs/provider/{index.cjs.map → index.js.map} +0 -0
  428. /package/dist/cjs/{token.cjs.map → token.js.map} +0 -0
  429. /package/dist/cjs/{types.cjs.map → types.js.map} +0 -0
@@ -1,18 +1,223 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
5
+ var __getProtoOf = Object.getPrototypeOf,
6
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
6
14
  if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
7
15
  get: () => from[key],
8
16
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
9
17
  });
10
18
  return to;
11
- },
12
- __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
14
- value: !0
15
- }), mod);
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
16
32
  var AuthProvider_exports = {};
33
+ __export(AuthProvider_exports, {
34
+ AuthProvider: () => AuthProvider
35
+ });
17
36
  module.exports = __toCommonJS(AuthProvider_exports);
18
- __reExport(AuthProvider_exports, require("./AuthProvider.cjs"), module.exports);
37
+ var import_keycloak_js = __toESM(require("keycloak-js")),
38
+ import_multiplatform = require("multiplatform.one"),
39
+ import_react = require("next-auth/react"),
40
+ import_react2 = require("react"),
41
+ import_Loading = require("../../Loading.cjs"),
42
+ import_hooks = require("../../hooks/index.cjs"),
43
+ import_context = require("../../keycloak/context.cjs"),
44
+ import_keycloak = require("../../keycloak/index.cjs"),
45
+ import_state = require("../../state.cjs"),
46
+ import_token = require("../../token.cjs"),
47
+ import_AfterAuth = require("../AfterAuth.cjs"),
48
+ import_shared = require("./shared.cjs"),
49
+ import_jsx_runtime = require("react/jsx-runtime");
50
+ function AuthProvider({
51
+ children,
52
+ disabled,
53
+ keycloakConfig,
54
+ keycloakInitOptions,
55
+ loadingComponent,
56
+ sessionProvider
57
+ }) {
58
+ const {
59
+ debug,
60
+ messageHandlerKeys,
61
+ iframeSso
62
+ } = (0, import_hooks.useAuthConfig)(),
63
+ query = new URLSearchParams(import_multiplatform.isWindowDefined && window?.location?.search || ""),
64
+ authStore = (0, import_state.useAuthStore)(),
65
+ [keycloak, setKeycloak] = (0, import_react2.useState)(),
66
+ idTokenQuery = query.get("idToken"),
67
+ refreshTokenQuery = query.get("refreshToken"),
68
+ tokenQuery = query.get("token"),
69
+ [listeningRefreshToken, setListeningRefreshToken] = (0, import_react2.useState)(!1),
70
+ [listeningToken, setListeningToken] = (0, import_react2.useState)(!1),
71
+ [listeningIdToken, setListeningIdToken] = (0, import_react2.useState)(!1),
72
+ [loadedMessagePosted, setLoadedMessagePosted] = (0, import_react2.useState)(!1),
73
+ initialRefreshTokenQuery = (0, import_react2.useMemo)(() => (0, import_token.validOrRefreshableToken)(!iframeSso && import_multiplatform.isIframe || typeof refreshTokenQuery == "string" ? refreshTokenQuery || !0 : void 0), [refreshTokenQuery, iframeSso]),
74
+ initialIdTokenQuery = (0, import_react2.useMemo)(() => (0, import_token.validOrRefreshableToken)(!iframeSso && import_multiplatform.isIframe || typeof idTokenQuery == "string" ? idTokenQuery || !0 : void 0, initialRefreshTokenQuery), [idTokenQuery, initialRefreshTokenQuery, iframeSso]),
75
+ initialTokenQuery = (0, import_react2.useMemo)(() => (0, import_token.validOrRefreshableToken)(import_multiplatform.isIframe && typeof tokenQuery == "string" ? tokenQuery || !0 : void 0, initialRefreshTokenQuery), [tokenQuery, initialRefreshTokenQuery, iframeSso]),
76
+ [tokens, setTokens] = (0, import_react2.useState)({
77
+ refreshToken: initialRefreshTokenQuery,
78
+ token: initialTokenQuery,
79
+ idToken: initialIdTokenQuery
80
+ }),
81
+ authSource = (0, import_react2.useMemo)(() => !iframeSso && import_multiplatform.isIframe ? initialTokenQuery ? import_shared.AuthSource.Query : import_shared.AuthSource.Store : import_shared.AuthSource.Session, [initialTokenQuery, iframeSso]),
82
+ authStrategy = (0, import_react2.useMemo)(() => {
83
+ if (authSource === import_shared.AuthSource.Session) return import_shared.AuthStrategy.AuthJS;
84
+ if (authSource === import_shared.AuthSource.Query) return import_shared.AuthStrategy.KeycloakClientImplicit;
85
+ if (!import_state.persist) return import_shared.AuthStrategy.KeycloakClientStandard;
86
+ if (!(typeof authStore > "u")) return authStore.token && typeof tokens.token == "string" && tokens.token ? import_shared.AuthStrategy.KeycloakClientImplicit : import_shared.AuthStrategy.KeycloakClientStandard;
87
+ }, [authSource, authStore?.token, tokens.token]),
88
+ isLoading = (0, import_react2.useMemo)(() => !authStrategy || authStrategy === import_shared.AuthStrategy.KeycloakClientImplicit && (authSource === import_shared.AuthSource.Query && (initialRefreshTokenQuery === !0 || initialTokenQuery === !0 || initialIdTokenQuery === !0) || authSource === import_shared.AuthSource.Store && typeof authStore > "u"), [authSource, authStore?.idToken, authStore?.refreshToken, authStore?.token, authStrategy, initialIdTokenQuery, initialRefreshTokenQuery, initialTokenQuery]);
89
+ (0, import_react2.useEffect)(() => {
90
+ if (!import_state.persist || typeof authStore > "u") return;
91
+ const refreshToken = (0, import_token.validOrRefreshableToken)(authStore.refreshToken),
92
+ idToken = (0, import_token.validOrRefreshableToken)(authStore.idToken, refreshToken),
93
+ token = (0, import_token.validOrRefreshableToken)(authStore.token, refreshToken);
94
+ setTokens({
95
+ idToken: idToken || void 0,
96
+ refreshToken: refreshToken || void 0,
97
+ token: token || void 0
98
+ });
99
+ }, [authStore?.token, authStore?.refreshToken, authStore?.idToken]), (0, import_react2.useEffect)(() => {
100
+ disabled || authSource !== import_shared.AuthSource.Query || tokens.token === !0 || tokens.refreshToken === !0 || tokens.idToken === !0 || loadedMessagePosted || (debug && import_multiplatform.logger.debug("post message", JSON.stringify({
101
+ type: "LOADED"
102
+ })), (messageHandlerKeys || []).forEach(key => {
103
+ window?.webkit?.messageHandlers?.[key]?.postMessage(JSON.stringify({
104
+ type: "LOADED"
105
+ }));
106
+ }), window?.ReactNativeWebView?.postMessage(JSON.stringify({
107
+ type: "LOADED"
108
+ })), window?.parent?.postMessage(JSON.stringify({
109
+ type: "LOADED"
110
+ })), setLoadedMessagePosted(!0));
111
+ }, [disabled, authSource, tokens.token, tokens.refreshToken, tokens.idToken]), (0, import_react2.useEffect)(() => {
112
+ if (disabled || tokens.refreshToken !== !0 || listeningRefreshToken) return;
113
+ setListeningRefreshToken(!0);
114
+ function messageCallback(e) {
115
+ let data = e?.data || null;
116
+ if (typeof data == "string") try {
117
+ data = JSON.parse(data);
118
+ } catch {}
119
+ debug && import_multiplatform.logger.debug("received message", JSON.stringify(data));
120
+ const message = data;
121
+ message.type && message.type.toUpperCase() === "REFRESH_TOKEN" && message.payload && (debug && import_multiplatform.logger.debug("setting refresh token", message.payload), setTokens(tokens2 => ({
122
+ ...tokens2,
123
+ refreshToken: (0, import_token.validOrRefreshableToken)(message.payload)
124
+ })), window.removeEventListener("message", messageCallback), setListeningRefreshToken(!1));
125
+ }
126
+ return debug && import_multiplatform.logger.debug("listening for message", JSON.stringify({
127
+ type: "REFRESH_TOKEN",
128
+ payload: "<some_refresh_token>"
129
+ })), window.addEventListener("message", messageCallback), () => {
130
+ window.removeEventListener("message", messageCallback);
131
+ };
132
+ }, [disabled, tokens.refreshToken, listeningRefreshToken]), (0, import_react2.useEffect)(() => {
133
+ if (disabled || tokens.token !== !0 || listeningToken) return;
134
+ setListeningToken(!0);
135
+ function messageCallback(e) {
136
+ let data = e?.data || null;
137
+ if (typeof data == "string") try {
138
+ data = JSON.parse(data);
139
+ } catch {}
140
+ debug && import_multiplatform.logger.debug("received message", JSON.stringify(data));
141
+ const message = data;
142
+ message.type && message.type.toUpperCase() === "TOKEN" && message.payload && (debug && import_multiplatform.logger.debug("setting token", message.payload), setTokens(tokens2 => ({
143
+ ...tokens2,
144
+ token: (0, import_token.validOrRefreshableToken)(message.payload, tokens2.refreshToken)
145
+ })), window.removeEventListener("message", messageCallback), setListeningToken(!1));
146
+ }
147
+ return debug && import_multiplatform.logger.debug("listening for message", JSON.stringify({
148
+ type: "TOKEN",
149
+ payload: "<some_token>"
150
+ })), window.addEventListener("message", messageCallback), () => {
151
+ window.removeEventListener("message", messageCallback);
152
+ };
153
+ }, [disabled, tokens.token, listeningToken]), (0, import_react2.useEffect)(() => {
154
+ if (disabled || tokens.idToken !== !0 || listeningIdToken) return;
155
+ setListeningIdToken(!0);
156
+ function messageCallback(e) {
157
+ let data = e?.data || null;
158
+ if (typeof data == "string") try {
159
+ data = JSON.parse(data);
160
+ } catch {}
161
+ debug && import_multiplatform.logger.debug("received message", JSON.stringify(data));
162
+ const message = data;
163
+ message.type && message.type.toUpperCase() === "ID_TOKEN" && message.payload && (debug && import_multiplatform.logger.debug("setting id token", message.payload), setTokens(tokens2 => ({
164
+ ...tokens2,
165
+ idToken: (0, import_token.validOrRefreshableToken)(message.payload, tokens2.refreshToken)
166
+ })), window.removeEventListener("message", messageCallback), setListeningIdToken(!1));
167
+ }
168
+ return debug && import_multiplatform.logger.debug("listening for message", JSON.stringify({
169
+ type: "ID_TOKEN",
170
+ payload: "<some_id_token>"
171
+ })), window.addEventListener("message", messageCallback), () => {
172
+ window.removeEventListener("message", messageCallback);
173
+ };
174
+ }, [disabled, tokens.idToken, listeningIdToken]);
175
+ const keycloakClient = (0, import_react2.useMemo)(() => !disabled && !isLoading && (authStrategy === import_shared.AuthStrategy.KeycloakClientStandard || authStrategy === import_shared.AuthStrategy.KeycloakClientImplicit) && keycloakConfig ? new import_keycloak_js.default({
176
+ clientId: keycloakConfig.publicClientId || keycloakConfig.clientId,
177
+ realm: keycloakConfig.realm,
178
+ url: keycloakConfig.url
179
+ }) : void 0, [authStrategy, disabled, isLoading, keycloakConfig, keycloakInitOptions, tokens.idToken, tokens.refreshToken, tokens.token]),
180
+ initOptions = (0, import_react2.useMemo)(() => {
181
+ if (!keycloakClient) return;
182
+ const initOptions2 = {
183
+ ...import_shared.defaultKeycloakInitOptions,
184
+ ...keycloakInitOptions,
185
+ scope: [... /* @__PURE__ */new Set(["email", "openid", "profile", ...(import_shared.defaultKeycloakInitOptions.scope?.split(" ") || []), ...(keycloakInitOptions?.scope?.split(" ") || []), ...(keycloakConfig.scopes || [])])].join(" ")
186
+ };
187
+ return debug && (initOptions2.enableLogging = !0), tokens.token && typeof tokens.token == "string" && (initOptions2.token = tokens.token, initOptions2.timeSkew = 0, tokens.idToken && typeof tokens.idToken == "string" && (initOptions2.idToken = tokens.idToken), tokens.refreshToken && typeof tokens.refreshToken == "string" && (initOptions2.refreshToken = tokens.refreshToken)), (!iframeSso && import_multiplatform.isIframe || tokens.token && !tokens.refreshToken) && (initOptions2.checkLoginIframe = !1, initOptions2.flow = "implicit", initOptions2.onLoad = void 0), initOptions2;
188
+ }, [keycloakClient, keycloakInitOptions, keycloakConfig.scopes, debug, tokens.token, tokens.idToken, tokens.refreshToken, iframeSso]);
189
+ (0, import_react2.useEffect)(() => {
190
+ if (!keycloakClient || !initOptions || authStrategy === import_shared.AuthStrategy.KeycloakClientImplicit && (typeof tokens.token != "string" || !tokens.token)) return;
191
+ function onError() {
192
+ keycloakClient && initOptions && setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient));
193
+ }
194
+ function onUpdate() {
195
+ keycloakClient && initOptions && setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient));
196
+ }
197
+ (async () => (keycloakClient.onAuthError = onError, keycloakClient.onAuthLogout = onUpdate, keycloakClient.onAuthRefreshError = onError, keycloakClient.onAuthRefreshSuccess = onUpdate, keycloakClient.onAuthSuccess = onUpdate, keycloakClient.onReady = onUpdate, keycloakClient.onTokenExpired = async () => {
198
+ try {
199
+ await keycloakClient.updateToken(5);
200
+ } catch (err) {
201
+ import_multiplatform.logger.warn(err), setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient));
202
+ }
203
+ }, await keycloakClient.init(initOptions), setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient))))();
204
+ }, [keycloakClient, initOptions, authStrategy, tokens.token]);
205
+ const render = (0, import_react2.useCallback)(() => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_keycloak.KeycloakConfigContext.Provider, {
206
+ value: keycloakConfig,
207
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_context.KeycloakContext.Provider, {
208
+ value: keycloak,
209
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_AfterAuth.AfterAuth, {
210
+ loadingComponent,
211
+ children
212
+ })
213
+ })
214
+ }), [children, keycloak, keycloakConfig]);
215
+ return disabled ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
216
+ children
217
+ }) : authStrategy === import_shared.AuthStrategy.AuthJS ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.SessionProvider, {
218
+ ...sessionProvider,
219
+ children: render()
220
+ }) : isLoading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Loading.Loading, {
221
+ loadingComponent
222
+ }) : render();
223
+ }
@@ -0,0 +1,223 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf,
6
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
32
+ var index_electron_exports = {};
33
+ __export(index_electron_exports, {
34
+ AuthProvider: () => AuthProvider
35
+ });
36
+ module.exports = __toCommonJS(index_electron_exports);
37
+ var import_keycloak_js = __toESM(require("keycloak-js")),
38
+ import_multiplatform = require("multiplatform.one"),
39
+ import_react = require("react"),
40
+ import_Loading = require("../../Loading.cjs"),
41
+ import_hooks = require("../../hooks/index.cjs"),
42
+ import_context = require("../../keycloak/context.cjs"),
43
+ import_keycloak = require("../../keycloak/index.cjs"),
44
+ import_state = require("../../state.cjs"),
45
+ import_token = require("../../token.cjs"),
46
+ import_AfterAuth = require("../AfterAuth.cjs"),
47
+ import_shared = require("./shared.cjs"),
48
+ import_jsx_runtime = require("react/jsx-runtime");
49
+ function AuthProvider({
50
+ children,
51
+ disabled,
52
+ keycloakConfig,
53
+ keycloakInitOptions,
54
+ loadingComponent
55
+ }) {
56
+ const {
57
+ debug,
58
+ messageHandlerKeys,
59
+ iframeSso
60
+ } = (0, import_hooks.useAuthConfig)(),
61
+ query = new URLSearchParams(import_multiplatform.isWindowDefined && window?.location?.search || ""),
62
+ authStore = (0, import_state.useAuthStore)(),
63
+ [keycloak, setKeycloak] = (0, import_react.useState)(),
64
+ idTokenQuery = query.get("idToken"),
65
+ refreshTokenQuery = query.get("refreshToken"),
66
+ tokenQuery = query.get("token"),
67
+ [listeningRefreshToken, setListeningRefreshToken] = (0, import_react.useState)(!1),
68
+ [listeningToken, setListeningToken] = (0, import_react.useState)(!1),
69
+ [listeningIdToken, setListeningIdToken] = (0, import_react.useState)(!1),
70
+ [loadedMessagePosted, setLoadedMessagePosted] = (0, import_react.useState)(!1),
71
+ initialRefreshTokenQuery = (0, import_react.useMemo)(() => (0, import_token.validOrRefreshableToken)(!iframeSso && import_multiplatform.isIframe || (typeof refreshTokenQuery == "string" ? refreshTokenQuery || !0 : void 0)), [refreshTokenQuery, iframeSso]),
72
+ initialIdTokenQuery = (0, import_react.useMemo)(() => (0, import_token.validOrRefreshableToken)(!iframeSso && import_multiplatform.isIframe || (typeof idTokenQuery == "string" ? idTokenQuery || !0 : void 0), initialRefreshTokenQuery), [idTokenQuery, initialRefreshTokenQuery, iframeSso]),
73
+ initialTokenQuery = (0, import_react.useMemo)(() => (0, import_token.validOrRefreshableToken)(!iframeSso && import_multiplatform.isIframe || (typeof tokenQuery == "string" ? tokenQuery || !0 : void 0), initialRefreshTokenQuery), [tokenQuery, initialRefreshTokenQuery, iframeSso]),
74
+ [tokens, setTokens] = (0, import_react.useState)({
75
+ refreshToken: initialRefreshTokenQuery,
76
+ token: initialTokenQuery,
77
+ idToken: initialIdTokenQuery
78
+ }),
79
+ authSource = (0, import_react.useMemo)(() => !iframeSso && import_multiplatform.isIframe && initialTokenQuery ? import_shared.AuthSource.Query : import_shared.AuthSource.Store, [initialTokenQuery, iframeSso]),
80
+ authStrategy = (0, import_react.useMemo)(() => {
81
+ if (authSource === import_shared.AuthSource.Query) return import_shared.AuthStrategy.KeycloakClientImplicit;
82
+ if (!import_state.persist) return import_shared.AuthStrategy.KeycloakClientStandard;
83
+ if (!(typeof authStore > "u")) {
84
+ if (authStore.token) {
85
+ if (typeof tokens.token > "u") return;
86
+ if (tokens.token) return import_shared.AuthStrategy.KeycloakClientImplicit;
87
+ }
88
+ return import_shared.AuthStrategy.KeycloakClientStandard;
89
+ }
90
+ }, [authSource, authStore?.token, tokens.token]),
91
+ isLoading = (0, import_react.useMemo)(() => !authStrategy || authStrategy === import_shared.AuthStrategy.KeycloakClientImplicit && (authSource === import_shared.AuthSource.Query && (initialRefreshTokenQuery === !0 || initialTokenQuery === !0 || initialIdTokenQuery === !0) || authSource === import_shared.AuthSource.Store && typeof authStore > "u"), [authSource, authStore?.idToken, authStore?.refreshToken, authStore?.token, authStrategy, initialIdTokenQuery, initialRefreshTokenQuery, initialTokenQuery]);
92
+ (0, import_react.useEffect)(() => {
93
+ if (!import_state.persist || typeof authStore > "u") return;
94
+ const refreshToken = (0, import_token.validOrRefreshableToken)(authStore.refreshToken),
95
+ idToken = (0, import_token.validOrRefreshableToken)(authStore.idToken, refreshToken),
96
+ token = (0, import_token.validOrRefreshableToken)(authStore.token, refreshToken);
97
+ setTokens({
98
+ idToken,
99
+ refreshToken,
100
+ token
101
+ });
102
+ }, [authStore?.token, authStore?.refreshToken, authStore?.idToken]), (0, import_react.useEffect)(() => {
103
+ disabled || authSource !== import_shared.AuthSource.Query || tokens.token === !0 || tokens.refreshToken === !0 || tokens.idToken === !0 || loadedMessagePosted || (debug && import_multiplatform.logger.debug("post message", JSON.stringify({
104
+ type: "LOADED"
105
+ })), (messageHandlerKeys || []).forEach(key => {
106
+ window?.webkit?.messageHandlers?.[key]?.postMessage(JSON.stringify({
107
+ type: "LOADED"
108
+ }));
109
+ }), window?.ReactNativeWebView?.postMessage(JSON.stringify({
110
+ type: "LOADED"
111
+ })), window?.parent?.postMessage(JSON.stringify({
112
+ type: "LOADED"
113
+ })), setLoadedMessagePosted(!0));
114
+ }, [disabled, authSource, tokens.token, tokens.refreshToken, tokens.idToken]), (0, import_react.useEffect)(() => {
115
+ if (disabled || tokens.refreshToken !== !0 || listeningRefreshToken) return;
116
+ setListeningRefreshToken(!0);
117
+ function messageCallback(e) {
118
+ let data = e?.data || null;
119
+ if (typeof data == "string") try {
120
+ data = JSON.parse(data);
121
+ } catch {}
122
+ debug && import_multiplatform.logger.debug("received message", JSON.stringify(data));
123
+ const message = data;
124
+ message.type && message.type.toUpperCase() === "REFRESH_TOKEN" && message.payload && (debug && import_multiplatform.logger.debug("setting refresh token", message.payload), setTokens(tokens2 => ({
125
+ ...tokens2,
126
+ refreshToken: (0, import_token.validOrRefreshableToken)(message.payload)
127
+ })), window.removeEventListener("message", messageCallback), setListeningRefreshToken(!1));
128
+ }
129
+ return debug && import_multiplatform.logger.debug("listening for message", JSON.stringify({
130
+ type: "REFRESH_TOKEN",
131
+ payload: "<some_refresh_token>"
132
+ })), window.addEventListener("message", messageCallback), () => {
133
+ window.removeEventListener("message", messageCallback);
134
+ };
135
+ }, [disabled, tokens.refreshToken, listeningRefreshToken]), (0, import_react.useEffect)(() => {
136
+ if (disabled || tokens.token !== !0 || listeningToken) return;
137
+ setListeningToken(!0);
138
+ function messageCallback(e) {
139
+ let data = e?.data || null;
140
+ if (typeof data == "string") try {
141
+ data = JSON.parse(data);
142
+ } catch {}
143
+ debug && import_multiplatform.logger.debug("received message", JSON.stringify(data));
144
+ const message = data;
145
+ message.type && message.type.toUpperCase() === "TOKEN" && message.payload && (debug && import_multiplatform.logger.debug("setting token", message.payload), setTokens(tokens2 => ({
146
+ ...tokens2,
147
+ token: (0, import_token.validOrRefreshableToken)(message.payload, tokens2.refreshToken)
148
+ })), window.removeEventListener("message", messageCallback), setListeningToken(!1));
149
+ }
150
+ return debug && import_multiplatform.logger.debug("listening for message", JSON.stringify({
151
+ type: "TOKEN",
152
+ payload: "<some_token>"
153
+ })), window.addEventListener("message", messageCallback), () => {
154
+ window.removeEventListener("message", messageCallback);
155
+ };
156
+ }, [disabled, tokens.token, listeningToken]), (0, import_react.useEffect)(() => {
157
+ if (disabled || tokens.idToken !== !0 || listeningIdToken) return;
158
+ setListeningIdToken(!0);
159
+ function messageCallback(e) {
160
+ let data = e?.data || null;
161
+ if (typeof data == "string") try {
162
+ data = JSON.parse(data);
163
+ } catch {}
164
+ debug && import_multiplatform.logger.debug("received message", JSON.stringify(data));
165
+ const message = data;
166
+ message.type && message.type.toUpperCase() === "ID_TOKEN" && message.payload && (debug && import_multiplatform.logger.debug("setting id token", message.payload), setTokens(tokens2 => ({
167
+ ...tokens2,
168
+ idToken: (0, import_token.validOrRefreshableToken)(message.payload, tokens2.refreshToken)
169
+ })), window.removeEventListener("message", messageCallback), setListeningIdToken(!1));
170
+ }
171
+ return debug && import_multiplatform.logger.debug("listening for message", JSON.stringify({
172
+ type: "ID_TOKEN",
173
+ payload: "<some_id_token>"
174
+ })), window.addEventListener("message", messageCallback), () => {
175
+ window.removeEventListener("message", messageCallback);
176
+ };
177
+ }, [disabled, tokens.idToken, listeningIdToken]);
178
+ const keycloakClient = (0, import_react.useMemo)(() => !disabled && !isLoading && (authStrategy === import_shared.AuthStrategy.KeycloakClientStandard || authStrategy === import_shared.AuthStrategy.KeycloakClientImplicit) && keycloakConfig ? new import_keycloak_js.default({
179
+ clientId: keycloakConfig.publicClientId || keycloakConfig.clientId,
180
+ realm: keycloakConfig.realm,
181
+ url: keycloakConfig.url
182
+ }) : void 0, [authStrategy, disabled, isLoading, keycloakConfig, keycloakInitOptions, tokens.idToken, tokens.refreshToken, tokens.token]),
183
+ initOptions = (0, import_react.useMemo)(() => {
184
+ if (!keycloakClient) return;
185
+ const initOptions2 = {
186
+ ...import_shared.defaultKeycloakInitOptions,
187
+ ...keycloakInitOptions,
188
+ scope: [... /* @__PURE__ */new Set(["email", "openid", "profile", ...(import_shared.defaultKeycloakInitOptions.scope?.split(" ") || []), ...(keycloakInitOptions?.scope?.split(" ") || []), ...(keycloakConfig.scopes || [])])].join(" ")
189
+ };
190
+ return debug && (initOptions2.enableLogging = !0), tokens.token && typeof tokens.token == "string" && (initOptions2.token = tokens.token, initOptions2.timeSkew = 0, tokens.idToken && typeof tokens.idToken == "string" && (initOptions2.idToken = tokens.idToken), tokens.refreshToken && typeof tokens.refreshToken == "string" && (initOptions2.refreshToken = tokens.refreshToken)), (!iframeSso && import_multiplatform.isIframe || tokens.token && !tokens.refreshToken) && (initOptions2.checkLoginIframe = !1, initOptions2.flow = "implicit", initOptions2.onLoad = void 0), initOptions2;
191
+ }, [keycloakClient, keycloakInitOptions, keycloakConfig.scopes, debug, tokens.token, tokens.idToken, tokens.refreshToken, iframeSso]);
192
+ (0, import_react.useEffect)(() => {
193
+ if (!keycloakClient || !initOptions || authStrategy === import_shared.AuthStrategy.KeycloakClientImplicit && (typeof tokens.token != "string" || !tokens.token)) return;
194
+ function onError() {
195
+ keycloakClient && initOptions && setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient));
196
+ }
197
+ function onUpdate() {
198
+ keycloakClient && initOptions && setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient));
199
+ }
200
+ (async () => (keycloakClient.onAuthError = onError, keycloakClient.onAuthLogout = onUpdate, keycloakClient.onAuthRefreshError = onError, keycloakClient.onAuthRefreshSuccess = onUpdate, keycloakClient.onAuthSuccess = onUpdate, keycloakClient.onReady = onUpdate, keycloakClient.onTokenExpired = async () => {
201
+ try {
202
+ await keycloakClient.updateToken(5);
203
+ } catch (err) {
204
+ import_multiplatform.logger.warn(err), setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient));
205
+ }
206
+ }, await keycloakClient.init(initOptions), setKeycloak(new import_keycloak.Keycloak(keycloakConfig, keycloakClient))))();
207
+ }, [keycloakClient, initOptions, authStrategy, tokens.token]);
208
+ const render = (0, import_react.useCallback)(() => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_keycloak.KeycloakConfigContext.Provider, {
209
+ value: keycloakConfig,
210
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_context.KeycloakContext.Provider, {
211
+ value: keycloak,
212
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_AfterAuth.AfterAuth, {
213
+ loadingComponent,
214
+ children
215
+ })
216
+ })
217
+ }), [children, keycloak, keycloakConfig]);
218
+ return disabled ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
219
+ children
220
+ }) : isLoading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Loading.Loading, {
221
+ loadingComponent
222
+ }) : render();
223
+ }