@civic/auth 0.0.1-beta.30 → 0.0.1-beta.31

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 (478) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-lint$colon$fix.log +16 -0
  3. package/.turbo/turbo-test.log +552 -1077
  4. package/dist/{src/shared/providers → cjs/src/shared}/AuthProvider.d.ts +7 -9
  5. package/dist/cjs/src/shared/AuthProvider.d.ts.map +1 -0
  6. package/dist/{src/shared/providers → cjs/src/shared}/AuthProvider.js +70 -87
  7. package/dist/cjs/src/shared/AuthProvider.js.map +1 -0
  8. package/dist/{src/shared/providers → cjs/src/shared}/CivicAuthProvider.d.ts +3 -3
  9. package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +1 -0
  10. package/dist/cjs/src/shared/CivicAuthProvider.js +19 -0
  11. package/dist/cjs/src/shared/CivicAuthProvider.js.map +1 -0
  12. package/dist/{src/shared/lib → cjs/src/shared}/GenericAuthenticationRefresher.d.ts +4 -4
  13. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +1 -0
  14. package/dist/{src/shared/lib → cjs/src/shared}/GenericAuthenticationRefresher.js +11 -7
  15. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +1 -0
  16. package/dist/{src/shared/providers → cjs/src/shared}/UserProvider.d.ts +6 -7
  17. package/dist/cjs/src/shared/UserProvider.d.ts.map +1 -0
  18. package/dist/cjs/src/shared/UserProvider.js +42 -0
  19. package/dist/cjs/src/shared/UserProvider.js.map +1 -0
  20. package/dist/cjs/src/shared/UserSession.d.ts +12 -0
  21. package/dist/cjs/src/shared/UserSession.d.ts.map +1 -0
  22. package/dist/cjs/src/shared/UserSession.js +24 -0
  23. package/dist/cjs/src/shared/UserSession.js.map +1 -0
  24. package/dist/cjs/src/shared/session.d.ts +3 -0
  25. package/dist/cjs/src/shared/session.d.ts.map +1 -0
  26. package/dist/cjs/src/shared/session.js +13 -0
  27. package/dist/cjs/src/shared/session.js.map +1 -0
  28. package/dist/{src/shared/lib → cjs/src/shared}/util.d.ts +10 -4
  29. package/dist/cjs/src/shared/util.d.ts.map +1 -0
  30. package/dist/cjs/src/shared/util.js +162 -0
  31. package/dist/cjs/src/shared/util.js.map +1 -0
  32. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  33. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  34. package/dist/src/nextjs/cookies.d.ts.map +1 -1
  35. package/dist/src/nextjs/cookies.js +12 -8
  36. package/dist/src/nextjs/cookies.js.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +3 -3
  39. package/.turbo/turbo-lint.log +0 -14
  40. package/civic-auth-0.0.1-beta.15.tgz +0 -0
  41. package/civic-auth-0.0.1-beta.17.tgz +0 -0
  42. package/dist/AuthProvider-BYZ8w92b.d.mts +0 -15
  43. package/dist/AuthProvider-BgOwv9h8.d.ts +0 -15
  44. package/dist/AuthProvider-Bj_Prt1x.d.ts +0 -21
  45. package/dist/AuthProvider-DUAoX4G9.d.mts +0 -21
  46. package/dist/UserProvider-BA2uflVB.d.ts +0 -16
  47. package/dist/UserProvider-Bl3j1PUO.d.mts +0 -16
  48. package/dist/UserProvider-CMLaYOUD.d.ts +0 -16
  49. package/dist/UserProvider-Cbm8MZkJ.d.mts +0 -16
  50. package/dist/chunk-4PLCDPEN.mjs +0 -599
  51. package/dist/chunk-4PLCDPEN.mjs.map +0 -1
  52. package/dist/chunk-5UQQYXCX.js +0 -1
  53. package/dist/chunk-5UQQYXCX.js.map +0 -1
  54. package/dist/chunk-63YGK3A7.mjs +0 -223
  55. package/dist/chunk-63YGK3A7.mjs.map +0 -1
  56. package/dist/chunk-6RFRDWIP.js +0 -223
  57. package/dist/chunk-6RFRDWIP.js.map +0 -1
  58. package/dist/chunk-7K3QN2AT.js +0 -599
  59. package/dist/chunk-7K3QN2AT.js.map +0 -1
  60. package/dist/chunk-AM2Y662I.js +0 -601
  61. package/dist/chunk-AM2Y662I.js.map +0 -1
  62. package/dist/chunk-AP4627CS.mjs +0 -223
  63. package/dist/chunk-AP4627CS.mjs.map +0 -1
  64. package/dist/chunk-CRTRMMJ7.js +0 -59
  65. package/dist/chunk-CRTRMMJ7.js.map +0 -1
  66. package/dist/chunk-CTVJJBBA.js +0 -118
  67. package/dist/chunk-CTVJJBBA.js.map +0 -1
  68. package/dist/chunk-EKLYHP2D.mjs +0 -711
  69. package/dist/chunk-EKLYHP2D.mjs.map +0 -1
  70. package/dist/chunk-FHRZSX3C.js +0 -710
  71. package/dist/chunk-FHRZSX3C.js.map +0 -1
  72. package/dist/chunk-GB3H3I47.js +0 -711
  73. package/dist/chunk-GB3H3I47.js.map +0 -1
  74. package/dist/chunk-JDZPCA3P.js +0 -173
  75. package/dist/chunk-JDZPCA3P.js.map +0 -1
  76. package/dist/chunk-JEOPLLWO.js +0 -223
  77. package/dist/chunk-JEOPLLWO.js.map +0 -1
  78. package/dist/chunk-MK7557NR.mjs +0 -118
  79. package/dist/chunk-MK7557NR.mjs.map +0 -1
  80. package/dist/chunk-NLRREFOX.mjs +0 -710
  81. package/dist/chunk-NLRREFOX.mjs.map +0 -1
  82. package/dist/chunk-O3WGNLRO.mjs +0 -173
  83. package/dist/chunk-O3WGNLRO.mjs.map +0 -1
  84. package/dist/chunk-OXXUQ36U.mjs +0 -283
  85. package/dist/chunk-OXXUQ36U.mjs.map +0 -1
  86. package/dist/chunk-PMJAV4JJ.mjs +0 -1
  87. package/dist/chunk-PMJAV4JJ.mjs.map +0 -1
  88. package/dist/chunk-Q7DSPTUG.mjs +0 -601
  89. package/dist/chunk-Q7DSPTUG.mjs.map +0 -1
  90. package/dist/chunk-RGHW4PYM.mjs +0 -59
  91. package/dist/chunk-RGHW4PYM.mjs.map +0 -1
  92. package/dist/chunk-TH6FI2XI.js +0 -283
  93. package/dist/chunk-TH6FI2XI.js.map +0 -1
  94. package/dist/index.css +0 -340
  95. package/dist/index.css.map +0 -1
  96. package/dist/index.d.mts +0 -5
  97. package/dist/index.d.ts +0 -5
  98. package/dist/index.js +0 -3
  99. package/dist/index.js.map +0 -1
  100. package/dist/index.mjs +0 -3
  101. package/dist/index.mjs.map +0 -1
  102. package/dist/nextjs/client.css +0 -340
  103. package/dist/nextjs/client.css.map +0 -1
  104. package/dist/nextjs/client.d.mts +0 -10
  105. package/dist/nextjs/client.d.ts +0 -10
  106. package/dist/nextjs/client.js +0 -185
  107. package/dist/nextjs/client.js.map +0 -1
  108. package/dist/nextjs/client.mjs +0 -185
  109. package/dist/nextjs/client.mjs.map +0 -1
  110. package/dist/nextjs.d.mts +0 -267
  111. package/dist/nextjs.d.ts +0 -267
  112. package/dist/nextjs.js +0 -315
  113. package/dist/nextjs.js.map +0 -1
  114. package/dist/nextjs.mjs +0 -315
  115. package/dist/nextjs.mjs.map +0 -1
  116. package/dist/react.d.mts +0 -65
  117. package/dist/react.d.ts +0 -65
  118. package/dist/react.js +0 -226
  119. package/dist/react.js.map +0 -1
  120. package/dist/react.mjs +0 -226
  121. package/dist/react.mjs.map +0 -1
  122. package/dist/server.d.mts +0 -35
  123. package/dist/server.d.ts +0 -35
  124. package/dist/server.js +0 -20
  125. package/dist/server.js.map +0 -1
  126. package/dist/server.mjs +0 -20
  127. package/dist/server.mjs.map +0 -1
  128. package/dist/src/browser/storage.d.ts +0 -6
  129. package/dist/src/browser/storage.d.ts.map +0 -1
  130. package/dist/src/browser/storage.js +0 -9
  131. package/dist/src/browser/storage.js.map +0 -1
  132. package/dist/src/config.d.ts +0 -3
  133. package/dist/src/config.d.ts.map +0 -1
  134. package/dist/src/config.js +0 -5
  135. package/dist/src/config.js.map +0 -1
  136. package/dist/src/constants.d.ts +0 -9
  137. package/dist/src/constants.d.ts.map +0 -1
  138. package/dist/src/constants.js +0 -17
  139. package/dist/src/constants.js.map +0 -1
  140. package/dist/src/index.d.ts +0 -4
  141. package/dist/src/index.d.ts.map +0 -1
  142. package/dist/src/index.js +0 -2
  143. package/dist/src/index.js.map +0 -1
  144. package/dist/src/lib/cookies.d.ts +0 -7
  145. package/dist/src/lib/cookies.d.ts.map +0 -1
  146. package/dist/src/lib/cookies.js +0 -23
  147. package/dist/src/lib/cookies.js.map +0 -1
  148. package/dist/src/lib/jwt.d.ts +0 -3
  149. package/dist/src/lib/jwt.d.ts.map +0 -1
  150. package/dist/src/lib/jwt.js +0 -9
  151. package/dist/src/lib/jwt.js.map +0 -1
  152. package/dist/src/lib/logger.d.ts +0 -26
  153. package/dist/src/lib/logger.d.ts.map +0 -1
  154. package/dist/src/lib/logger.js +0 -55
  155. package/dist/src/lib/logger.js.map +0 -1
  156. package/dist/src/lib/oauth.d.ts +0 -19
  157. package/dist/src/lib/oauth.d.ts.map +0 -1
  158. package/dist/src/lib/oauth.js +0 -60
  159. package/dist/src/lib/oauth.js.map +0 -1
  160. package/dist/src/lib/postMessage.d.ts +0 -4
  161. package/dist/src/lib/postMessage.d.ts.map +0 -1
  162. package/dist/src/lib/postMessage.js +0 -15
  163. package/dist/src/lib/postMessage.js.map +0 -1
  164. package/dist/src/lib/windowUtil.d.ts +0 -4
  165. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  166. package/dist/src/lib/windowUtil.js +0 -30
  167. package/dist/src/lib/windowUtil.js.map +0 -1
  168. package/dist/src/nextjs/GetUser.d.ts +0 -6
  169. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  170. package/dist/src/nextjs/GetUser.js +0 -18
  171. package/dist/src/nextjs/GetUser.js.map +0 -1
  172. package/dist/src/nextjs/config.d.ts +0 -178
  173. package/dist/src/nextjs/config.d.ts.map +0 -1
  174. package/dist/src/nextjs/config.js +0 -164
  175. package/dist/src/nextjs/config.js.map +0 -1
  176. package/dist/src/nextjs/cookies.d.ts +0 -30
  177. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  178. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  179. package/dist/src/nextjs/hooks/index.js +0 -2
  180. package/dist/src/nextjs/hooks/index.js.map +0 -1
  181. package/dist/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  182. package/dist/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  183. package/dist/src/nextjs/hooks/useTokenCookie.js +0 -37
  184. package/dist/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  185. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  186. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  187. package/dist/src/nextjs/hooks/useUserCookie.js +0 -36
  188. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  189. package/dist/src/nextjs/index.d.ts +0 -7
  190. package/dist/src/nextjs/index.d.ts.map +0 -1
  191. package/dist/src/nextjs/index.js +0 -6
  192. package/dist/src/nextjs/index.js.map +0 -1
  193. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  194. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  195. package/dist/src/nextjs/middleware/index.js +0 -2
  196. package/dist/src/nextjs/middleware/index.js.map +0 -1
  197. package/dist/src/nextjs/middleware.d.ts +0 -59
  198. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  199. package/dist/src/nextjs/middleware.js +0 -107
  200. package/dist/src/nextjs/middleware.js.map +0 -1
  201. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  202. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  203. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -50
  204. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  205. package/dist/src/nextjs/routeHandler.d.ts +0 -18
  206. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  207. package/dist/src/nextjs/routeHandler.js +0 -216
  208. package/dist/src/nextjs/routeHandler.js.map +0 -1
  209. package/dist/src/nextjs/utils.d.ts +0 -3
  210. package/dist/src/nextjs/utils.d.ts.map +0 -1
  211. package/dist/src/nextjs/utils.js +0 -5
  212. package/dist/src/nextjs/utils.js.map +0 -1
  213. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  214. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  215. package/dist/src/reactjs/components/SignInButton.js +0 -14
  216. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  217. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  218. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  219. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  220. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  221. package/dist/src/reactjs/components/UserButton.d.ts +0 -8
  222. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  223. package/dist/src/reactjs/components/UserButton.js +0 -110
  224. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  225. package/dist/src/reactjs/components/index.d.ts +0 -6
  226. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  227. package/dist/src/reactjs/components/index.js +0 -6
  228. package/dist/src/reactjs/components/index.js.map +0 -1
  229. package/dist/src/reactjs/hooks/index.d.ts +0 -8
  230. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  231. package/dist/src/reactjs/hooks/index.js +0 -8
  232. package/dist/src/reactjs/hooks/index.js.map +0 -1
  233. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  234. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  235. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  236. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  237. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  238. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  239. package/dist/src/reactjs/hooks/useUser.js +0 -12
  240. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  241. package/dist/src/reactjs/index.d.ts +0 -6
  242. package/dist/src/reactjs/index.d.ts.map +0 -1
  243. package/dist/src/reactjs/index.js +0 -8
  244. package/dist/src/reactjs/index.js.map +0 -1
  245. package/dist/src/reactjs/providers/index.d.ts +0 -8
  246. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  247. package/dist/src/reactjs/providers/index.js +0 -7
  248. package/dist/src/reactjs/providers/index.js.map +0 -1
  249. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -18
  250. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  251. package/dist/src/server/ServerAuthenticationResolver.js +0 -62
  252. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  253. package/dist/src/server/config.d.ts +0 -16
  254. package/dist/src/server/config.d.ts.map +0 -1
  255. package/dist/src/server/config.js +0 -2
  256. package/dist/src/server/config.js.map +0 -1
  257. package/dist/src/server/index.d.ts +0 -6
  258. package/dist/src/server/index.d.ts.map +0 -1
  259. package/dist/src/server/index.js +0 -5
  260. package/dist/src/server/index.js.map +0 -1
  261. package/dist/src/server/login.d.ts +0 -17
  262. package/dist/src/server/login.d.ts.map +0 -1
  263. package/dist/src/server/login.js +0 -37
  264. package/dist/src/server/login.js.map +0 -1
  265. package/dist/src/server/refresh.d.ts +0 -7
  266. package/dist/src/server/refresh.d.ts.map +0 -1
  267. package/dist/src/server/refresh.js +0 -13
  268. package/dist/src/server/refresh.js.map +0 -1
  269. package/dist/src/services/AuthenticationService.d.ts +0 -87
  270. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  271. package/dist/src/services/AuthenticationService.js +0 -222
  272. package/dist/src/services/AuthenticationService.js.map +0 -1
  273. package/dist/src/services/PKCE.d.ts +0 -20
  274. package/dist/src/services/PKCE.d.ts.map +0 -1
  275. package/dist/src/services/PKCE.js +0 -44
  276. package/dist/src/services/PKCE.js.map +0 -1
  277. package/dist/src/services/types.d.ts +0 -23
  278. package/dist/src/services/types.d.ts.map +0 -1
  279. package/dist/src/services/types.js +0 -7
  280. package/dist/src/services/types.js.map +0 -1
  281. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -8
  282. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  283. package/dist/src/shared/components/CivicAuthIframe.js +0 -9
  284. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  285. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  286. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  287. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -130
  288. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  289. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  290. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  291. package/dist/src/shared/components/CloseIcon.js +0 -6
  292. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  293. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  294. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  295. package/dist/src/shared/components/LoadingIcon.js +0 -24
  296. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  297. package/dist/src/shared/hooks/index.d.ts +0 -5
  298. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  299. package/dist/src/shared/hooks/index.js +0 -5
  300. package/dist/src/shared/hooks/index.js.map +0 -1
  301. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  302. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  303. package/dist/src/shared/hooks/useAuth.js +0 -12
  304. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  305. package/dist/src/shared/hooks/useConfig.d.ts +0 -3
  306. package/dist/src/shared/hooks/useConfig.d.ts.map +0 -1
  307. package/dist/src/shared/hooks/useConfig.js +0 -13
  308. package/dist/src/shared/hooks/useConfig.js.map +0 -1
  309. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  310. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  311. package/dist/src/shared/hooks/useIframe.js +0 -13
  312. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  313. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  314. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  315. package/dist/src/shared/hooks/useSession.js +0 -13
  316. package/dist/src/shared/hooks/useSession.js.map +0 -1
  317. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  318. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  319. package/dist/src/shared/hooks/useToken.js +0 -12
  320. package/dist/src/shared/hooks/useToken.js.map +0 -1
  321. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  322. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  323. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  324. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  325. package/dist/src/shared/lib/UserSession.js +0 -20
  326. package/dist/src/shared/lib/UserSession.js.map +0 -1
  327. package/dist/src/shared/lib/session.d.ts +0 -3
  328. package/dist/src/shared/lib/session.d.ts.map +0 -1
  329. package/dist/src/shared/lib/session.js +0 -10
  330. package/dist/src/shared/lib/session.js.map +0 -1
  331. package/dist/src/shared/lib/storage.d.ts +0 -25
  332. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  333. package/dist/src/shared/lib/storage.js +0 -17
  334. package/dist/src/shared/lib/storage.js.map +0 -1
  335. package/dist/src/shared/lib/types.d.ts +0 -22
  336. package/dist/src/shared/lib/types.d.ts.map +0 -1
  337. package/dist/src/shared/lib/types.js +0 -16
  338. package/dist/src/shared/lib/types.js.map +0 -1
  339. package/dist/src/shared/lib/util.d.ts.map +0 -1
  340. package/dist/src/shared/lib/util.js +0 -126
  341. package/dist/src/shared/lib/util.js.map +0 -1
  342. package/dist/src/shared/providers/AuthContext.d.ts +0 -10
  343. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  344. package/dist/src/shared/providers/AuthContext.js +0 -3
  345. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  346. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  347. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  348. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  349. package/dist/src/shared/providers/CivicAuthProvider.js +0 -15
  350. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  351. package/dist/src/shared/providers/ConfigProvider.d.ts +0 -21
  352. package/dist/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  353. package/dist/src/shared/providers/ConfigProvider.js +0 -19
  354. package/dist/src/shared/providers/ConfigProvider.js.map +0 -1
  355. package/dist/src/shared/providers/IframeProvider.d.ts +0 -16
  356. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  357. package/dist/src/shared/providers/IframeProvider.js +0 -11
  358. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  359. package/dist/src/shared/providers/SessionProvider.d.ts +0 -13
  360. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  361. package/dist/src/shared/providers/SessionProvider.js +0 -13
  362. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  363. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  364. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  365. package/dist/src/shared/providers/TokenProvider.js +0 -53
  366. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  367. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  368. package/dist/src/shared/providers/UserProvider.js +0 -38
  369. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  370. package/dist/src/types.d.ts +0 -146
  371. package/dist/src/types.d.ts.map +0 -1
  372. package/dist/src/types.js +0 -2
  373. package/dist/src/types.js.map +0 -1
  374. package/dist/src/utils.d.ts +0 -15
  375. package/dist/src/utils.d.ts.map +0 -1
  376. package/dist/src/utils.js +0 -43
  377. package/dist/src/utils.js.map +0 -1
  378. package/dist/storage-ANmRwpZ3.d.ts +0 -25
  379. package/dist/storage-B2eAQNdv.d.ts +0 -25
  380. package/dist/storage-BJPUpxhm.d.mts +0 -25
  381. package/dist/storage-BJyqsZwC.d.mts +0 -25
  382. package/dist/test/integration/sdk.test.d.ts +0 -2
  383. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  384. package/dist/test/integration/sdk.test.js +0 -183
  385. package/dist/test/integration/sdk.test.js.map +0 -1
  386. package/dist/test/support/fixtures.d.ts +0 -26
  387. package/dist/test/support/fixtures.d.ts.map +0 -1
  388. package/dist/test/support/fixtures.js +0 -55
  389. package/dist/test/support/fixtures.js.map +0 -1
  390. package/dist/test/support/tokens.json +0 -26
  391. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  392. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  393. package/dist/test/unit/lib/oauth.test.js +0 -55
  394. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  395. package/dist/test/unit/logger.test.d.ts +0 -2
  396. package/dist/test/unit/logger.test.d.ts.map +0 -1
  397. package/dist/test/unit/logger.test.js +0 -141
  398. package/dist/test/unit/logger.test.js.map +0 -1
  399. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  400. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  401. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -29
  402. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  403. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  404. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  405. package/dist/test/unit/nextjs/config.test.js +0 -189
  406. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  407. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  408. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  409. package/dist/test/unit/nextjs/getUser.test.js +0 -36
  410. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  411. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  412. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  413. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  414. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  415. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  416. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  417. package/dist/test/unit/nextjs/utils.test.js +0 -13
  418. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  419. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  420. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  421. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  422. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  423. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  424. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  425. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  426. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  427. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  428. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  429. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  430. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  431. package/dist/test/unit/server/login.test.d.ts +0 -2
  432. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  433. package/dist/test/unit/server/login.test.js +0 -127
  434. package/dist/test/unit/server/login.test.js.map +0 -1
  435. package/dist/test/unit/server/session.test.d.ts +0 -2
  436. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  437. package/dist/test/unit/server/session.test.js +0 -41
  438. package/dist/test/unit/server/session.test.js.map +0 -1
  439. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  440. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  441. package/dist/test/unit/services/AuthenticationService.test.js +0 -104
  442. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  443. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  444. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  445. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -74
  446. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  447. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  448. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  449. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -61
  450. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  451. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  452. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  453. package/dist/test/unit/shared/UserSession.test.js +0 -37
  454. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  455. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  456. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  457. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -120
  458. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  459. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  460. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  461. package/dist/test/unit/shared/storage.test.js +0 -53
  462. package/dist/test/unit/shared/storage.test.js.map +0 -1
  463. package/dist/test/unit/utils.test.d.ts +0 -2
  464. package/dist/test/unit/utils.test.d.ts.map +0 -1
  465. package/dist/test/unit/utils.test.js +0 -40
  466. package/dist/test/unit/utils.test.js.map +0 -1
  467. package/dist/types-Bqm9OCZN.d.mts +0 -22
  468. package/dist/types-Bqm9OCZN.d.ts +0 -22
  469. package/dist/types-BxAubCqO.d.mts +0 -58
  470. package/dist/types-BxAubCqO.d.ts +0 -58
  471. package/dist/types-DOfl9w7j.d.mts +0 -23
  472. package/dist/types-DOfl9w7j.d.ts +0 -23
  473. package/dist/types-HdCjGldB.d.mts +0 -58
  474. package/dist/types-HdCjGldB.d.ts +0 -58
  475. package/dist/vitest.config.d.ts +0 -3
  476. package/dist/vitest.config.d.ts.map +0 -1
  477. package/dist/vitest.config.js +0 -40
  478. package/dist/vitest.config.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/AuthProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, {\n type ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport type { Config, DisplayMode, SessionData } from \"@/types.js\";\nimport { CivicAuthIframeContainer } from \"@/shared/components/CivicAuthIframeContainer.js\";\nimport { TokenProvider } from \"@/shared/providers/TokenProvider.js\";\nimport { SessionProvider } from \"@/shared/providers/SessionProvider.js\";\nimport { DEFAULT_SCOPES } from \"@/constants.js\";\nimport { authConfig } from \"@/config.js\";\nimport { LoadingIcon } from \"@/shared/components/LoadingIcon.js\";\nimport { isWindowInIframe } from \"@/lib/windowUtil.js\";\nimport { AuthContext } from \"@/shared/providers/AuthContext.js\";\nimport {\n BrowserAuthenticationInitiator,\n BrowserAuthenticationService,\n} from \"@/services/AuthenticationService.js\";\nimport type { AuthenticationResolver, PKCEConsumer } from \"@/services/types.js\";\nimport { PopupError } from \"@/services/types.js\";\nimport { ConfidentialClientPKCEConsumer } from \"@/services/PKCE.js\";\nimport { generateState } from \"@/lib/oauth.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { ConfigProvider } from \"@/shared/providers/ConfigProvider.js\";\nimport { getUser } from \"../lib/session.js\";\nimport { GenericUserSession } from \"../lib/UserSession.js\";\nimport { IframeProvider } from \"@/shared/providers/IframeProvider.js\";\n\n// Global this object setup\nlet globalThisObject;\nif (typeof window !== \"undefined\") {\n globalThisObject = window;\n} else if (typeof global !== \"undefined\") {\n globalThisObject = global;\n} else {\n globalThisObject = Function(\"return this\")();\n}\nglobalThisObject.globalThis = globalThisObject;\n\nexport type AuthProviderProps = {\n children: ReactNode;\n clientId: string;\n nonce?: string;\n onSignIn?: (error?: Error) => void;\n onSignOut?: () => Promise<void>;\n modalIframe?: boolean; // set to false if the iframe is being embedded in the client app\n config?: Config;\n redirectUrl?: string;\n};\n\nexport type InternalAuthProviderProps = AuthProviderProps & {\n sessionData?: SessionData;\n pkceConsumer?: PKCEConsumer;\n};\n\nfunction BlockDisplay({ children }: { children: ReactNode }) {\n return (\n <div\n style={{\n position: \"relative\",\n left: 0,\n top: 0,\n zIndex: 50,\n display: \"flex\",\n height: \"100vh\",\n width: \"100vw\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"white\",\n }}\n >\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"white\",\n }}\n >\n {children}\n </div>\n </div>\n );\n}\n\nconst AuthProvider = ({\n children,\n clientId,\n redirectUrl: inputRedirectUrl,\n config = authConfig,\n onSignIn,\n onSignOut,\n pkceConsumer,\n nonce,\n modalIframe = true,\n sessionData: inputSessionData,\n}: InternalAuthProviderProps) => {\n const [iframeUrl, setIframeUrl] = useState<string | null>(null);\n const [currentUrl, setCurrentUrl] = useState<string | null>(null);\n const [isInIframe, setIsInIframe] = useState(false);\n const [authResponseUrl, setAuthResponseUrl] = useState<string | null>(null);\n const [tokenExchangeError, setTokenExchangeError] = useState<Error>();\n const [displayMode, setDisplayMode] = useState<DisplayMode>(\"iframe\");\n const [browserAuthenticationInitiator, setBrowserAuthenticationInitiator] =\n useState<BrowserAuthenticationInitiator | null>();\n const [showIFrame, setShowIFrame] = useState(false);\n const [isRedirecting, setIsRedirecting] = useState(false);\n const queryClient = useQueryClient();\n const iframeRef = useRef<HTMLIFrameElement>(null);\n\n // TODO maybe we want to support or derive serverTokenExchange another way?\n const serverTokenExchange =\n pkceConsumer instanceof ConfidentialClientPKCEConsumer;\n // check if the current window is in an iframe with the iframe id, and set an isInIframe state\n useEffect(() => {\n if (typeof globalThis.window !== \"undefined\") {\n setCurrentUrl(globalThis.window.location.href);\n const isInIframeVal = isWindowInIframe(globalThis.window);\n setIsInIframe(isInIframeVal);\n }\n }, []);\n\n const redirectUrl = useMemo(\n () => (inputRedirectUrl || currentUrl || \"\").split(\"?\")[0],\n [currentUrl, inputRedirectUrl],\n );\n\n const [authService, setAuthService] = useState<AuthenticationResolver>();\n\n useEffect(() => {\n if (!currentUrl || !redirectUrl) return;\n BrowserAuthenticationService.build({\n clientId,\n redirectUrl,\n oauthServer: config.oauthServer,\n scopes: DEFAULT_SCOPES,\n displayMode,\n }).then(setAuthService);\n }, [currentUrl, clientId, redirectUrl, config, displayMode]);\n\n const {\n data: session,\n isLoading,\n error,\n } = useQuery({\n queryKey: [\n \"session\",\n authResponseUrl,\n iframeUrl,\n currentUrl,\n isInIframe,\n authService,\n ],\n queryFn: async () => {\n if (!authService) {\n return { authenticated: false };\n }\n if (inputSessionData) {\n return inputSessionData;\n }\n const url = new URL(\n authResponseUrl\n ? authResponseUrl\n : globalThis.window.location.href || \"\",\n );\n // if we have existing tokens, then validate them and return the session data\n // otherwise check if we have a code in the url and exchange it for tokens\n // if we have neither, return undefined\n const existingSessionData = await authService.validateExistingSession();\n if (existingSessionData.authenticated) {\n return existingSessionData;\n }\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n if (!serverTokenExchange && code && state && !isInIframe) {\n try {\n await authService.tokenExchange(code, state);\n const clientStorage = new LocalStorageAdapter();\n const user = await getUser(clientStorage);\n if (!user) {\n throw new Error(\"Failed to get user info\");\n }\n\n const userSession = new GenericUserSession(clientStorage);\n userSession.set(user);\n\n onSignIn?.(); // Call onSignIn without an error if successful\n return authService.getSessionData();\n } catch (error) {\n setTokenExchangeError(error as Error);\n onSignIn?.(\n error instanceof Error ? error : new Error(\"Failed to sign in\"),\n ); // Pass the error to onSignIn\n return { authenticated: false };\n }\n }\n\n return existingSessionData;\n },\n });\n\n const signOutMutation = useMutation({\n mutationFn: async () => {\n await onSignOut?.();\n // Implement signOut logic here\n const authInitiator = getAuthInitiator();\n await authInitiator?.signOut();\n setIframeUrl(null);\n setShowIFrame(false);\n setAuthResponseUrl(null);\n },\n onSuccess: () => {\n queryClient.setQueryData(\n [\n \"session\",\n authResponseUrl,\n iframeUrl,\n currentUrl,\n isInIframe,\n authService,\n ],\n null,\n );\n },\n });\n\n const getAuthInitiator = useCallback(\n (overrideDisplayMode?: DisplayMode) => {\n const useDisplayMode = overrideDisplayMode || displayMode;\n if (!pkceConsumer || !redirectUrl) {\n return null;\n }\n return (\n browserAuthenticationInitiator ||\n new BrowserAuthenticationInitiator({\n pkceConsumer, // generate and retrieve the challenge client-side\n clientId,\n redirectUrl,\n state: generateState(useDisplayMode, serverTokenExchange),\n scopes: DEFAULT_SCOPES,\n displayMode: useDisplayMode,\n oauthServer: config.oauthServer,\n // the endpoints to use for the login (if not obtained from the auth server\n endpointOverrides: config.endpoints,\n nonce,\n })\n );\n },\n [\n serverTokenExchange,\n displayMode,\n browserAuthenticationInitiator,\n clientId,\n redirectUrl,\n config.oauthServer,\n config.endpoints,\n pkceConsumer,\n nonce,\n ],\n );\n\n const signIn = useCallback(\n async (overrideDisplayMode: DisplayMode = \"iframe\") => {\n setDisplayMode(overrideDisplayMode);\n const authInitiator = getAuthInitiator(overrideDisplayMode);\n setBrowserAuthenticationInitiator(authInitiator);\n if (overrideDisplayMode === \"iframe\") {\n setShowIFrame(true);\n } else if (overrideDisplayMode === \"redirect\") {\n setIsRedirecting(true);\n }\n authInitiator?.signIn(iframeRef.current).catch((error) => {\n console.log(\"signIn error\", {\n error,\n isPopupError: error instanceof PopupError,\n });\n // if we've tried to open a popup and it has failed, then fallback to redirect mode\n if (error instanceof PopupError) {\n signIn(\"redirect\");\n }\n });\n },\n [getAuthInitiator],\n );\n\n // remove event listeners when the component unmounts\n useEffect(() => {\n return () => {\n if (browserAuthenticationInitiator) {\n browserAuthenticationInitiator.cleanup();\n }\n };\n }, [browserAuthenticationInitiator]);\n\n const isAuthenticated = useMemo(\n () => (session ? session.authenticated : false),\n [session],\n );\n\n useQuery({\n queryKey: [\"autoSignIn\", modalIframe, redirectUrl, isAuthenticated],\n queryFn: async () => {\n if (\n !modalIframe &&\n redirectUrl &&\n !isAuthenticated &&\n iframeRef.current\n ) {\n signIn(\"iframe\");\n }\n return true;\n },\n refetchOnWindowFocus: false,\n });\n\n const value = useMemo(\n () => ({\n isLoading,\n error: error as Error | null,\n signOut: async () => {\n await signOutMutation.mutateAsync();\n },\n isAuthenticated,\n signIn,\n }),\n [isLoading, error, signOutMutation, isAuthenticated, signIn],\n );\n\n if (!redirectUrl) return null;\n\n return (\n <AuthContext.Provider value={value}>\n <ConfigProvider\n config={config}\n redirectUrl={redirectUrl}\n modalIframe={modalIframe}\n serverTokenExchange={serverTokenExchange}\n >\n <IframeProvider\n setAuthResponseUrl={setAuthResponseUrl}\n iframeRef={iframeRef}\n >\n <SessionProvider session={session}>\n <TokenProvider>\n {modalIframe && !isInIframe && !session?.authenticated && (\n <div\n style={\n showIFrame ? { display: \"block\" } : { display: \"none\" }\n }\n >\n <CivicAuthIframeContainer\n onClose={() => setShowIFrame(false)}\n />\n </div>\n )}\n\n {modalIframe &&\n (isInIframe ||\n isRedirecting ||\n (isLoading && !serverTokenExchange)) && (\n <BlockDisplay>\n <LoadingIcon />\n </BlockDisplay>\n )}\n\n {(tokenExchangeError || error) && (\n <BlockDisplay>\n <div>\n Error: {(tokenExchangeError || (error as Error)).message}\n </div>\n </BlockDisplay>\n )}\n {children}\n </TokenProvider>\n </SessionProvider>\n </IframeProvider>\n </ConfigProvider>\n </AuthContext.Provider>\n );\n};\n\nexport { AuthProvider };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/CivicAuthProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAQ5C,KAAK,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAEtE,QAAA,MAAM,iBAAiB,2BAA4B,sBAAsB,sBAaxE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- "use client";
2
- import React from "react";
3
- import { AuthProvider, } from "@/shared/providers/AuthProvider.js";
4
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
5
- import { BrowserPublicClientPKCEProducer } from "@/services/PKCE.js";
6
- import { UserProvider } from "./UserProvider.js";
7
- import { LocalStorageAdapter } from "@/browser/storage.js";
8
- const queryClient = new QueryClient();
9
- const CivicAuthProvider = ({ children, ...props }) => {
10
- return (React.createElement(QueryClientProvider, { client: queryClient },
11
- React.createElement(AuthProvider, { ...props, pkceConsumer: new BrowserPublicClientPKCEProducer() },
12
- React.createElement(UserProvider, { storage: new LocalStorageAdapter() }, children))));
13
- };
14
- export { CivicAuthProvider };
15
- //# sourceMappingURL=CivicAuthProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/CivicAuthProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,GAEb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAItC,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA0B,EAAE,EAAE;IAC3E,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;QACtC,oBAAC,YAAY,OACP,KAAK,EACT,YAAY,EAAE,IAAI,+BAA+B,EAAE;YAEnD,oBAAC,YAAY,IAAC,OAAO,EAAE,IAAI,mBAAmB,EAAE,IAC7C,QAAQ,CACI,CACF,CACK,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAA+B,CAAC","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport {\n AuthProvider,\n type AuthProviderProps,\n} from \"@/shared/providers/AuthProvider.js\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { BrowserPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { UserProvider } from \"./UserProvider.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\n\nconst queryClient = new QueryClient();\n\ntype CivicAuthProviderProps = Omit<AuthProviderProps, \"pkceConsumer\">;\n\nconst CivicAuthProvider = ({ children, ...props }: CivicAuthProviderProps) => {\n return (\n <QueryClientProvider client={queryClient}>\n <AuthProvider\n {...props}\n pkceConsumer={new BrowserPublicClientPKCEProducer()}\n >\n <UserProvider storage={new LocalStorageAdapter()}>\n {children}\n </UserProvider>\n </AuthProvider>\n </QueryClientProvider>\n );\n};\n\nexport { CivicAuthProvider, type CivicAuthProviderProps };\n"]}
@@ -1,21 +0,0 @@
1
- import type { Config } from "@/types.js";
2
- import type { ReactNode } from "react";
3
- import React from "react";
4
- export type ConfigProviderOutput = {
5
- config: Config;
6
- redirectUrl: string;
7
- modalIframe: boolean;
8
- serverTokenExchange: boolean;
9
- };
10
- declare const ConfigContext: React.Context<ConfigProviderOutput>;
11
- type ConfigContextType = {
12
- children: ReactNode;
13
- config: Config;
14
- redirectUrl: string;
15
- modalIframe?: boolean;
16
- serverTokenExchange: boolean;
17
- };
18
- declare const ConfigProvider: ({ children, config, redirectUrl, modalIframe, serverTokenExchange, }: ConfigContextType) => React.JSX.Element;
19
- export type { ConfigContextType };
20
- export { ConfigProvider, ConfigContext };
21
- //# sourceMappingURL=ConfigProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/ConfigProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAQF,QAAA,MAAM,aAAa,qCAAqD,CAAC;AAEzE,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,cAAc,yEAMjB,iBAAiB,sBAWnB,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -1,19 +0,0 @@
1
- "use client";
2
- import { authConfig } from "@/config.js";
3
- import React, { createContext } from "react";
4
- const defaultConfig = {
5
- config: authConfig,
6
- redirectUrl: "",
7
- modalIframe: true,
8
- serverTokenExchange: false,
9
- };
10
- // Context for exposing Config specifically to the TokenProvider
11
- const ConfigContext = createContext(defaultConfig);
12
- const ConfigProvider = ({ children, config, redirectUrl, modalIframe, serverTokenExchange, }) => (React.createElement(ConfigContext.Provider, { value: {
13
- config,
14
- redirectUrl,
15
- modalIframe: !!modalIframe,
16
- serverTokenExchange,
17
- } }, children));
18
- export { ConfigProvider, ConfigContext };
19
- //# sourceMappingURL=ConfigProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/ConfigProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ7C,MAAM,aAAa,GAAyB;IAC1C,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,IAAI;IACjB,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AACF,gEAAgE;AAChE,MAAM,aAAa,GAAG,aAAa,CAAuB,aAAa,CAAC,CAAC;AAUzE,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,WAAW,EACX,mBAAmB,GACD,EAAE,EAAE,CAAC,CACvB,oBAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;QACL,MAAM;QACN,WAAW;QACX,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,mBAAmB;KACpB,IAEA,QAAQ,CACc,CAC1B,CAAC;AAGF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { authConfig } from \"@/config.js\";\nimport type { Config } from \"@/types.js\";\nimport type { ReactNode } from \"react\";\nimport React, { createContext } from \"react\";\n\nexport type ConfigProviderOutput = {\n config: Config;\n redirectUrl: string;\n modalIframe: boolean;\n serverTokenExchange: boolean;\n};\nconst defaultConfig: ConfigProviderOutput = {\n config: authConfig,\n redirectUrl: \"\",\n modalIframe: true,\n serverTokenExchange: false,\n};\n// Context for exposing Config specifically to the TokenProvider\nconst ConfigContext = createContext<ConfigProviderOutput>(defaultConfig);\n\ntype ConfigContextType = {\n children: ReactNode;\n config: Config;\n redirectUrl: string;\n modalIframe?: boolean;\n serverTokenExchange: boolean;\n};\n\nconst ConfigProvider = ({\n children,\n config,\n redirectUrl,\n modalIframe,\n serverTokenExchange,\n}: ConfigContextType) => (\n <ConfigContext.Provider\n value={{\n config,\n redirectUrl,\n modalIframe: !!modalIframe,\n serverTokenExchange,\n }}\n >\n {children}\n </ConfigContext.Provider>\n);\n\nexport type { ConfigContextType };\nexport { ConfigProvider, ConfigContext };\n"]}
@@ -1,16 +0,0 @@
1
- import type { Dispatch, ReactNode, RefObject, SetStateAction } from "react";
2
- import React from "react";
3
- export type IframeProviderOutput = {
4
- iframeRef: RefObject<HTMLIFrameElement> | null;
5
- setAuthResponseUrl: Dispatch<SetStateAction<string | null>>;
6
- };
7
- declare const IframeContext: React.Context<IframeProviderOutput>;
8
- type IframeContextType = {
9
- children: ReactNode;
10
- iframeRef: RefObject<HTMLIFrameElement> | null;
11
- setAuthResponseUrl: Dispatch<SetStateAction<string | null>>;
12
- };
13
- declare const IframeProvider: ({ children, iframeRef, setAuthResponseUrl, }: IframeContextType) => React.JSX.Element;
14
- export type { IframeContextType };
15
- export { IframeProvider, IframeContext };
16
- //# sourceMappingURL=IframeProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IframeProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/IframeProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC/C,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC7D,CAAC;AAOF,QAAA,MAAM,aAAa,qCAAqD,CAAC;AAEzE,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC/C,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC7D,CAAC;AAEF,QAAA,MAAM,cAAc,iDAIjB,iBAAiB,sBAInB,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -1,11 +0,0 @@
1
- "use client";
2
- import React, { createContext } from "react";
3
- const defaultIframe = {
4
- iframeRef: null,
5
- setAuthResponseUrl: () => { },
6
- };
7
- // Context for exposing Iframe specifically to the TokenProvider
8
- const IframeContext = createContext(defaultIframe);
9
- const IframeProvider = ({ children, iframeRef, setAuthResponseUrl, }) => (React.createElement(IframeContext.Provider, { value: { iframeRef, setAuthResponseUrl } }, children));
10
- export { IframeProvider, IframeContext };
11
- //# sourceMappingURL=IframeProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IframeProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/IframeProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM7C,MAAM,aAAa,GAAyB;IAC1C,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;CAC7B,CAAC;AAEF,gEAAgE;AAChE,MAAM,aAAa,GAAG,aAAa,CAAuB,aAAa,CAAC,CAAC;AAQzE,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,kBAAkB,GACA,EAAE,EAAE,CAAC,CACvB,oBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAC7D,QAAQ,CACc,CAC1B,CAAC;AAGF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC","sourcesContent":["\"use client\";\nimport type { Dispatch, ReactNode, RefObject, SetStateAction } from \"react\";\nimport React, { createContext } from \"react\";\n\nexport type IframeProviderOutput = {\n iframeRef: RefObject<HTMLIFrameElement> | null;\n setAuthResponseUrl: Dispatch<SetStateAction<string | null>>;\n};\nconst defaultIframe: IframeProviderOutput = {\n iframeRef: null,\n setAuthResponseUrl: () => {},\n};\n\n// Context for exposing Iframe specifically to the TokenProvider\nconst IframeContext = createContext<IframeProviderOutput>(defaultIframe);\n\ntype IframeContextType = {\n children: ReactNode;\n iframeRef: RefObject<HTMLIFrameElement> | null;\n setAuthResponseUrl: Dispatch<SetStateAction<string | null>>;\n};\n\nconst IframeProvider = ({\n children,\n iframeRef,\n setAuthResponseUrl,\n}: IframeContextType) => (\n <IframeContext.Provider value={{ iframeRef, setAuthResponseUrl }}>\n {children}\n </IframeContext.Provider>\n);\n\nexport type { IframeContextType };\nexport { IframeProvider, IframeContext };\n"]}
@@ -1,13 +0,0 @@
1
- import type { SessionData } from "@/types.js";
2
- import type { ReactNode } from "react";
3
- import React from "react";
4
- export type SessionProviderOutput = SessionData;
5
- declare const SessionContext: React.Context<SessionData>;
6
- type SessionContextType = {
7
- children: ReactNode;
8
- session?: SessionData | null;
9
- };
10
- declare const SessionProvider: ({ children, session }: SessionContextType) => React.JSX.Element;
11
- export type { SessionContextType };
12
- export { SessionProvider, SessionContext };
13
- //# sourceMappingURL=SessionProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/SessionProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAShD,QAAA,MAAM,cAAc,4BAAuD,CAAC;AAE5E,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,eAAe,0BAA2B,kBAAkB,sBAIjE,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- "use client";
2
- import React, { createContext } from "react";
3
- const defaultSession = {
4
- authenticated: false,
5
- idToken: undefined,
6
- accessToken: undefined,
7
- displayMode: "iframe",
8
- };
9
- // Context for exposing session specifically to the TokenProvider
10
- const SessionContext = createContext(defaultSession);
11
- const SessionProvider = ({ children, session }) => (React.createElement(SessionContext.Provider, { value: { ...defaultSession, ...(session || {}) } }, children));
12
- export { SessionProvider, SessionContext };
13
- //# sourceMappingURL=SessionProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/SessionProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,MAAM,cAAc,GAA0B;IAC5C,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF,iEAAiE;AACjE,MAAM,cAAc,GAAG,aAAa,CAAwB,cAAc,CAAC,CAAC;AAO5E,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAsB,EAAE,EAAE,CAAC,CACrE,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,IACtE,QAAQ,CACe,CAC3B,CAAC;AAGF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC","sourcesContent":["\"use client\";\nimport type { SessionData } from \"@/types.js\";\nimport type { ReactNode } from \"react\";\nimport React, { createContext } from \"react\";\n\nexport type SessionProviderOutput = SessionData;\nconst defaultSession: SessionProviderOutput = {\n authenticated: false,\n idToken: undefined,\n accessToken: undefined,\n displayMode: \"iframe\",\n};\n\n// Context for exposing session specifically to the TokenProvider\nconst SessionContext = createContext<SessionProviderOutput>(defaultSession);\n\ntype SessionContextType = {\n children: ReactNode;\n session?: SessionData | null;\n};\n\nconst SessionProvider = ({ children, session }: SessionContextType) => (\n <SessionContext.Provider value={{ ...defaultSession, ...(session || {}) }}>\n {children}\n </SessionContext.Provider>\n);\n\nexport type { SessionContextType };\nexport { SessionProvider, SessionContext };\n"]}
@@ -1,18 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import React from "react";
3
- import type { ForwardedTokens } from "@/types.js";
4
- type TokenContextType = {
5
- accessToken: string | null;
6
- idToken: string | null;
7
- forwardedTokens: ForwardedTokens;
8
- refreshToken: () => Promise<void>;
9
- isLoading: boolean;
10
- error: Error | null;
11
- };
12
- declare const TokenContext: React.Context<TokenContextType | undefined>;
13
- declare const TokenProvider: ({ children }: {
14
- children: ReactNode;
15
- }) => React.JSX.Element;
16
- export type { TokenContextType };
17
- export { TokenProvider, TokenContext };
18
- //# sourceMappingURL=TokenProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/TokenProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAiC,MAAM,OAAO,CAAC;AAItD,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,YAAY,CAAC;AAI3D,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,YAAY,6CAAyD,CAAC;AAE5E,QAAA,MAAM,aAAa,iBAAkB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sBAqD3D,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"}
@@ -1,53 +0,0 @@
1
- "use client";
2
- import React, { createContext, useMemo } from "react";
3
- import { useMutation, useQueryClient } from "@tanstack/react-query";
4
- import { useAuth } from "@/shared/hooks/useAuth.js";
5
- import { useSession } from "@/shared/hooks/useSession.js";
6
- import { parseJWT } from "oslo/jwt";
7
- import { convertForwardedTokenFormat } from "@/lib/jwt.js";
8
- const TokenContext = createContext(undefined);
9
- const TokenProvider = ({ children }) => {
10
- const { isLoading, error: authError } = useAuth();
11
- const session = useSession();
12
- const queryClient = useQueryClient();
13
- const refreshTokenMutation = useMutation({
14
- mutationFn: async () => {
15
- // Implement token refresh logic here
16
- throw new Error("Method not implemented.");
17
- },
18
- onSuccess: () => {
19
- // Invalidate and refetch queries that depend on the auth session
20
- queryClient.invalidateQueries({ queryKey: ["session"] });
21
- },
22
- });
23
- const decodeTokens = useMemo(() => {
24
- if (!session?.idToken)
25
- return null;
26
- const parsedJWT = parseJWT(session.idToken);
27
- if (!parsedJWT)
28
- return null;
29
- const { forwardedTokens } = parsedJWT.payload;
30
- return forwardedTokens
31
- ? convertForwardedTokenFormat(forwardedTokens)
32
- : null;
33
- }, [session?.idToken]);
34
- const value = useMemo(() => ({
35
- accessToken: session.accessToken || null,
36
- idToken: session.idToken || null,
37
- forwardedTokens: decodeTokens || {},
38
- refreshToken: refreshTokenMutation.mutateAsync,
39
- isLoading,
40
- error: (authError || refreshTokenMutation.error),
41
- }), [
42
- session.accessToken,
43
- session.idToken,
44
- decodeTokens,
45
- refreshTokenMutation.mutateAsync,
46
- refreshTokenMutation.error,
47
- isLoading,
48
- authError,
49
- ]);
50
- return (React.createElement(TokenContext.Provider, { value: value }, children));
51
- };
52
- export { TokenProvider, TokenContext };
53
- //# sourceMappingURL=TokenProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/TokenProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAW3D,MAAM,YAAY,GAAG,aAAa,CAA+B,SAAS,CAAC,CAAC;AAE5E,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IAC9D,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,oBAAoB,GAAG,WAAW,CAAC;QACvC,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,qCAAqC;YACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,iEAAiE;YACjE,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,OAAO,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAmB,CAAC;QAE9D,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QAE9C,OAAO,eAAe;YACpB,CAAC,CAAC,2BAA2B,CAAC,eAAe,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAChC,eAAe,EAAE,YAAY,IAAI,EAAE;QACnC,YAAY,EAAE,oBAAoB,CAAC,WAAW;QAC9C,SAAS;QACT,KAAK,EAAE,CAAC,SAAS,IAAI,oBAAoB,CAAC,KAAK,CAAiB;KACjE,CAAC,EACF;QACE,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,OAAO;QACf,YAAY;QACZ,oBAAoB,CAAC,WAAW;QAChC,oBAAoB,CAAC,KAAK;QAC1B,SAAS;QACT,SAAS;KACV,CACF,CAAC;IAEF,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAyB,CACxE,CAAC;AACJ,CAAC,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC","sourcesContent":["\"use client\";\nimport type { ReactNode } from \"react\";\nimport React, { createContext, useMemo } from \"react\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useAuth } from \"@/shared/hooks/useAuth.js\";\nimport { useSession } from \"@/shared/hooks/useSession.js\";\nimport type { ForwardedTokens, IdToken } from \"@/types.js\";\nimport { parseJWT } from \"oslo/jwt\";\nimport { convertForwardedTokenFormat } from \"@/lib/jwt.js\";\n\ntype TokenContextType = {\n accessToken: string | null;\n idToken: string | null;\n forwardedTokens: ForwardedTokens;\n refreshToken: () => Promise<void>;\n isLoading: boolean;\n error: Error | null;\n};\n\nconst TokenContext = createContext<TokenContextType | undefined>(undefined);\n\nconst TokenProvider = ({ children }: { children: ReactNode }) => {\n const { isLoading, error: authError } = useAuth();\n const session = useSession();\n const queryClient = useQueryClient();\n\n const refreshTokenMutation = useMutation({\n mutationFn: async () => {\n // Implement token refresh logic here\n throw new Error(\"Method not implemented.\");\n },\n onSuccess: () => {\n // Invalidate and refetch queries that depend on the auth session\n queryClient.invalidateQueries({ queryKey: [\"session\"] });\n },\n });\n\n const decodeTokens = useMemo(() => {\n if (!session?.idToken) return null;\n\n const parsedJWT = parseJWT(session.idToken) as IdToken | null;\n\n if (!parsedJWT) return null;\n\n const { forwardedTokens } = parsedJWT.payload;\n\n return forwardedTokens\n ? convertForwardedTokenFormat(forwardedTokens)\n : null;\n }, [session?.idToken]);\n\n const value = useMemo(\n () => ({\n accessToken: session.accessToken || null,\n idToken: session.idToken || null,\n forwardedTokens: decodeTokens || {},\n refreshToken: refreshTokenMutation.mutateAsync,\n isLoading,\n error: (authError || refreshTokenMutation.error) as Error | null,\n }),\n [\n session.accessToken,\n session.idToken,\n decodeTokens,\n refreshTokenMutation.mutateAsync,\n refreshTokenMutation.error,\n isLoading,\n authError,\n ],\n );\n\n return (\n <TokenContext.Provider value={value}>{children}</TokenContext.Provider>\n );\n};\n\nexport type { TokenContextType };\nexport { TokenProvider, TokenContext };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/UserProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,KAAK,eAAe,CAClB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1E,GAAG,CAAC,SAAS,CAAC,IACd;IACF,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACtB,GAAG,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAE7C,QAAA,MAAM,WAAW,yEAA8C,CAAC;AAEhE,QAAA,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,kEAKxC;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,sBA0CA,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1,38 +0,0 @@
1
- "use client";
2
- import React, { createContext } from "react";
3
- import { useQuery } from "@tanstack/react-query";
4
- import { useAuth } from "@/shared/hooks/useAuth.js";
5
- import { useToken } from "@/shared/hooks/useToken.js";
6
- import { useSession } from "@/shared/hooks/useSession.js";
7
- import { GenericUserSession } from "@/shared/lib/UserSession.js";
8
- const UserContext = createContext(null);
9
- const UserProvider = ({ children, storage, user: inputUser, signOut: inputSignOut, }) => {
10
- const { isLoading: authLoading, error: authError } = useAuth();
11
- const session = useSession();
12
- const { accessToken, idToken } = useToken();
13
- const { signIn, signOut } = useAuth();
14
- const fetchUser = async () => {
15
- if (!accessToken) {
16
- return null;
17
- }
18
- const userSession = new GenericUserSession(storage);
19
- return userSession.get();
20
- };
21
- const { data: user, isLoading: userLoading, error: userError, } = useQuery({
22
- queryKey: ["user", session?.idToken],
23
- queryFn: fetchUser,
24
- enabled: !!session?.idToken, // Only run the query if we have an access token
25
- });
26
- const isLoading = authLoading || userLoading;
27
- const error = authError || userError;
28
- const userWithIdToken = user ? { ...user, idToken } : null;
29
- return (React.createElement(UserContext.Provider, { value: {
30
- user: (inputUser || userWithIdToken) ?? null,
31
- isLoading,
32
- error,
33
- signIn,
34
- signOut: inputSignOut || signOut,
35
- } }, children));
36
- };
37
- export { UserProvider, UserContext };
38
- //# sourceMappingURL=UserProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserProvider.js","sourceRoot":"","sources":["../../../../src/shared/providers/UserProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AASjE,MAAM,WAAW,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAC;AAEhE,MAAM,YAAY,GAAG,CAAwB,EAC3C,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,YAAY,GAMtB,EAAE,EAAE;IACH,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAEtC,MAAM,SAAS,GAAG,KAAK,IAA0B,EAAE;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,EACJ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,SAAS,GACjB,GAA0C,QAAQ,CAAC;QAClD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACpC,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,gDAAgD;KAC9E,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,WAAW,IAAI,WAAW,CAAC;IAC7C,MAAM,KAAK,GAAG,SAAS,IAAI,SAAS,CAAC;IAErC,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3D,OAAO,CACL,oBAAC,WAAW,CAAC,QAAQ,IACnB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,IAAI;YAC5C,SAAS;YACT,KAAK;YACL,MAAM;YACN,OAAO,EAAE,YAAY,IAAI,OAAO;SACjC,IAEA,QAAQ,CACY,CACxB,CAAC;AACJ,CAAC,CAAC;AAIF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC","sourcesContent":["\"use client\";\n\nimport React, { createContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport type { UseQueryResult } from \"@tanstack/react-query\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { JWT } from \"oslo/jwt\";\nimport type { AuthStorage, EmptyObject, User } from \"@/types.js\";\nimport { useAuth } from \"@/shared/hooks/useAuth.js\";\nimport { useToken } from \"@/shared/hooks/useToken.js\";\nimport { useSession } from \"@/shared/hooks/useSession.js\";\nimport type { AuthContextType } from \"@/shared/providers/AuthContext.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\n\ntype UserContextType<\n T extends Record<string, unknown> & JWT[\"payload\"] = Record<string, unknown> &\n JWT[\"payload\"],\n> = {\n user: User<T> | null;\n} & Omit<AuthContextType, \"isAuthenticated\">;\n\nconst UserContext = createContext<UserContextType | null>(null);\n\nconst UserProvider = <T extends EmptyObject>({\n children,\n storage,\n user: inputUser,\n signOut: inputSignOut,\n}: {\n children: ReactNode;\n storage: AuthStorage;\n user?: User<T> | null;\n signOut?: () => Promise<void>;\n}) => {\n const { isLoading: authLoading, error: authError } = useAuth();\n const session = useSession();\n const { accessToken, idToken } = useToken();\n const { signIn, signOut } = useAuth();\n\n const fetchUser = async (): Promise<User | null> => {\n if (!accessToken) {\n return null;\n }\n const userSession = new GenericUserSession(storage);\n return userSession.get();\n };\n\n const {\n data: user,\n isLoading: userLoading,\n error: userError,\n }: UseQueryResult<User<T> | null, Error> = useQuery({\n queryKey: [\"user\", session?.idToken],\n queryFn: fetchUser,\n enabled: !!session?.idToken, // Only run the query if we have an access token\n });\n\n const isLoading = authLoading || userLoading;\n const error = authError || userError;\n\n const userWithIdToken = user ? { ...user, idToken } : null;\n\n return (\n <UserContext.Provider\n value={{\n user: (inputUser || userWithIdToken) ?? null,\n isLoading,\n error,\n signIn,\n signOut: inputSignOut || signOut,\n }}\n >\n {children}\n </UserContext.Provider>\n );\n};\n\nexport type { UserContextType };\n\nexport { UserProvider, UserContext };\n"]}
@@ -1,146 +0,0 @@
1
- import type { TokenResponseBody } from "oslo/oauth2";
2
- import type { JWT } from "oslo/jwt";
3
- type UnknownObject = Record<string, unknown>;
4
- type EmptyObject = Record<string, never>;
5
- type DisplayMode = "iframe" | "redirect" | "new_tab" | "custom_tab";
6
- interface AuthSessionService {
7
- loadAuthorizationUrl(authorizationURL: string, displayMode: DisplayMode): void;
8
- getAuthorizationUrl(scopes: string[], overrideDisplayMode: DisplayMode, nonce?: string): Promise<string>;
9
- signIn(displayMode: DisplayMode, scopes: string[], nonce?: string): Promise<void>;
10
- tokenExchange(responseUrl: string): Promise<SessionData>;
11
- getSessionData(): SessionData;
12
- updateSessionData(data: SessionData): void;
13
- getUserInfoService(): Promise<UserInfoService>;
14
- }
15
- interface TokenService {
16
- exchangeCodeForTokens(authCode: string): Promise<Tokens>;
17
- validateIdToken(idToken: string, nonce: string): boolean;
18
- refreshAccessToken(refreshToken: string): Promise<Tokens>;
19
- }
20
- interface UserInfoService {
21
- getUserInfo<T extends UnknownObject>(accessToken: string, idToken: string | null): Promise<User<T> | null>;
22
- }
23
- interface ResourceService {
24
- getProtectedResource(accessToken: string): Promise<unknown>;
25
- }
26
- type AuthRequest = {
27
- clientId: string;
28
- redirectUri: string;
29
- state: string;
30
- nonce: string;
31
- scope: string;
32
- };
33
- type Endpoints = {
34
- jwks: string;
35
- auth: string;
36
- token: string;
37
- userinfo: string;
38
- challenge?: string;
39
- };
40
- type Config = {
41
- oauthServer: string;
42
- endpoints?: Endpoints;
43
- };
44
- type SessionData = {
45
- authenticated: boolean;
46
- state?: string;
47
- accessToken?: string;
48
- refreshToken?: string;
49
- idToken?: string;
50
- timestamp?: number;
51
- expiresIn?: number;
52
- codeVerifier?: string;
53
- displayMode?: DisplayMode;
54
- openerUrl?: string;
55
- };
56
- type OIDCTokenResponseBody = TokenResponseBody & {
57
- id_token: string;
58
- };
59
- type ParsedTokens = {
60
- id_token: JWTPayload;
61
- access_token: JWTPayload;
62
- refresh_token?: string;
63
- };
64
- type ForwardedTokens = Record<string, {
65
- idToken?: string;
66
- accessToken?: string;
67
- refreshToken?: string;
68
- }>;
69
- type ForwardedTokensJWT = Record<string, {
70
- id_token?: string;
71
- access_token?: string;
72
- refresh_token?: string;
73
- scope?: string;
74
- }>;
75
- type JWTPayload = JWT["payload"] & {
76
- iss: string;
77
- aud: string;
78
- sub: string;
79
- iat: number;
80
- exp: number;
81
- };
82
- type IdTokenPayload = JWTPayload & {
83
- forwardedTokens?: ForwardedTokensJWT;
84
- email?: string;
85
- name?: string;
86
- picture?: string;
87
- nonce: string;
88
- at_hash: string;
89
- };
90
- type IdToken = Omit<JWT, "payload"> & {
91
- payload: IdTokenPayload;
92
- };
93
- type Tokens = {
94
- idToken: string;
95
- accessToken: string;
96
- refreshToken: string;
97
- forwardedTokens: ForwardedTokens;
98
- };
99
- type BaseUser = {
100
- id: string;
101
- email?: string;
102
- name?: string;
103
- given_name?: string;
104
- family_name?: string;
105
- picture?: string;
106
- updated_at?: Date;
107
- };
108
- type User<T extends UnknownObject = EmptyObject> = BaseUser & Partial<Tokens> & T;
109
- type OpenIdConfiguration = {
110
- authorization_endpoint: string;
111
- claims_parameter_supported: boolean;
112
- claims_supported: string[];
113
- code_challenge_methods_supported: string[];
114
- end_session_endpoint: string;
115
- grant_types_supported: string[];
116
- issuer: string;
117
- jwks_uri: string;
118
- authorization_response_iss_parameter_supported: boolean;
119
- response_modes_supported: string[];
120
- response_types_supported: string[];
121
- scopes_supported: string[];
122
- subject_types_supported: string[];
123
- token_endpoint_auth_methods_supported: string[];
124
- token_endpoint_auth_signing_alg_values_supported: string[];
125
- token_endpoint: string;
126
- id_token_signing_alg_values_supported: string[];
127
- pushed_authorization_request_endpoint: string;
128
- request_parameter_supported: boolean;
129
- request_uri_parameter_supported: boolean;
130
- userinfo_endpoint: string;
131
- claim_types_supported: string[];
132
- };
133
- type LoginPostMessage = {
134
- source: string;
135
- type: string;
136
- clientId: string;
137
- data: {
138
- url: string;
139
- };
140
- };
141
- export type { LoginPostMessage, AuthSessionService, TokenService, UserInfoService, ResourceService, AuthRequest, Tokens, Endpoints, Config, SessionData, OIDCTokenResponseBody, ParsedTokens, BaseUser, User, DisplayMode, UnknownObject, EmptyObject, ForwardedTokens, ForwardedTokensJWT, JWTPayload, IdTokenPayload, IdToken, OpenIdConfiguration, };
142
- export interface AuthStorage {
143
- get(key: string): string | null;
144
- set(key: string, value: string): void;
145
- }
146
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAGzC,KAAK,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAGpE,UAAU,kBAAkB;IAE1B,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,WAAW,GACvB,IAAI,CAAC;IAER,mBAAmB,CACjB,MAAM,EAAE,MAAM,EAAE,EAChB,mBAAmB,EAAE,WAAW,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,MAAM,CACJ,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD,cAAc,IAAI,WAAW,CAAC;IAE9B,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;CAChD;AAGD,UAAU,YAAY;IACpB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAGD,UAAU,eAAe;IACvB,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CAC5B;AAGD,UAAU,eAAe;IACvB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D;AAGD,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,qBAAqB,GAAG,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,UAAU,CAAC;IACrB,YAAY,EAAE,UAAU,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAGF,KAAK,eAAe,GAAG,MAAM,CAC3B,MAAM,EACN;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CACF,CAAC;AAGF,KAAK,kBAAkB,GAAG,MAAM,CAC9B,MAAM,EACN;IACE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAEF,KAAK,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,cAAc,GAAG,UAAU,GAAG;IACjC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG;IACpC,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAGF,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,CAAC;AAEF,KAAK,IAAI,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,IAAI,QAAQ,GACzD,OAAO,CAAC,MAAM,CAAC,GACf,CAAC,CAAC;AAEJ,KAAK,mBAAmB,GAAG;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,OAAO,CAAC;IACpC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gCAAgC,EAAE,MAAM,EAAE,CAAC;IAC3C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C,EAAE,OAAO,CAAC;IACxD,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,qCAAqC,EAAE,MAAM,EAAE,CAAC;IAChD,gDAAgD,EAAE,MAAM,EAAE,CAAC;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC,EAAE,MAAM,EAAE,CAAC;IAChD,qCAAqC,EAAE,MAAM,CAAC;IAC9C,2BAA2B,EAAE,OAAO,CAAC;IACrC,+BAA+B,EAAE,OAAO,CAAC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AACF,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,OAAO,EACP,mBAAmB,GACpB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
package/dist/src/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { TokenResponseBody } from \"oslo/oauth2\";\nimport type { JWT } from \"oslo/jwt\";\n\ntype UnknownObject = Record<string, unknown>;\ntype EmptyObject = Record<string, never>;\n\n// Display modes for the auth flow\ntype DisplayMode = \"iframe\" | \"redirect\" | \"new_tab\" | \"custom_tab\";\n\n// Combined Auth and Session Service\ninterface AuthSessionService {\n // TODO DK NOTES: Should be in BrowserAuthSessionService, not relevant on backend\n loadAuthorizationUrl(\n authorizationURL: string,\n displayMode: DisplayMode,\n ): void;\n // TODO DK NOTES: overrideDisplayMode parameter not appropriate here - also - do we need both this and the above in the interface?\n getAuthorizationUrl(\n scopes: string[],\n overrideDisplayMode: DisplayMode,\n nonce?: string,\n ): Promise<string>;\n // TODO DK NOTES: display mode should be in browser version only. Also, do we need this and the above two in the top-level interface?\n signIn(\n displayMode: DisplayMode,\n scopes: string[],\n nonce?: string,\n ): Promise<void>;\n // TODO DK NOTES: Input should be an auth code - do not assume it comes via an url\n tokenExchange(responseUrl: string): Promise<SessionData>;\n // TODO DK NOTES: Should be async for flexibility\n getSessionData(): SessionData;\n // TODO DK NOTES: Should be async for flexibility\n updateSessionData(data: SessionData): void;\n getUserInfoService(): Promise<UserInfoService>;\n}\n\n// Token Service\ninterface TokenService {\n exchangeCodeForTokens(authCode: string): Promise<Tokens>;\n validateIdToken(idToken: string, nonce: string): boolean;\n refreshAccessToken(refreshToken: string): Promise<Tokens>;\n}\n\n// User Info Service\ninterface UserInfoService {\n getUserInfo<T extends UnknownObject>(\n accessToken: string,\n idToken: string | null,\n ): Promise<User<T> | null>;\n}\n\n// Resource Service\ninterface ResourceService {\n getProtectedResource(accessToken: string): Promise<unknown>;\n}\n\n// Auth Request (for internal use in AuthSessionService)\ntype AuthRequest = {\n clientId: string;\n redirectUri: string;\n state: string;\n nonce: string;\n scope: string;\n};\n\ntype Endpoints = {\n jwks: string;\n auth: string;\n token: string;\n userinfo: string;\n challenge?: string;\n};\n\ntype Config = {\n oauthServer: string;\n endpoints?: Endpoints;\n};\n\ntype SessionData = {\n authenticated: boolean; // TODO can this be inferred from the presence of the tokens?\n state?: string;\n accessToken?: string;\n refreshToken?: string;\n idToken?: string;\n timestamp?: number;\n expiresIn?: number;\n codeVerifier?: string;\n displayMode?: DisplayMode;\n openerUrl?: string;\n};\n\ntype OIDCTokenResponseBody = TokenResponseBody & { id_token: string };\n\ntype ParsedTokens = {\n id_token: JWTPayload;\n access_token: JWTPayload;\n refresh_token?: string;\n};\n\n// The format we expose to the frontend via hooks\ntype ForwardedTokens = Record<\n string,\n {\n idToken?: string;\n accessToken?: string;\n refreshToken?: string;\n }\n>;\n\n// The format in the JWT payload\ntype ForwardedTokensJWT = Record<\n string,\n {\n id_token?: string;\n access_token?: string;\n refresh_token?: string;\n scope?: string;\n }\n>;\n\ntype JWTPayload = JWT[\"payload\"] & {\n iss: string;\n aud: string;\n sub: string;\n iat: number;\n exp: number;\n};\n\ntype IdTokenPayload = JWTPayload & {\n forwardedTokens?: ForwardedTokensJWT;\n email?: string;\n name?: string;\n picture?: string;\n nonce: string;\n at_hash: string;\n};\n\ntype IdToken = Omit<JWT, \"payload\"> & {\n payload: IdTokenPayload;\n};\n\ntype Tokens = {\n idToken: string;\n accessToken: string;\n refreshToken: string;\n forwardedTokens: ForwardedTokens;\n};\n\n// Base user interface\ntype BaseUser = {\n id: string;\n email?: string;\n name?: string;\n given_name?: string;\n family_name?: string;\n picture?: string;\n updated_at?: Date;\n};\n\ntype User<T extends UnknownObject = EmptyObject> = BaseUser &\n Partial<Tokens> &\n T;\n\ntype OpenIdConfiguration = {\n authorization_endpoint: string;\n claims_parameter_supported: boolean;\n claims_supported: string[];\n code_challenge_methods_supported: string[];\n end_session_endpoint: string;\n grant_types_supported: string[];\n issuer: string;\n jwks_uri: string;\n authorization_response_iss_parameter_supported: boolean;\n response_modes_supported: string[];\n response_types_supported: string[];\n scopes_supported: string[];\n subject_types_supported: string[];\n token_endpoint_auth_methods_supported: string[];\n token_endpoint_auth_signing_alg_values_supported: string[];\n token_endpoint: string;\n id_token_signing_alg_values_supported: string[];\n pushed_authorization_request_endpoint: string;\n request_parameter_supported: boolean;\n request_uri_parameter_supported: boolean;\n userinfo_endpoint: string;\n claim_types_supported: string[];\n};\n\ntype LoginPostMessage = {\n source: string;\n type: string;\n clientId: string;\n data: {\n url: string;\n };\n};\nexport type {\n LoginPostMessage,\n AuthSessionService,\n TokenService,\n UserInfoService,\n ResourceService,\n AuthRequest,\n Tokens,\n Endpoints,\n Config,\n SessionData,\n OIDCTokenResponseBody,\n ParsedTokens,\n BaseUser,\n User,\n DisplayMode,\n UnknownObject,\n EmptyObject,\n ForwardedTokens,\n ForwardedTokensJWT,\n JWTPayload,\n IdTokenPayload,\n IdToken,\n OpenIdConfiguration,\n};\n\nexport interface AuthStorage {\n get(key: string): string | null;\n set(key: string, value: string): void;\n}\n"]}
@@ -1,15 +0,0 @@
1
- /**
2
- * Checks if a popup window is blocked by the browser.
3
- *
4
- * This function attempts to open a small popup window and then checks if it was successfully created.
5
- * If the popup is blocked by the browser, the function returns `true`. Otherwise, it returns `false`.
6
- *
7
- * @returns {boolean} - `true` if the popup is blocked, `false` otherwise.
8
- */
9
- declare const isPopupBlocked: () => boolean;
10
- type WithoutUndefined<T> = {
11
- [K in keyof T as undefined extends T[K] ? never : K]: T[K];
12
- };
13
- export declare const withoutUndefined: <T extends { [K in keyof T]: unknown; }>(obj: T) => WithoutUndefined<T>;
14
- export { isPopupBlocked };
15
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,QAAO,OAsB1B,CAAC;AAOF,KAAK,gBAAgB,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AACF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,GAAG,CAAY,IAAP,MAAM,CAAC,GAAG,OAAO,GAAE,OAC/D,CAAC,KACL,gBAAgB,CAAC,CAAC,CAapB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
package/dist/src/utils.js DELETED
@@ -1,43 +0,0 @@
1
- /**
2
- * Checks if a popup window is blocked by the browser.
3
- *
4
- * This function attempts to open a small popup window and then checks if it was successfully created.
5
- * If the popup is blocked by the browser, the function returns `true`. Otherwise, it returns `false`.
6
- *
7
- * @returns {boolean} - `true` if the popup is blocked, `false` otherwise.
8
- */
9
- const isPopupBlocked = () => {
10
- // First we try to open a small popup window. It either returns a window object or null.
11
- const popup = window.open("", "", "width=1,height=1");
12
- // If window.open() returns null, popup is definitely blocked
13
- if (!popup) {
14
- return true;
15
- }
16
- try {
17
- // Try to access a property of the popup to check if it's usable
18
- if (typeof popup.closed === "undefined") {
19
- throw new Error("Popup is blocked");
20
- }
21
- }
22
- catch {
23
- // Accessing the popup's properties throws an error if the popup is blocked
24
- return true;
25
- }
26
- // Close the popup immediately if it was opened
27
- popup.close();
28
- return false;
29
- };
30
- export const withoutUndefined = (obj) => {
31
- const result = {};
32
- for (const key in obj) {
33
- if (obj[key] !== undefined) {
34
- // TypeScript needs assurance that key is a valid key in WithoutUndefined<T>
35
- // We use type assertion here
36
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
- result[key] = obj[key];
38
- }
39
- }
40
- return result;
41
- };
42
- export { isPopupBlocked };
43
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,GAAY,EAAE;IACnC,wFAAwF;IACxF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAEtD,6DAA6D;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,gEAAgE;QAChE,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAM,EACe,EAAE;IACvB,MAAM,MAAM,GAAG,EAAyB,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,4EAA4E;YAC5E,6BAA6B;YAC7B,8DAA8D;YAC7D,MAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["/**\n * Checks if a popup window is blocked by the browser.\n *\n * This function attempts to open a small popup window and then checks if it was successfully created.\n * If the popup is blocked by the browser, the function returns `true`. Otherwise, it returns `false`.\n *\n * @returns {boolean} - `true` if the popup is blocked, `false` otherwise.\n */\nconst isPopupBlocked = (): boolean => {\n // First we try to open a small popup window. It either returns a window object or null.\n const popup = window.open(\"\", \"\", \"width=1,height=1\");\n\n // If window.open() returns null, popup is definitely blocked\n if (!popup) {\n return true;\n }\n\n try {\n // Try to access a property of the popup to check if it's usable\n if (typeof popup.closed === \"undefined\") {\n throw new Error(\"Popup is blocked\");\n }\n } catch {\n // Accessing the popup's properties throws an error if the popup is blocked\n return true;\n }\n\n // Close the popup immediately if it was opened\n popup.close();\n return false;\n};\n\n// This type narrows T as far as it can by:\n// - removing all keys where the value is `undefined`\n// - making keys that are not undefined required\n// So, for example: given { a: string | undefined, b: string | undefined },\n// if you pass in { a: \"foo\" }, it returns an object of type: { a: string }\ntype WithoutUndefined<T> = {\n [K in keyof T as undefined extends T[K] ? never : K]: T[K];\n};\nexport const withoutUndefined = <T extends { [K in keyof T]: unknown }>(\n obj: T,\n): WithoutUndefined<T> => {\n const result = {} as WithoutUndefined<T>;\n\n for (const key in obj) {\n if (obj[key] !== undefined) {\n // TypeScript needs assurance that key is a valid key in WithoutUndefined<T>\n // We use type assertion here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[key] = obj[key];\n }\n }\n\n return result;\n};\n\nexport { isPopupBlocked };\n"]}