@civic/auth 0.3.7 → 0.3.8-beta.1

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 (777) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +9 -2
  3. package/dist/lib/cookies.d.ts.map +1 -1
  4. package/dist/lib/jwt.d.ts.map +1 -1
  5. package/dist/lib/logger.d.ts.map +1 -1
  6. package/dist/lib/oauth.d.ts.map +1 -1
  7. package/dist/lib/obj.d.ts.map +1 -1
  8. package/dist/lib/postMessage.d.ts.map +1 -1
  9. package/dist/lib/windowUtil.d.ts.map +1 -1
  10. package/dist/nextjs/config.d.ts.map +1 -1
  11. package/dist/nextjs/hooks/useRefresh.d.ts.map +1 -1
  12. package/dist/nextjs/index.d.ts.map +1 -1
  13. package/dist/nextjs/middleware.d.ts +4 -4
  14. package/dist/nextjs/middleware.d.ts.map +1 -1
  15. package/dist/nextjs/middleware.js +9 -7
  16. package/dist/nextjs/middleware.js.map +1 -1
  17. package/dist/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
  18. package/dist/nextjs/providers/NextAuthProvider.js +9 -4
  19. package/dist/nextjs/providers/NextAuthProvider.js.map +1 -1
  20. package/dist/nextjs/routeHandler.d.ts.map +1 -1
  21. package/dist/nextjs/utils.d.ts.map +1 -1
  22. package/dist/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -1
  23. package/dist/reactjs/components/SignInButton.d.ts.map +1 -1
  24. package/dist/reactjs/components/SignOutButton.d.ts.map +1 -1
  25. package/dist/reactjs/components/UserButton.d.ts.map +1 -1
  26. package/dist/reactjs/components/utils.d.ts.map +1 -1
  27. package/dist/reactjs/hooks/useUser.d.ts.map +1 -1
  28. package/dist/reactjs/providers/AuthProvider.d.ts.map +1 -1
  29. package/dist/reactjs/providers/AuthProvider.js +3 -1
  30. package/dist/reactjs/providers/AuthProvider.js.map +1 -1
  31. package/dist/reactjs/providers/CivicAuthProvider.d.ts.map +1 -1
  32. package/dist/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -1
  33. package/dist/shared/components/BlockDisplay.d.ts.map +1 -1
  34. package/dist/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
  35. package/dist/shared/components/CivicAuthIframeContainer.js +4 -1
  36. package/dist/shared/components/CivicAuthIframeContainer.js.map +1 -1
  37. package/dist/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +1 -1
  38. package/dist/shared/components/IFrameAndLoading.d.ts.map +1 -1
  39. package/dist/shared/components/LoadingIcon.d.ts.map +1 -1
  40. package/dist/shared/hooks/useOAuthEndpoints.d.ts.map +1 -1
  41. package/dist/shared/hooks/useRefresh.d.ts.map +1 -1
  42. package/dist/shared/hooks/useSignIn.d.ts.map +1 -1
  43. package/dist/shared/hooks/useSignIn.js +3 -3
  44. package/dist/shared/hooks/useSignIn.js.map +1 -1
  45. package/dist/shared/lib/iframeUtils.d.ts +1 -1
  46. package/dist/shared/lib/iframeUtils.d.ts.map +1 -1
  47. package/dist/shared/lib/iframeUtils.js +2 -2
  48. package/dist/shared/lib/iframeUtils.js.map +1 -1
  49. package/dist/shared/lib/util.d.ts.map +1 -1
  50. package/dist/shared/providers/CivicAuthConfigContext.d.ts.map +1 -1
  51. package/dist/shared/providers/IframeProvider.d.ts +3 -0
  52. package/dist/shared/providers/IframeProvider.d.ts.map +1 -1
  53. package/dist/shared/providers/IframeProvider.js +5 -0
  54. package/dist/shared/providers/IframeProvider.js.map +1 -1
  55. package/dist/shared/providers/SessionProvider.d.ts.map +1 -1
  56. package/dist/shared/providers/TokenProvider.d.ts.map +1 -1
  57. package/dist/shared/providers/UserProvider.d.ts.map +1 -1
  58. package/dist/shared/version.d.ts +1 -1
  59. package/dist/shared/version.d.ts.map +1 -1
  60. package/dist/shared/version.js +1 -1
  61. package/dist/shared/version.js.map +1 -1
  62. package/dist/utils.d.ts.map +1 -1
  63. package/package.json +1 -1
  64. package/dist/cjs/browser/storage.d.ts +0 -10
  65. package/dist/cjs/browser/storage.d.ts.map +0 -1
  66. package/dist/cjs/browser/storage.js +0 -24
  67. package/dist/cjs/browser/storage.js.map +0 -1
  68. package/dist/cjs/config.d.ts +0 -3
  69. package/dist/cjs/config.d.ts.map +0 -1
  70. package/dist/cjs/config.js +0 -8
  71. package/dist/cjs/config.js.map +0 -1
  72. package/dist/cjs/constants.d.ts +0 -15
  73. package/dist/cjs/constants.d.ts.map +0 -1
  74. package/dist/cjs/constants.js +0 -44
  75. package/dist/cjs/constants.js.map +0 -1
  76. package/dist/cjs/index.d.ts +0 -8
  77. package/dist/cjs/index.d.ts.map +0 -1
  78. package/dist/cjs/index.js +0 -11
  79. package/dist/cjs/index.js.map +0 -1
  80. package/dist/cjs/lib/cookies.d.ts +0 -7
  81. package/dist/cjs/lib/cookies.d.ts.map +0 -1
  82. package/dist/cjs/lib/cookies.js +0 -29
  83. package/dist/cjs/lib/cookies.js.map +0 -1
  84. package/dist/cjs/lib/jwt.d.ts +0 -3
  85. package/dist/cjs/lib/jwt.d.ts.map +0 -1
  86. package/dist/cjs/lib/jwt.js +0 -13
  87. package/dist/cjs/lib/jwt.js.map +0 -1
  88. package/dist/cjs/lib/logger.d.ts +0 -26
  89. package/dist/cjs/lib/logger.d.ts.map +0 -1
  90. package/dist/cjs/lib/logger.js +0 -62
  91. package/dist/cjs/lib/logger.js.map +0 -1
  92. package/dist/cjs/lib/oauth.d.ts +0 -19
  93. package/dist/cjs/lib/oauth.d.ts.map +0 -1
  94. package/dist/cjs/lib/oauth.js +0 -74
  95. package/dist/cjs/lib/oauth.js.map +0 -1
  96. package/dist/cjs/lib/obj.d.ts +0 -3
  97. package/dist/cjs/lib/obj.d.ts.map +0 -1
  98. package/dist/cjs/lib/obj.js +0 -21
  99. package/dist/cjs/lib/obj.js.map +0 -1
  100. package/dist/cjs/lib/postMessage.d.ts +0 -4
  101. package/dist/cjs/lib/postMessage.d.ts.map +0 -1
  102. package/dist/cjs/lib/postMessage.js +0 -16
  103. package/dist/cjs/lib/postMessage.js.map +0 -1
  104. package/dist/cjs/lib/windowUtil.d.ts +0 -4
  105. package/dist/cjs/lib/windowUtil.d.ts.map +0 -1
  106. package/dist/cjs/lib/windowUtil.js +0 -35
  107. package/dist/cjs/lib/windowUtil.js.map +0 -1
  108. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts +0 -9
  109. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  110. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js +0 -26
  111. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  112. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts +0 -11
  113. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +0 -1
  114. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js +0 -21
  115. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js.map +0 -1
  116. package/dist/cjs/nextjs/config.d.ts +0 -209
  117. package/dist/cjs/nextjs/config.d.ts.map +0 -1
  118. package/dist/cjs/nextjs/config.js +0 -191
  119. package/dist/cjs/nextjs/config.js.map +0 -1
  120. package/dist/cjs/nextjs/cookies.d.ts +0 -16
  121. package/dist/cjs/nextjs/cookies.d.ts.map +0 -1
  122. package/dist/cjs/nextjs/cookies.js +0 -44
  123. package/dist/cjs/nextjs/cookies.js.map +0 -1
  124. package/dist/cjs/nextjs/hooks/index.d.ts +0 -2
  125. package/dist/cjs/nextjs/hooks/index.d.ts.map +0 -1
  126. package/dist/cjs/nextjs/hooks/index.js +0 -6
  127. package/dist/cjs/nextjs/hooks/index.js.map +0 -1
  128. package/dist/cjs/nextjs/hooks/usePrevious.d.ts +0 -2
  129. package/dist/cjs/nextjs/hooks/usePrevious.d.ts.map +0 -1
  130. package/dist/cjs/nextjs/hooks/usePrevious.js +0 -12
  131. package/dist/cjs/nextjs/hooks/usePrevious.js.map +0 -1
  132. package/dist/cjs/nextjs/hooks/useRefresh.d.ts +0 -4
  133. package/dist/cjs/nextjs/hooks/useRefresh.d.ts.map +0 -1
  134. package/dist/cjs/nextjs/hooks/useRefresh.js +0 -43
  135. package/dist/cjs/nextjs/hooks/useRefresh.js.map +0 -1
  136. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts +0 -8
  137. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  138. package/dist/cjs/nextjs/hooks/useUserCookie.js +0 -93
  139. package/dist/cjs/nextjs/hooks/useUserCookie.js.map +0 -1
  140. package/dist/cjs/nextjs/index.d.ts +0 -9
  141. package/dist/cjs/nextjs/index.d.ts.map +0 -1
  142. package/dist/cjs/nextjs/index.js +0 -27
  143. package/dist/cjs/nextjs/index.js.map +0 -1
  144. package/dist/cjs/nextjs/middleware/index.d.ts +0 -2
  145. package/dist/cjs/nextjs/middleware/index.d.ts.map +0 -1
  146. package/dist/cjs/nextjs/middleware/index.js +0 -10
  147. package/dist/cjs/nextjs/middleware/index.js.map +0 -1
  148. package/dist/cjs/nextjs/middleware.d.ts +0 -57
  149. package/dist/cjs/nextjs/middleware.d.ts.map +0 -1
  150. package/dist/cjs/nextjs/middleware.js +0 -110
  151. package/dist/cjs/nextjs/middleware.js.map +0 -1
  152. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts +0 -9
  153. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  154. package/dist/cjs/nextjs/providers/NextAuthProvider.js +0 -102
  155. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +0 -1
  156. package/dist/cjs/nextjs/routeHandler.d.ts +0 -19
  157. package/dist/cjs/nextjs/routeHandler.d.ts.map +0 -1
  158. package/dist/cjs/nextjs/routeHandler.js +0 -318
  159. package/dist/cjs/nextjs/routeHandler.js.map +0 -1
  160. package/dist/cjs/nextjs/utils.d.ts +0 -3
  161. package/dist/cjs/nextjs/utils.d.ts.map +0 -1
  162. package/dist/cjs/nextjs/utils.js +0 -9
  163. package/dist/cjs/nextjs/utils.js.map +0 -1
  164. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  165. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  166. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +0 -40
  167. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  168. package/dist/cjs/reactjs/components/SignInButton.d.ts +0 -9
  169. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +0 -1
  170. package/dist/cjs/reactjs/components/SignInButton.js +0 -31
  171. package/dist/cjs/reactjs/components/SignInButton.js.map +0 -1
  172. package/dist/cjs/reactjs/components/SignOutButton.d.ts +0 -7
  173. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +0 -1
  174. package/dist/cjs/reactjs/components/SignOutButton.js +0 -27
  175. package/dist/cjs/reactjs/components/SignOutButton.js.map +0 -1
  176. package/dist/cjs/reactjs/components/UserButton.d.ts +0 -9
  177. package/dist/cjs/reactjs/components/UserButton.d.ts.map +0 -1
  178. package/dist/cjs/reactjs/components/UserButton.js +0 -145
  179. package/dist/cjs/reactjs/components/UserButton.js.map +0 -1
  180. package/dist/cjs/reactjs/components/index.d.ts +0 -6
  181. package/dist/cjs/reactjs/components/index.d.ts.map +0 -1
  182. package/dist/cjs/reactjs/components/index.js +0 -14
  183. package/dist/cjs/reactjs/components/index.js.map +0 -1
  184. package/dist/cjs/reactjs/components/utils.d.ts +0 -13
  185. package/dist/cjs/reactjs/components/utils.d.ts.map +0 -1
  186. package/dist/cjs/reactjs/components/utils.js +0 -31
  187. package/dist/cjs/reactjs/components/utils.js.map +0 -1
  188. package/dist/cjs/reactjs/hooks/index.d.ts +0 -3
  189. package/dist/cjs/reactjs/hooks/index.d.ts.map +0 -1
  190. package/dist/cjs/reactjs/hooks/index.js +0 -8
  191. package/dist/cjs/reactjs/hooks/index.js.map +0 -1
  192. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  193. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  194. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js +0 -16
  195. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  196. package/dist/cjs/reactjs/hooks/useUser.d.ts +0 -4
  197. package/dist/cjs/reactjs/hooks/useUser.d.ts.map +0 -1
  198. package/dist/cjs/reactjs/hooks/useUser.js +0 -15
  199. package/dist/cjs/reactjs/hooks/useUser.js.map +0 -1
  200. package/dist/cjs/reactjs/index.d.ts +0 -6
  201. package/dist/cjs/reactjs/index.d.ts.map +0 -1
  202. package/dist/cjs/reactjs/index.js +0 -32
  203. package/dist/cjs/reactjs/index.js.map +0 -1
  204. package/dist/cjs/reactjs/providers/AuthProvider.d.ts +0 -10
  205. package/dist/cjs/reactjs/providers/AuthProvider.d.ts.map +0 -1
  206. package/dist/cjs/reactjs/providers/AuthProvider.js +0 -91
  207. package/dist/cjs/reactjs/providers/AuthProvider.js.map +0 -1
  208. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  209. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  210. package/dist/cjs/reactjs/providers/CivicAuthProvider.js +0 -29
  211. package/dist/cjs/reactjs/providers/CivicAuthProvider.js.map +0 -1
  212. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  213. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  214. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -147
  215. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  216. package/dist/cjs/reactjs/providers/index.d.ts +0 -8
  217. package/dist/cjs/reactjs/providers/index.d.ts.map +0 -1
  218. package/dist/cjs/reactjs/providers/index.js +0 -19
  219. package/dist/cjs/reactjs/providers/index.js.map +0 -1
  220. package/dist/cjs/server/ServerAuthenticationResolver.d.ts +0 -20
  221. package/dist/cjs/server/ServerAuthenticationResolver.d.ts.map +0 -1
  222. package/dist/cjs/server/ServerAuthenticationResolver.js +0 -71
  223. package/dist/cjs/server/ServerAuthenticationResolver.js.map +0 -1
  224. package/dist/cjs/server/config.d.ts +0 -11
  225. package/dist/cjs/server/config.d.ts.map +0 -1
  226. package/dist/cjs/server/config.js +0 -3
  227. package/dist/cjs/server/config.js.map +0 -1
  228. package/dist/cjs/server/index.d.ts +0 -9
  229. package/dist/cjs/server/index.d.ts.map +0 -1
  230. package/dist/cjs/server/index.js +0 -21
  231. package/dist/cjs/server/index.js.map +0 -1
  232. package/dist/cjs/server/login.d.ts +0 -17
  233. package/dist/cjs/server/login.d.ts.map +0 -1
  234. package/dist/cjs/server/login.js +0 -42
  235. package/dist/cjs/server/login.js.map +0 -1
  236. package/dist/cjs/server/logout.d.ts +0 -7
  237. package/dist/cjs/server/logout.d.ts.map +0 -1
  238. package/dist/cjs/server/logout.js +0 -26
  239. package/dist/cjs/server/logout.js.map +0 -1
  240. package/dist/cjs/server/refresh.d.ts +0 -7
  241. package/dist/cjs/server/refresh.d.ts.map +0 -1
  242. package/dist/cjs/server/refresh.js +0 -16
  243. package/dist/cjs/server/refresh.js.map +0 -1
  244. package/dist/cjs/services/AuthenticationService.d.ts +0 -93
  245. package/dist/cjs/services/AuthenticationService.d.ts.map +0 -1
  246. package/dist/cjs/services/AuthenticationService.js +0 -372
  247. package/dist/cjs/services/AuthenticationService.js.map +0 -1
  248. package/dist/cjs/services/PKCE.d.ts +0 -20
  249. package/dist/cjs/services/PKCE.d.ts.map +0 -1
  250. package/dist/cjs/services/PKCE.js +0 -50
  251. package/dist/cjs/services/PKCE.js.map +0 -1
  252. package/dist/cjs/services/types.d.ts +0 -24
  253. package/dist/cjs/services/types.d.ts.map +0 -1
  254. package/dist/cjs/services/types.js +0 -11
  255. package/dist/cjs/services/types.js.map +0 -1
  256. package/dist/cjs/shared/components/BlockDisplay.d.ts +0 -6
  257. package/dist/cjs/shared/components/BlockDisplay.d.ts.map +0 -1
  258. package/dist/cjs/shared/components/BlockDisplay.js +0 -32
  259. package/dist/cjs/shared/components/BlockDisplay.js.map +0 -1
  260. package/dist/cjs/shared/components/CivicAuthIframe.d.ts +0 -9
  261. package/dist/cjs/shared/components/CivicAuthIframe.d.ts.map +0 -1
  262. package/dist/cjs/shared/components/CivicAuthIframe.js +0 -66
  263. package/dist/cjs/shared/components/CivicAuthIframe.js.map +0 -1
  264. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  265. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  266. package/dist/cjs/shared/components/CivicAuthIframeContainer.js +0 -158
  267. package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +0 -1
  268. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  269. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  270. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js +0 -21
  271. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  272. package/dist/cjs/shared/components/CloseIcon.d.ts +0 -3
  273. package/dist/cjs/shared/components/CloseIcon.d.ts.map +0 -1
  274. package/dist/cjs/shared/components/CloseIcon.js +0 -7
  275. package/dist/cjs/shared/components/CloseIcon.js.map +0 -1
  276. package/dist/cjs/shared/components/IFrameAndLoading.d.ts +0 -7
  277. package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +0 -1
  278. package/dist/cjs/shared/components/IFrameAndLoading.js +0 -39
  279. package/dist/cjs/shared/components/IFrameAndLoading.js.map +0 -1
  280. package/dist/cjs/shared/components/LoadingIcon.d.ts +0 -6
  281. package/dist/cjs/shared/components/LoadingIcon.d.ts.map +0 -1
  282. package/dist/cjs/shared/components/LoadingIcon.js +0 -28
  283. package/dist/cjs/shared/components/LoadingIcon.js.map +0 -1
  284. package/dist/cjs/shared/components/SVGLoading.d.ts +0 -4
  285. package/dist/cjs/shared/components/SVGLoading.d.ts.map +0 -1
  286. package/dist/cjs/shared/components/SVGLoading.js +0 -30
  287. package/dist/cjs/shared/components/SVGLoading.js.map +0 -1
  288. package/dist/cjs/shared/hooks/index.d.ts +0 -11
  289. package/dist/cjs/shared/hooks/index.d.ts.map +0 -1
  290. package/dist/cjs/shared/hooks/index.js +0 -24
  291. package/dist/cjs/shared/hooks/index.js.map +0 -1
  292. package/dist/cjs/shared/hooks/useAuth.d.ts +0 -3
  293. package/dist/cjs/shared/hooks/useAuth.d.ts.map +0 -1
  294. package/dist/cjs/shared/hooks/useAuth.js +0 -15
  295. package/dist/cjs/shared/hooks/useAuth.js.map +0 -1
  296. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  297. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  298. package/dist/cjs/shared/hooks/useCivicAuthConfig.js +0 -13
  299. package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +0 -1
  300. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts +0 -3
  301. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  302. package/dist/cjs/shared/hooks/useCurrentUrl.js +0 -27
  303. package/dist/cjs/shared/hooks/useCurrentUrl.js.map +0 -1
  304. package/dist/cjs/shared/hooks/useIframe.d.ts +0 -3
  305. package/dist/cjs/shared/hooks/useIframe.d.ts.map +0 -1
  306. package/dist/cjs/shared/hooks/useIframe.js +0 -16
  307. package/dist/cjs/shared/hooks/useIframe.js.map +0 -1
  308. package/dist/cjs/shared/hooks/useIsInIframe.d.ts +0 -3
  309. package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +0 -1
  310. package/dist/cjs/shared/hooks/useIsInIframe.js +0 -17
  311. package/dist/cjs/shared/hooks/useIsInIframe.js.map +0 -1
  312. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  313. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  314. package/dist/cjs/shared/hooks/useOAuthEndpoints.js +0 -17
  315. package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +0 -1
  316. package/dist/cjs/shared/hooks/useRefresh.d.ts +0 -4
  317. package/dist/cjs/shared/hooks/useRefresh.d.ts.map +0 -1
  318. package/dist/cjs/shared/hooks/useRefresh.js +0 -41
  319. package/dist/cjs/shared/hooks/useRefresh.js.map +0 -1
  320. package/dist/cjs/shared/hooks/useSession.d.ts +0 -3
  321. package/dist/cjs/shared/hooks/useSession.d.ts.map +0 -1
  322. package/dist/cjs/shared/hooks/useSession.js +0 -16
  323. package/dist/cjs/shared/hooks/useSession.js.map +0 -1
  324. package/dist/cjs/shared/hooks/useSignIn.d.ts +0 -17
  325. package/dist/cjs/shared/hooks/useSignIn.d.ts.map +0 -1
  326. package/dist/cjs/shared/hooks/useSignIn.js +0 -171
  327. package/dist/cjs/shared/hooks/useSignIn.js.map +0 -1
  328. package/dist/cjs/shared/hooks/useToken.d.ts +0 -3
  329. package/dist/cjs/shared/hooks/useToken.d.ts.map +0 -1
  330. package/dist/cjs/shared/hooks/useToken.js +0 -15
  331. package/dist/cjs/shared/hooks/useToken.js.map +0 -1
  332. package/dist/cjs/shared/hooks/useWindowFocused.d.ts +0 -5
  333. package/dist/cjs/shared/hooks/useWindowFocused.d.ts.map +0 -1
  334. package/dist/cjs/shared/hooks/useWindowFocused.js +0 -24
  335. package/dist/cjs/shared/hooks/useWindowFocused.js.map +0 -1
  336. package/dist/cjs/shared/index.d.ts +0 -7
  337. package/dist/cjs/shared/index.d.ts.map +0 -1
  338. package/dist/cjs/shared/index.js +0 -25
  339. package/dist/cjs/shared/index.js.map +0 -1
  340. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts +0 -14
  341. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  342. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js +0 -52
  343. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  344. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +0 -9
  345. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  346. package/dist/cjs/shared/lib/BrowserCookieStorage.js +0 -60
  347. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +0 -1
  348. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +0 -16
  349. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  350. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +0 -65
  351. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  352. package/dist/cjs/shared/lib/UserSession.d.ts +0 -17
  353. package/dist/cjs/shared/lib/UserSession.d.ts.map +0 -1
  354. package/dist/cjs/shared/lib/UserSession.js +0 -27
  355. package/dist/cjs/shared/lib/UserSession.js.map +0 -1
  356. package/dist/cjs/shared/lib/iframeUtils.d.ts +0 -6
  357. package/dist/cjs/shared/lib/iframeUtils.d.ts.map +0 -1
  358. package/dist/cjs/shared/lib/iframeUtils.js +0 -11
  359. package/dist/cjs/shared/lib/iframeUtils.js.map +0 -1
  360. package/dist/cjs/shared/lib/session.d.ts +0 -4
  361. package/dist/cjs/shared/lib/session.d.ts.map +0 -1
  362. package/dist/cjs/shared/lib/session.js +0 -48
  363. package/dist/cjs/shared/lib/session.js.map +0 -1
  364. package/dist/cjs/shared/lib/storage.d.ts +0 -35
  365. package/dist/cjs/shared/lib/storage.d.ts.map +0 -1
  366. package/dist/cjs/shared/lib/storage.js +0 -21
  367. package/dist/cjs/shared/lib/storage.js.map +0 -1
  368. package/dist/cjs/shared/lib/types.d.ts +0 -39
  369. package/dist/cjs/shared/lib/types.d.ts.map +0 -1
  370. package/dist/cjs/shared/lib/types.js +0 -22
  371. package/dist/cjs/shared/lib/types.js.map +0 -1
  372. package/dist/cjs/shared/lib/util.d.ts +0 -40
  373. package/dist/cjs/shared/lib/util.d.ts.map +0 -1
  374. package/dist/cjs/shared/lib/util.js +0 -239
  375. package/dist/cjs/shared/lib/util.js.map +0 -1
  376. package/dist/cjs/shared/providers/AuthContext.d.ts +0 -12
  377. package/dist/cjs/shared/providers/AuthContext.d.ts.map +0 -1
  378. package/dist/cjs/shared/providers/AuthContext.js +0 -7
  379. package/dist/cjs/shared/providers/AuthContext.js.map +0 -1
  380. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  381. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  382. package/dist/cjs/shared/providers/CivicAuthConfigContext.js +0 -59
  383. package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +0 -1
  384. package/dist/cjs/shared/providers/IframeProvider.d.ts +0 -25
  385. package/dist/cjs/shared/providers/IframeProvider.d.ts.map +0 -1
  386. package/dist/cjs/shared/providers/IframeProvider.js +0 -63
  387. package/dist/cjs/shared/providers/IframeProvider.js.map +0 -1
  388. package/dist/cjs/shared/providers/SessionProvider.d.ts +0 -19
  389. package/dist/cjs/shared/providers/SessionProvider.d.ts.map +0 -1
  390. package/dist/cjs/shared/providers/SessionProvider.js +0 -28
  391. package/dist/cjs/shared/providers/SessionProvider.js.map +0 -1
  392. package/dist/cjs/shared/providers/TokenProvider.d.ts +0 -17
  393. package/dist/cjs/shared/providers/TokenProvider.d.ts.map +0 -1
  394. package/dist/cjs/shared/providers/TokenProvider.js +0 -39
  395. package/dist/cjs/shared/providers/TokenProvider.js.map +0 -1
  396. package/dist/cjs/shared/providers/UserProvider.d.ts +0 -26
  397. package/dist/cjs/shared/providers/UserProvider.d.ts.map +0 -1
  398. package/dist/cjs/shared/providers/UserProvider.js +0 -69
  399. package/dist/cjs/shared/providers/UserProvider.js.map +0 -1
  400. package/dist/cjs/shared/providers/types.d.ts +0 -15
  401. package/dist/cjs/shared/providers/types.d.ts.map +0 -1
  402. package/dist/cjs/shared/providers/types.js +0 -3
  403. package/dist/cjs/shared/providers/types.js.map +0 -1
  404. package/dist/cjs/shared/version.d.ts +0 -2
  405. package/dist/cjs/shared/version.d.ts.map +0 -1
  406. package/dist/cjs/shared/version.js +0 -6
  407. package/dist/cjs/shared/version.js.map +0 -1
  408. package/dist/cjs/types.d.ts +0 -163
  409. package/dist/cjs/types.d.ts.map +0 -1
  410. package/dist/cjs/types.js +0 -20
  411. package/dist/cjs/types.js.map +0 -1
  412. package/dist/cjs/utils.d.ts +0 -15
  413. package/dist/cjs/utils.d.ts.map +0 -1
  414. package/dist/cjs/utils.js +0 -47
  415. package/dist/cjs/utils.js.map +0 -1
  416. package/dist/cjs/version.d.ts +0 -2
  417. package/dist/cjs/version.d.ts.map +0 -1
  418. package/dist/cjs/version.js +0 -6
  419. package/dist/cjs/version.js.map +0 -1
  420. package/dist/esm/browser/storage.d.ts +0 -10
  421. package/dist/esm/browser/storage.d.ts.map +0 -1
  422. package/dist/esm/browser/storage.js +0 -20
  423. package/dist/esm/browser/storage.js.map +0 -1
  424. package/dist/esm/config.d.ts +0 -3
  425. package/dist/esm/config.d.ts.map +0 -1
  426. package/dist/esm/config.js +0 -5
  427. package/dist/esm/config.js.map +0 -1
  428. package/dist/esm/constants.d.ts +0 -15
  429. package/dist/esm/constants.d.ts.map +0 -1
  430. package/dist/esm/constants.js +0 -29
  431. package/dist/esm/constants.js.map +0 -1
  432. package/dist/esm/index.d.ts +0 -8
  433. package/dist/esm/index.d.ts.map +0 -1
  434. package/dist/esm/index.js +0 -6
  435. package/dist/esm/index.js.map +0 -1
  436. package/dist/esm/lib/cookies.d.ts +0 -7
  437. package/dist/esm/lib/cookies.d.ts.map +0 -1
  438. package/dist/esm/lib/cookies.js +0 -26
  439. package/dist/esm/lib/cookies.js.map +0 -1
  440. package/dist/esm/lib/jwt.d.ts +0 -3
  441. package/dist/esm/lib/jwt.d.ts.map +0 -1
  442. package/dist/esm/lib/jwt.js +0 -9
  443. package/dist/esm/lib/jwt.js.map +0 -1
  444. package/dist/esm/lib/logger.d.ts +0 -26
  445. package/dist/esm/lib/logger.d.ts.map +0 -1
  446. package/dist/esm/lib/logger.js +0 -55
  447. package/dist/esm/lib/logger.js.map +0 -1
  448. package/dist/esm/lib/oauth.d.ts +0 -19
  449. package/dist/esm/lib/oauth.d.ts.map +0 -1
  450. package/dist/esm/lib/oauth.js +0 -67
  451. package/dist/esm/lib/oauth.js.map +0 -1
  452. package/dist/esm/lib/obj.d.ts +0 -3
  453. package/dist/esm/lib/obj.d.ts.map +0 -1
  454. package/dist/esm/lib/obj.js +0 -18
  455. package/dist/esm/lib/obj.js.map +0 -1
  456. package/dist/esm/lib/postMessage.d.ts +0 -4
  457. package/dist/esm/lib/postMessage.d.ts.map +0 -1
  458. package/dist/esm/lib/postMessage.js +0 -13
  459. package/dist/esm/lib/postMessage.js.map +0 -1
  460. package/dist/esm/lib/windowUtil.d.ts +0 -4
  461. package/dist/esm/lib/windowUtil.d.ts.map +0 -1
  462. package/dist/esm/lib/windowUtil.js +0 -31
  463. package/dist/esm/lib/windowUtil.js.map +0 -1
  464. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts +0 -9
  465. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  466. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js +0 -22
  467. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  468. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts +0 -11
  469. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +0 -1
  470. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js +0 -17
  471. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js.map +0 -1
  472. package/dist/esm/nextjs/config.d.ts +0 -209
  473. package/dist/esm/nextjs/config.d.ts.map +0 -1
  474. package/dist/esm/nextjs/config.js +0 -186
  475. package/dist/esm/nextjs/config.js.map +0 -1
  476. package/dist/esm/nextjs/cookies.d.ts +0 -16
  477. package/dist/esm/nextjs/cookies.d.ts.map +0 -1
  478. package/dist/esm/nextjs/cookies.js +0 -41
  479. package/dist/esm/nextjs/cookies.js.map +0 -1
  480. package/dist/esm/nextjs/hooks/index.d.ts +0 -2
  481. package/dist/esm/nextjs/hooks/index.d.ts.map +0 -1
  482. package/dist/esm/nextjs/hooks/index.js +0 -2
  483. package/dist/esm/nextjs/hooks/index.js.map +0 -1
  484. package/dist/esm/nextjs/hooks/usePrevious.d.ts +0 -2
  485. package/dist/esm/nextjs/hooks/usePrevious.d.ts.map +0 -1
  486. package/dist/esm/nextjs/hooks/usePrevious.js +0 -9
  487. package/dist/esm/nextjs/hooks/usePrevious.js.map +0 -1
  488. package/dist/esm/nextjs/hooks/useRefresh.d.ts +0 -4
  489. package/dist/esm/nextjs/hooks/useRefresh.d.ts.map +0 -1
  490. package/dist/esm/nextjs/hooks/useRefresh.js +0 -40
  491. package/dist/esm/nextjs/hooks/useRefresh.js.map +0 -1
  492. package/dist/esm/nextjs/hooks/useUserCookie.d.ts +0 -8
  493. package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  494. package/dist/esm/nextjs/hooks/useUserCookie.js +0 -89
  495. package/dist/esm/nextjs/hooks/useUserCookie.js.map +0 -1
  496. package/dist/esm/nextjs/index.d.ts +0 -9
  497. package/dist/esm/nextjs/index.d.ts.map +0 -1
  498. package/dist/esm/nextjs/index.js +0 -17
  499. package/dist/esm/nextjs/index.js.map +0 -1
  500. package/dist/esm/nextjs/middleware/index.d.ts +0 -2
  501. package/dist/esm/nextjs/middleware/index.d.ts.map +0 -1
  502. package/dist/esm/nextjs/middleware/index.js +0 -4
  503. package/dist/esm/nextjs/middleware/index.js.map +0 -1
  504. package/dist/esm/nextjs/middleware.d.ts +0 -57
  505. package/dist/esm/nextjs/middleware.d.ts.map +0 -1
  506. package/dist/esm/nextjs/middleware.js +0 -101
  507. package/dist/esm/nextjs/middleware.js.map +0 -1
  508. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +0 -9
  509. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  510. package/dist/esm/nextjs/providers/NextAuthProvider.js +0 -99
  511. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +0 -1
  512. package/dist/esm/nextjs/routeHandler.d.ts +0 -19
  513. package/dist/esm/nextjs/routeHandler.d.ts.map +0 -1
  514. package/dist/esm/nextjs/routeHandler.js +0 -312
  515. package/dist/esm/nextjs/routeHandler.js.map +0 -1
  516. package/dist/esm/nextjs/utils.d.ts +0 -3
  517. package/dist/esm/nextjs/utils.d.ts.map +0 -1
  518. package/dist/esm/nextjs/utils.js +0 -5
  519. package/dist/esm/nextjs/utils.js.map +0 -1
  520. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  521. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  522. package/dist/esm/reactjs/components/ButtonContentOrLoader.js +0 -37
  523. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  524. package/dist/esm/reactjs/components/SignInButton.d.ts +0 -9
  525. package/dist/esm/reactjs/components/SignInButton.d.ts.map +0 -1
  526. package/dist/esm/reactjs/components/SignInButton.js +0 -28
  527. package/dist/esm/reactjs/components/SignInButton.js.map +0 -1
  528. package/dist/esm/reactjs/components/SignOutButton.d.ts +0 -7
  529. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +0 -1
  530. package/dist/esm/reactjs/components/SignOutButton.js +0 -24
  531. package/dist/esm/reactjs/components/SignOutButton.js.map +0 -1
  532. package/dist/esm/reactjs/components/UserButton.d.ts +0 -9
  533. package/dist/esm/reactjs/components/UserButton.d.ts.map +0 -1
  534. package/dist/esm/reactjs/components/UserButton.js +0 -142
  535. package/dist/esm/reactjs/components/UserButton.js.map +0 -1
  536. package/dist/esm/reactjs/components/index.d.ts +0 -6
  537. package/dist/esm/reactjs/components/index.d.ts.map +0 -1
  538. package/dist/esm/reactjs/components/index.js +0 -6
  539. package/dist/esm/reactjs/components/index.js.map +0 -1
  540. package/dist/esm/reactjs/components/utils.d.ts +0 -13
  541. package/dist/esm/reactjs/components/utils.d.ts.map +0 -1
  542. package/dist/esm/reactjs/components/utils.js +0 -27
  543. package/dist/esm/reactjs/components/utils.js.map +0 -1
  544. package/dist/esm/reactjs/hooks/index.d.ts +0 -3
  545. package/dist/esm/reactjs/hooks/index.d.ts.map +0 -1
  546. package/dist/esm/reactjs/hooks/index.js +0 -3
  547. package/dist/esm/reactjs/hooks/index.js.map +0 -1
  548. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  549. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  550. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  551. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  552. package/dist/esm/reactjs/hooks/useUser.d.ts +0 -4
  553. package/dist/esm/reactjs/hooks/useUser.d.ts.map +0 -1
  554. package/dist/esm/reactjs/hooks/useUser.js +0 -12
  555. package/dist/esm/reactjs/hooks/useUser.js.map +0 -1
  556. package/dist/esm/reactjs/index.d.ts +0 -6
  557. package/dist/esm/reactjs/index.d.ts.map +0 -1
  558. package/dist/esm/reactjs/index.js +0 -10
  559. package/dist/esm/reactjs/index.js.map +0 -1
  560. package/dist/esm/reactjs/providers/AuthProvider.d.ts +0 -10
  561. package/dist/esm/reactjs/providers/AuthProvider.d.ts.map +0 -1
  562. package/dist/esm/reactjs/providers/AuthProvider.js +0 -89
  563. package/dist/esm/reactjs/providers/AuthProvider.js.map +0 -1
  564. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  565. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  566. package/dist/esm/reactjs/providers/CivicAuthProvider.js +0 -27
  567. package/dist/esm/reactjs/providers/CivicAuthProvider.js.map +0 -1
  568. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  569. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  570. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -143
  571. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  572. package/dist/esm/reactjs/providers/index.d.ts +0 -8
  573. package/dist/esm/reactjs/providers/index.d.ts.map +0 -1
  574. package/dist/esm/reactjs/providers/index.js +0 -7
  575. package/dist/esm/reactjs/providers/index.js.map +0 -1
  576. package/dist/esm/server/ServerAuthenticationResolver.d.ts +0 -20
  577. package/dist/esm/server/ServerAuthenticationResolver.d.ts.map +0 -1
  578. package/dist/esm/server/ServerAuthenticationResolver.js +0 -67
  579. package/dist/esm/server/ServerAuthenticationResolver.js.map +0 -1
  580. package/dist/esm/server/config.d.ts +0 -11
  581. package/dist/esm/server/config.d.ts.map +0 -1
  582. package/dist/esm/server/config.js +0 -2
  583. package/dist/esm/server/config.js.map +0 -1
  584. package/dist/esm/server/index.d.ts +0 -9
  585. package/dist/esm/server/index.d.ts.map +0 -1
  586. package/dist/esm/server/index.js +0 -9
  587. package/dist/esm/server/index.js.map +0 -1
  588. package/dist/esm/server/login.d.ts +0 -17
  589. package/dist/esm/server/login.d.ts.map +0 -1
  590. package/dist/esm/server/login.js +0 -37
  591. package/dist/esm/server/login.js.map +0 -1
  592. package/dist/esm/server/logout.d.ts +0 -7
  593. package/dist/esm/server/logout.d.ts.map +0 -1
  594. package/dist/esm/server/logout.js +0 -23
  595. package/dist/esm/server/logout.js.map +0 -1
  596. package/dist/esm/server/refresh.d.ts +0 -7
  597. package/dist/esm/server/refresh.d.ts.map +0 -1
  598. package/dist/esm/server/refresh.js +0 -13
  599. package/dist/esm/server/refresh.js.map +0 -1
  600. package/dist/esm/services/AuthenticationService.d.ts +0 -93
  601. package/dist/esm/services/AuthenticationService.d.ts.map +0 -1
  602. package/dist/esm/services/AuthenticationService.js +0 -366
  603. package/dist/esm/services/AuthenticationService.js.map +0 -1
  604. package/dist/esm/services/PKCE.d.ts +0 -20
  605. package/dist/esm/services/PKCE.d.ts.map +0 -1
  606. package/dist/esm/services/PKCE.js +0 -44
  607. package/dist/esm/services/PKCE.js.map +0 -1
  608. package/dist/esm/services/types.d.ts +0 -24
  609. package/dist/esm/services/types.d.ts.map +0 -1
  610. package/dist/esm/services/types.js +0 -7
  611. package/dist/esm/services/types.js.map +0 -1
  612. package/dist/esm/shared/components/BlockDisplay.d.ts +0 -6
  613. package/dist/esm/shared/components/BlockDisplay.d.ts.map +0 -1
  614. package/dist/esm/shared/components/BlockDisplay.js +0 -29
  615. package/dist/esm/shared/components/BlockDisplay.js.map +0 -1
  616. package/dist/esm/shared/components/CivicAuthIframe.d.ts +0 -9
  617. package/dist/esm/shared/components/CivicAuthIframe.d.ts.map +0 -1
  618. package/dist/esm/shared/components/CivicAuthIframe.js +0 -27
  619. package/dist/esm/shared/components/CivicAuthIframe.js.map +0 -1
  620. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  621. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  622. package/dist/esm/shared/components/CivicAuthIframeContainer.js +0 -154
  623. package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +0 -1
  624. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  625. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  626. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js +0 -19
  627. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  628. package/dist/esm/shared/components/CloseIcon.d.ts +0 -3
  629. package/dist/esm/shared/components/CloseIcon.d.ts.map +0 -1
  630. package/dist/esm/shared/components/CloseIcon.js +0 -5
  631. package/dist/esm/shared/components/CloseIcon.js.map +0 -1
  632. package/dist/esm/shared/components/IFrameAndLoading.d.ts +0 -7
  633. package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +0 -1
  634. package/dist/esm/shared/components/IFrameAndLoading.js +0 -36
  635. package/dist/esm/shared/components/IFrameAndLoading.js.map +0 -1
  636. package/dist/esm/shared/components/LoadingIcon.d.ts +0 -6
  637. package/dist/esm/shared/components/LoadingIcon.d.ts.map +0 -1
  638. package/dist/esm/shared/components/LoadingIcon.js +0 -26
  639. package/dist/esm/shared/components/LoadingIcon.js.map +0 -1
  640. package/dist/esm/shared/components/SVGLoading.d.ts +0 -4
  641. package/dist/esm/shared/components/SVGLoading.d.ts.map +0 -1
  642. package/dist/esm/shared/components/SVGLoading.js +0 -28
  643. package/dist/esm/shared/components/SVGLoading.js.map +0 -1
  644. package/dist/esm/shared/hooks/index.d.ts +0 -11
  645. package/dist/esm/shared/hooks/index.d.ts.map +0 -1
  646. package/dist/esm/shared/hooks/index.js +0 -11
  647. package/dist/esm/shared/hooks/index.js.map +0 -1
  648. package/dist/esm/shared/hooks/useAuth.d.ts +0 -3
  649. package/dist/esm/shared/hooks/useAuth.d.ts.map +0 -1
  650. package/dist/esm/shared/hooks/useAuth.js +0 -12
  651. package/dist/esm/shared/hooks/useAuth.js.map +0 -1
  652. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  653. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  654. package/dist/esm/shared/hooks/useCivicAuthConfig.js +0 -10
  655. package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +0 -1
  656. package/dist/esm/shared/hooks/useCurrentUrl.d.ts +0 -3
  657. package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  658. package/dist/esm/shared/hooks/useCurrentUrl.js +0 -24
  659. package/dist/esm/shared/hooks/useCurrentUrl.js.map +0 -1
  660. package/dist/esm/shared/hooks/useIframe.d.ts +0 -3
  661. package/dist/esm/shared/hooks/useIframe.d.ts.map +0 -1
  662. package/dist/esm/shared/hooks/useIframe.js +0 -13
  663. package/dist/esm/shared/hooks/useIframe.js.map +0 -1
  664. package/dist/esm/shared/hooks/useIsInIframe.d.ts +0 -3
  665. package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +0 -1
  666. package/dist/esm/shared/hooks/useIsInIframe.js +0 -14
  667. package/dist/esm/shared/hooks/useIsInIframe.js.map +0 -1
  668. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  669. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  670. package/dist/esm/shared/hooks/useOAuthEndpoints.js +0 -14
  671. package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +0 -1
  672. package/dist/esm/shared/hooks/useRefresh.d.ts +0 -4
  673. package/dist/esm/shared/hooks/useRefresh.d.ts.map +0 -1
  674. package/dist/esm/shared/hooks/useRefresh.js +0 -38
  675. package/dist/esm/shared/hooks/useRefresh.js.map +0 -1
  676. package/dist/esm/shared/hooks/useSession.d.ts +0 -3
  677. package/dist/esm/shared/hooks/useSession.d.ts.map +0 -1
  678. package/dist/esm/shared/hooks/useSession.js +0 -13
  679. package/dist/esm/shared/hooks/useSession.js.map +0 -1
  680. package/dist/esm/shared/hooks/useSignIn.d.ts +0 -17
  681. package/dist/esm/shared/hooks/useSignIn.d.ts.map +0 -1
  682. package/dist/esm/shared/hooks/useSignIn.js +0 -168
  683. package/dist/esm/shared/hooks/useSignIn.js.map +0 -1
  684. package/dist/esm/shared/hooks/useToken.d.ts +0 -3
  685. package/dist/esm/shared/hooks/useToken.d.ts.map +0 -1
  686. package/dist/esm/shared/hooks/useToken.js +0 -12
  687. package/dist/esm/shared/hooks/useToken.js.map +0 -1
  688. package/dist/esm/shared/hooks/useWindowFocused.d.ts +0 -5
  689. package/dist/esm/shared/hooks/useWindowFocused.d.ts.map +0 -1
  690. package/dist/esm/shared/hooks/useWindowFocused.js +0 -21
  691. package/dist/esm/shared/hooks/useWindowFocused.js.map +0 -1
  692. package/dist/esm/shared/index.d.ts +0 -7
  693. package/dist/esm/shared/index.d.ts.map +0 -1
  694. package/dist/esm/shared/index.js +0 -18
  695. package/dist/esm/shared/index.js.map +0 -1
  696. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts +0 -14
  697. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  698. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js +0 -48
  699. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  700. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +0 -9
  701. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  702. package/dist/esm/shared/lib/BrowserCookieStorage.js +0 -56
  703. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +0 -1
  704. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +0 -16
  705. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  706. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +0 -61
  707. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  708. package/dist/esm/shared/lib/UserSession.d.ts +0 -17
  709. package/dist/esm/shared/lib/UserSession.d.ts.map +0 -1
  710. package/dist/esm/shared/lib/UserSession.js +0 -23
  711. package/dist/esm/shared/lib/UserSession.js.map +0 -1
  712. package/dist/esm/shared/lib/iframeUtils.d.ts +0 -6
  713. package/dist/esm/shared/lib/iframeUtils.d.ts.map +0 -1
  714. package/dist/esm/shared/lib/iframeUtils.js +0 -7
  715. package/dist/esm/shared/lib/iframeUtils.js.map +0 -1
  716. package/dist/esm/shared/lib/session.d.ts +0 -4
  717. package/dist/esm/shared/lib/session.d.ts.map +0 -1
  718. package/dist/esm/shared/lib/session.js +0 -44
  719. package/dist/esm/shared/lib/session.js.map +0 -1
  720. package/dist/esm/shared/lib/storage.d.ts +0 -35
  721. package/dist/esm/shared/lib/storage.d.ts.map +0 -1
  722. package/dist/esm/shared/lib/storage.js +0 -17
  723. package/dist/esm/shared/lib/storage.js.map +0 -1
  724. package/dist/esm/shared/lib/types.d.ts +0 -39
  725. package/dist/esm/shared/lib/types.d.ts.map +0 -1
  726. package/dist/esm/shared/lib/types.js +0 -19
  727. package/dist/esm/shared/lib/types.js.map +0 -1
  728. package/dist/esm/shared/lib/util.d.ts +0 -40
  729. package/dist/esm/shared/lib/util.d.ts.map +0 -1
  730. package/dist/esm/shared/lib/util.js +0 -187
  731. package/dist/esm/shared/lib/util.js.map +0 -1
  732. package/dist/esm/shared/providers/AuthContext.d.ts +0 -12
  733. package/dist/esm/shared/providers/AuthContext.d.ts.map +0 -1
  734. package/dist/esm/shared/providers/AuthContext.js +0 -4
  735. package/dist/esm/shared/providers/AuthContext.js.map +0 -1
  736. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  737. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  738. package/dist/esm/shared/providers/CivicAuthConfigContext.js +0 -55
  739. package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +0 -1
  740. package/dist/esm/shared/providers/IframeProvider.d.ts +0 -25
  741. package/dist/esm/shared/providers/IframeProvider.d.ts.map +0 -1
  742. package/dist/esm/shared/providers/IframeProvider.js +0 -59
  743. package/dist/esm/shared/providers/IframeProvider.js.map +0 -1
  744. package/dist/esm/shared/providers/SessionProvider.d.ts +0 -19
  745. package/dist/esm/shared/providers/SessionProvider.d.ts.map +0 -1
  746. package/dist/esm/shared/providers/SessionProvider.js +0 -24
  747. package/dist/esm/shared/providers/SessionProvider.js.map +0 -1
  748. package/dist/esm/shared/providers/TokenProvider.d.ts +0 -17
  749. package/dist/esm/shared/providers/TokenProvider.d.ts.map +0 -1
  750. package/dist/esm/shared/providers/TokenProvider.js +0 -35
  751. package/dist/esm/shared/providers/TokenProvider.js.map +0 -1
  752. package/dist/esm/shared/providers/UserProvider.d.ts +0 -26
  753. package/dist/esm/shared/providers/UserProvider.d.ts.map +0 -1
  754. package/dist/esm/shared/providers/UserProvider.js +0 -65
  755. package/dist/esm/shared/providers/UserProvider.js.map +0 -1
  756. package/dist/esm/shared/providers/types.d.ts +0 -15
  757. package/dist/esm/shared/providers/types.d.ts.map +0 -1
  758. package/dist/esm/shared/providers/types.js +0 -2
  759. package/dist/esm/shared/providers/types.js.map +0 -1
  760. package/dist/esm/shared/version.d.ts +0 -2
  761. package/dist/esm/shared/version.d.ts.map +0 -1
  762. package/dist/esm/shared/version.js +0 -3
  763. package/dist/esm/shared/version.js.map +0 -1
  764. package/dist/esm/types.d.ts +0 -163
  765. package/dist/esm/types.d.ts.map +0 -1
  766. package/dist/esm/types.js +0 -17
  767. package/dist/esm/types.js.map +0 -1
  768. package/dist/esm/utils.d.ts +0 -15
  769. package/dist/esm/utils.d.ts.map +0 -1
  770. package/dist/esm/utils.js +0 -42
  771. package/dist/esm/utils.js.map +0 -1
  772. package/dist/esm/version.d.ts +0 -2
  773. package/dist/esm/version.d.ts.map +0 -1
  774. package/dist/esm/version.js +0 -3
  775. package/dist/esm/version.js.map +0 -1
  776. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  777. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -1,187 +0,0 @@
1
- import { AUTH_SERVER_LEGACY_SESSION, AUTH_SERVER_SESSION, OAuthTokens, } from "./types.js";
2
- import { OAuth2Client } from "oslo/oauth2";
3
- import { getIssuerVariations, getOauthEndpoints } from "../../lib/oauth.js";
4
- import * as jose from "jose";
5
- import { withoutUndefined } from "../../utils.js";
6
- import { GenericUserSession } from "../../shared/lib/UserSession.js";
7
- import { decodeJwt } from "jose";
8
- import { AUTOREFRESH_TIMEOUT_NAME, LOGOUT_STATE, REFRESH_IN_PROGRESS, } from "../../constants.js";
9
- /**
10
- * Given a PKCE code verifier, derive the code challenge using SHA
11
- */
12
- export async function deriveCodeChallenge(codeVerifier, method = "S256") {
13
- if (method === "Plain") {
14
- console.warn("Using insecure plain code challenge method");
15
- return codeVerifier;
16
- }
17
- const encoder = new TextEncoder();
18
- const data = encoder.encode(codeVerifier);
19
- const digest = await crypto.subtle.digest("SHA-256", data);
20
- return btoa(String.fromCharCode(...new Uint8Array(digest)))
21
- .replace(/\+/g, "-")
22
- .replace(/\//g, "_")
23
- .replace(/=+$/, "");
24
- }
25
- export async function getEndpointsWithOverrides(oauthServer, endpointOverrides = {}) {
26
- const endpoints = await getOauthEndpoints(oauthServer);
27
- return {
28
- ...endpoints,
29
- ...endpointOverrides,
30
- };
31
- }
32
- export async function generateOauthLoginUrl(config) {
33
- const endpoints = await getEndpointsWithOverrides(config.oauthServer, config.endpointOverrides);
34
- const oauth2Client = buildOauth2Client(config.clientId, config.redirectUrl, endpoints);
35
- const challenge = await config.pkceConsumer.getCodeChallenge();
36
- const oAuthUrl = await oauth2Client.createAuthorizationURL({
37
- state: config.state,
38
- scopes: config.scopes,
39
- });
40
- // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source
41
- // It only allows passing in a code verifier which it then hashes itself.
42
- oAuthUrl.searchParams.append("code_challenge", challenge);
43
- oAuthUrl.searchParams.append("code_challenge_method", "S256");
44
- if (config.nonce) {
45
- // nonce isn't supported by oslo, so we add it manually
46
- oAuthUrl.searchParams.append("nonce", config.nonce);
47
- }
48
- // Required by the auth server for offline_access scope
49
- oAuthUrl.searchParams.append("prompt", "consent");
50
- return oAuthUrl;
51
- }
52
- export async function generateOauthLogoutUrl(config) {
53
- const endpoints = await getEndpointsWithOverrides(config.oauthServer, config.endpointOverrides);
54
- const endSessionUrl = new URL(endpoints.endsession);
55
- endSessionUrl.searchParams.append("client_id", config.clientId);
56
- endSessionUrl.searchParams.append("id_token_hint", config.idToken);
57
- endSessionUrl.searchParams.append("state", config.state);
58
- endSessionUrl.searchParams.append("post_logout_redirect_uri", config.redirectUrl);
59
- return endSessionUrl;
60
- }
61
- export function buildOauth2Client(clientId, redirectUri, endpoints) {
62
- return new OAuth2Client(clientId, endpoints.auth, endpoints.token, {
63
- redirectURI: redirectUri,
64
- });
65
- }
66
- export async function exchangeTokens(code, state, pkceProducer, oauth2Client, oauthServer, endpoints) {
67
- const codeVerifier = await pkceProducer.getCodeVerifier();
68
- if (!codeVerifier)
69
- throw new Error("Code verifier not found in state");
70
- const tokens = await oauth2Client.validateAuthorizationCode(code, {
71
- codeVerifier,
72
- });
73
- // Validate relevant tokens
74
- try {
75
- await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);
76
- }
77
- catch (error) {
78
- console.error("tokenExchange error", { error, tokens });
79
- throw new Error(`OIDC tokens validation failed: ${error.message}`);
80
- }
81
- return tokens;
82
- }
83
- export const getAccessTokenExpiresAt = (tokens) => {
84
- const parsedAccessToken = decodeJwt(tokens.access_token);
85
- if (parsedAccessToken?.exp || false) {
86
- return parsedAccessToken.exp;
87
- }
88
- else if (tokens.expires_in) {
89
- const now = Math.floor(new Date().getTime() / 1000);
90
- return now + tokens.expires_in;
91
- }
92
- else {
93
- throw new Error("Cannot determine access token expiry!");
94
- }
95
- };
96
- export async function setAccessTokenExpiresAt(storage, tokens) {
97
- // try to extract absolute expiry time from access token but fallback to calculation if not possible
98
- const accessTokenExpiresAt = getAccessTokenExpiresAt(tokens);
99
- await storage.set(OAuthTokens.ACCESS_TOKEN_EXPIRES_AT, accessTokenExpiresAt.toString());
100
- }
101
- export async function storeTokens(storage, tokens) {
102
- await storage.set(OAuthTokens.ID_TOKEN, tokens.id_token);
103
- await storage.set(OAuthTokens.ACCESS_TOKEN, tokens.access_token);
104
- if (tokens.refresh_token) {
105
- await storage.set(OAuthTokens.REFRESH_TOKEN, tokens.refresh_token);
106
- }
107
- await setAccessTokenExpiresAt(storage, tokens);
108
- }
109
- export async function storeServerTokens(storage, tokens) {
110
- const accessTokenExpiresAt = getAccessTokenExpiresAt(tokens);
111
- const cookieStorage = storage;
112
- const now = Math.floor(Date.now() / 1000);
113
- const accessTokenMaxAge = accessTokenExpiresAt && accessTokenExpiresAt - now;
114
- const cookiesOverride = {
115
- ...(accessTokenMaxAge ? { maxAge: accessTokenMaxAge } : {}),
116
- };
117
- // the refresh token must be longer-lived than the access token max age to allow time for automatic refresh
118
- // as it's not a JWT, we derive it from the access token max age and add a margin
119
- const refreshTokenMaxAge = accessTokenMaxAge && accessTokenMaxAge + 5 * 60;
120
- const refreshCookiesOverride = {
121
- ...(refreshTokenMaxAge ? { maxAge: refreshTokenMaxAge } : {}),
122
- };
123
- await cookieStorage.set(OAuthTokens.ID_TOKEN, tokens.id_token, cookiesOverride);
124
- await cookieStorage.set(OAuthTokens.ACCESS_TOKEN, tokens.access_token, cookiesOverride);
125
- if (tokens.refresh_token) {
126
- await cookieStorage.set(OAuthTokens.REFRESH_TOKEN, tokens.refresh_token, refreshCookiesOverride);
127
- }
128
- await storage.set(OAuthTokens.ACCESS_TOKEN_EXPIRES_AT, accessTokenExpiresAt.toString(), cookiesOverride);
129
- }
130
- export async function clearTokens(storage) {
131
- console.log("clearTokens");
132
- // clear all local storage keys related to OAuth and CivicAuth SDK
133
- const clearOAuthPromises = [
134
- ...Object.values(OAuthTokens),
135
- REFRESH_IN_PROGRESS,
136
- AUTOREFRESH_TIMEOUT_NAME,
137
- LOGOUT_STATE,
138
- ].map(async (key) => {
139
- await storage.delete(key);
140
- });
141
- await Promise.all([...clearOAuthPromises]);
142
- }
143
- export async function clearAuthServerSession(storage) {
144
- await storage.delete(AUTH_SERVER_SESSION);
145
- await storage.delete(AUTH_SERVER_LEGACY_SESSION);
146
- }
147
- export async function clearUser(storage) {
148
- const userSession = new GenericUserSession(storage);
149
- await userSession.clear();
150
- }
151
- export async function retrieveTokens(storage) {
152
- const idToken = await storage.get(OAuthTokens.ID_TOKEN);
153
- const accessToken = await storage.get(OAuthTokens.ACCESS_TOKEN);
154
- const refreshToken = await storage.get(OAuthTokens.REFRESH_TOKEN);
155
- const accessTokenExpiresAt = await storage.get(OAuthTokens.ACCESS_TOKEN_EXPIRES_AT);
156
- if (!idToken || !accessToken)
157
- return null;
158
- return {
159
- id_token: idToken,
160
- access_token: accessToken,
161
- refresh_token: refreshToken ?? undefined,
162
- access_token_expires_at: accessTokenExpiresAt !== null
163
- ? parseInt(accessTokenExpiresAt, 10)
164
- : undefined, // Convert string to number
165
- };
166
- }
167
- export async function retrieveAccessTokenExpiresAt(storage) {
168
- return Number(await storage.get(OAuthTokens.ACCESS_TOKEN_EXPIRES_AT));
169
- }
170
- export async function validateOauth2Tokens(tokens, endpoints, oauth2Client, issuer) {
171
- const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));
172
- // validate the ID token
173
- const idTokenResponse = await jose.jwtVerify(tokens.id_token, JWKS, {
174
- issuer: getIssuerVariations(issuer),
175
- audience: oauth2Client.clientId,
176
- });
177
- // validate the access token
178
- const accessTokenResponse = await jose.jwtVerify(tokens.access_token, JWKS, {
179
- issuer: getIssuerVariations(issuer),
180
- });
181
- return withoutUndefined({
182
- id_token: idTokenResponse.payload,
183
- access_token: accessTokenResponse.payload,
184
- refresh_token: tokens.refresh_token,
185
- });
186
- }
187
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/shared/lib/util.ts"],"names":[],"mappings":"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","sourcesContent":["// Utility functions shared by auth server and client integrations\n// Typically these functions should be used inside AuthenticationInitiator and AuthenticationResolver implementations\nimport type {\n AuthStorage,\n Endpoints,\n OIDCTokenResponseBody,\n ParsedTokens,\n} from \"@/types.js\";\nimport {\n AUTH_SERVER_LEGACY_SESSION,\n AUTH_SERVER_SESSION,\n OAuthTokens,\n} from \"./types.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { getIssuerVariations, getOauthEndpoints } from \"@/lib/oauth.js\";\nimport * as jose from \"jose\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport type { PKCEConsumer, PKCEProducer } from \"@/services/types.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\nimport { decodeJwt, type JWTPayload } from \"jose\";\nimport type { CookieStorage } from \"./storage.js\";\nimport {\n AUTOREFRESH_TIMEOUT_NAME,\n LOGOUT_STATE,\n REFRESH_IN_PROGRESS,\n} from \"@/constants.js\";\n\n/**\n * Given a PKCE code verifier, derive the code challenge using SHA\n */\nexport async function deriveCodeChallenge(\n codeVerifier: string,\n method: \"Plain\" | \"S256\" = \"S256\",\n): Promise<string> {\n if (method === \"Plain\") {\n console.warn(\"Using insecure plain code challenge method\");\n return codeVerifier;\n }\n\n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await crypto.subtle.digest(\"SHA-256\", data);\n return btoa(String.fromCharCode(...new Uint8Array(digest)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n}\n\nexport async function getEndpointsWithOverrides(\n oauthServer: string,\n endpointOverrides: Partial<Endpoints> = {},\n): Promise<Endpoints> {\n const endpoints = await getOauthEndpoints(oauthServer);\n return {\n ...endpoints,\n ...endpointOverrides,\n };\n}\n\nexport async function generateOauthLoginUrl(config: {\n clientId: string;\n scopes: string[];\n state: string;\n redirectUrl: string;\n oauthServer: string;\n nonce?: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n const endpoints = await getEndpointsWithOverrides(\n config.oauthServer,\n config.endpointOverrides,\n );\n const oauth2Client = buildOauth2Client(\n config.clientId,\n config.redirectUrl,\n endpoints,\n );\n const challenge = await config.pkceConsumer.getCodeChallenge();\n const oAuthUrl = await oauth2Client.createAuthorizationURL({\n state: config.state,\n scopes: config.scopes,\n });\n // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source\n // It only allows passing in a code verifier which it then hashes itself.\n oAuthUrl.searchParams.append(\"code_challenge\", challenge);\n oAuthUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n if (config.nonce) {\n // nonce isn't supported by oslo, so we add it manually\n oAuthUrl.searchParams.append(\"nonce\", config.nonce);\n }\n // Required by the auth server for offline_access scope\n oAuthUrl.searchParams.append(\"prompt\", \"consent\");\n\n return oAuthUrl;\n}\n\nexport async function generateOauthLogoutUrl(config: {\n clientId: string;\n redirectUrl: string;\n idToken: string;\n state: string;\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n}): Promise<URL> {\n const endpoints = await getEndpointsWithOverrides(\n config.oauthServer,\n config.endpointOverrides,\n );\n const endSessionUrl = new URL(endpoints.endsession);\n endSessionUrl.searchParams.append(\"client_id\", config.clientId);\n endSessionUrl.searchParams.append(\"id_token_hint\", config.idToken);\n endSessionUrl.searchParams.append(\"state\", config.state);\n endSessionUrl.searchParams.append(\n \"post_logout_redirect_uri\",\n config.redirectUrl,\n );\n return endSessionUrl;\n}\n\nexport function buildOauth2Client(\n clientId: string,\n redirectUri: string,\n endpoints: Endpoints,\n): OAuth2Client {\n return new OAuth2Client(clientId, endpoints.auth, endpoints.token, {\n redirectURI: redirectUri,\n });\n}\n\nexport async function exchangeTokens(\n code: string,\n state: string,\n pkceProducer: PKCEProducer,\n oauth2Client: OAuth2Client,\n oauthServer: string,\n endpoints: Endpoints,\n) {\n const codeVerifier = await pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in state\");\n\n const tokens =\n await oauth2Client.validateAuthorizationCode<OIDCTokenResponseBody>(code, {\n codeVerifier,\n });\n\n // Validate relevant tokens\n try {\n await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);\n } catch (error) {\n console.error(\"tokenExchange error\", { error, tokens });\n throw new Error(\n `OIDC tokens validation failed: ${(error as Error).message}`,\n );\n }\n return tokens;\n}\n\nexport const getAccessTokenExpiresAt = (\n tokens: OIDCTokenResponseBody,\n): number => {\n const parsedAccessToken = decodeJwt(tokens.access_token);\n if (parsedAccessToken?.exp || false) {\n return parsedAccessToken.exp;\n } else if (tokens.expires_in) {\n const now = Math.floor(new Date().getTime() / 1000);\n return now + tokens.expires_in;\n } else {\n throw new Error(\"Cannot determine access token expiry!\");\n }\n};\nexport async function setAccessTokenExpiresAt(\n storage: AuthStorage | CookieStorage,\n tokens: OIDCTokenResponseBody,\n) {\n // try to extract absolute expiry time from access token but fallback to calculation if not possible\n const accessTokenExpiresAt = getAccessTokenExpiresAt(tokens);\n await storage.set(\n OAuthTokens.ACCESS_TOKEN_EXPIRES_AT,\n accessTokenExpiresAt.toString(),\n );\n}\n\nexport async function storeTokens(\n storage: AuthStorage,\n tokens: OIDCTokenResponseBody,\n) {\n await storage.set(OAuthTokens.ID_TOKEN, tokens.id_token);\n await storage.set(OAuthTokens.ACCESS_TOKEN, tokens.access_token);\n if (tokens.refresh_token) {\n await storage.set(OAuthTokens.REFRESH_TOKEN, tokens.refresh_token);\n }\n await setAccessTokenExpiresAt(storage, tokens);\n}\n\nexport async function storeServerTokens(\n storage: AuthStorage | CookieStorage,\n tokens: OIDCTokenResponseBody,\n) {\n const accessTokenExpiresAt = getAccessTokenExpiresAt(tokens);\n const cookieStorage = storage as CookieStorage;\n const now = Math.floor(Date.now() / 1000);\n const accessTokenMaxAge = accessTokenExpiresAt && accessTokenExpiresAt - now;\n\n const cookiesOverride = {\n ...(accessTokenMaxAge ? { maxAge: accessTokenMaxAge } : {}),\n };\n // the refresh token must be longer-lived than the access token max age to allow time for automatic refresh\n // as it's not a JWT, we derive it from the access token max age and add a margin\n const refreshTokenMaxAge = accessTokenMaxAge && accessTokenMaxAge + 5 * 60;\n const refreshCookiesOverride = {\n ...(refreshTokenMaxAge ? { maxAge: refreshTokenMaxAge } : {}),\n };\n await cookieStorage.set(\n OAuthTokens.ID_TOKEN,\n tokens.id_token,\n cookiesOverride,\n );\n await cookieStorage.set(\n OAuthTokens.ACCESS_TOKEN,\n tokens.access_token,\n cookiesOverride,\n );\n if (tokens.refresh_token) {\n await cookieStorage.set(\n OAuthTokens.REFRESH_TOKEN,\n tokens.refresh_token,\n refreshCookiesOverride,\n );\n }\n await storage.set(\n OAuthTokens.ACCESS_TOKEN_EXPIRES_AT,\n accessTokenExpiresAt.toString(),\n cookiesOverride,\n );\n}\n\nexport async function clearTokens(storage: AuthStorage) {\n console.log(\"clearTokens\");\n // clear all local storage keys related to OAuth and CivicAuth SDK\n const clearOAuthPromises = [\n ...Object.values(OAuthTokens),\n REFRESH_IN_PROGRESS,\n AUTOREFRESH_TIMEOUT_NAME,\n LOGOUT_STATE,\n ].map(async (key) => {\n await storage.delete(key);\n });\n await Promise.all([...clearOAuthPromises]);\n}\n\nexport async function clearAuthServerSession(storage: AuthStorage) {\n await storage.delete(AUTH_SERVER_SESSION);\n await storage.delete(AUTH_SERVER_LEGACY_SESSION);\n}\n\nexport async function clearUser(storage: AuthStorage) {\n const userSession = new GenericUserSession(storage);\n await userSession.clear();\n}\n\nexport async function retrieveTokens(\n storage: AuthStorage,\n): Promise<OIDCTokenResponseBody | null> {\n const idToken = await storage.get(OAuthTokens.ID_TOKEN);\n const accessToken = await storage.get(OAuthTokens.ACCESS_TOKEN);\n const refreshToken = await storage.get(OAuthTokens.REFRESH_TOKEN);\n const accessTokenExpiresAt = await storage.get(\n OAuthTokens.ACCESS_TOKEN_EXPIRES_AT,\n );\n\n if (!idToken || !accessToken) return null;\n\n return {\n id_token: idToken,\n access_token: accessToken,\n refresh_token: refreshToken ?? undefined,\n access_token_expires_at:\n accessTokenExpiresAt !== null\n ? parseInt(accessTokenExpiresAt, 10)\n : undefined, // Convert string to number\n };\n}\n\nexport async function retrieveAccessTokenExpiresAt(\n storage: AuthStorage,\n): Promise<number> {\n return Number(await storage.get(OAuthTokens.ACCESS_TOKEN_EXPIRES_AT));\n}\n\nexport async function validateOauth2Tokens(\n tokens: OIDCTokenResponseBody,\n endpoints: Endpoints,\n oauth2Client: OAuth2Client,\n issuer: string,\n): Promise<ParsedTokens> {\n const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));\n\n // validate the ID token\n const idTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.id_token,\n JWKS,\n {\n issuer: getIssuerVariations(issuer),\n audience: oauth2Client.clientId,\n },\n );\n\n // validate the access token\n const accessTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.access_token,\n JWKS,\n {\n issuer: getIssuerVariations(issuer),\n },\n );\n\n return withoutUndefined({\n id_token: idTokenResponse.payload,\n access_token: accessTokenResponse.payload,\n refresh_token: tokens.refresh_token,\n });\n}\n"]}
@@ -1,12 +0,0 @@
1
- import type { AuthStatus, DisplayMode } from "../../types.js";
2
- export type AuthContextType = {
3
- signIn: (displayMode?: DisplayMode) => Promise<void>;
4
- isAuthenticated: boolean;
5
- isLoading: boolean;
6
- error: Error | null;
7
- signOut: () => Promise<void>;
8
- authStatus: AuthStatus;
9
- displayMode: DisplayMode;
10
- };
11
- export declare const AuthContext: import("react").Context<AuthContextType | null>;
12
- //# sourceMappingURL=AuthContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/AuthContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,eAAO,MAAM,WAAW,iDAA8C,CAAC"}
@@ -1,4 +0,0 @@
1
- "use client";
2
- import { createContext } from "react";
3
- export const AuthContext = createContext(null);
4
- //# sourceMappingURL=AuthContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../../../src/shared/providers/AuthContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAYtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAC","sourcesContent":["\"use client\";\nimport { createContext } from \"react\";\nimport type { AuthStatus, DisplayMode } from \"@/types.js\";\n\nexport type AuthContextType = {\n signIn: (displayMode?: DisplayMode) => Promise<void>;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: Error | null;\n signOut: () => Promise<void>;\n authStatus: AuthStatus;\n displayMode: DisplayMode;\n};\nexport const AuthContext = createContext<AuthContextType | null>(null);\n"]}
@@ -1,19 +0,0 @@
1
- import React, { type ReactNode } from "react";
2
- import type { CivicAuthConfig } from "../lib/types.js";
3
- type CivicAuthConfigContextType = {
4
- children: ReactNode;
5
- oauthServer?: string;
6
- clientId: string;
7
- scopes?: string[];
8
- redirectUrl?: string;
9
- logoutRedirectUrl?: string;
10
- nonce?: string;
11
- challengeUrl?: string;
12
- refreshUrl?: string;
13
- logoutUrl?: string;
14
- logoutCallbackUrl?: string;
15
- };
16
- declare const CivicAuthConfigContext: React.Context<CivicAuthConfig>;
17
- declare const CivicAuthConfigProvider: ({ children, oauthServer, clientId, redirectUrl: inputRedirectUrl, nonce, challengeUrl, refreshUrl, logoutUrl, scopes, logoutRedirectUrl: inputLogoutRedirectUrl, }: CivicAuthConfigContextType) => import("@emotion/react/jsx-runtime").JSX.Element;
18
- export { CivicAuthConfigProvider, CivicAuthConfigContext };
19
- //# sourceMappingURL=CivicAuthConfigContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthConfigContext.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/CivicAuthConfigContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAA0B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,sBAAsB,gCAAgD,CAAC;AAE7E,QAAA,MAAM,uBAAuB,uKAW1B,0BAA0B,qDAsD5B,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1,55 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
3
- import { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from "../../constants.js";
4
- import React, { createContext, useMemo } from "react";
5
- import { useOAuthEndpoints } from "../../shared/hooks/useOAuthEndpoints.js";
6
- import { useCurrentUrl } from "../../shared/hooks/useCurrentUrl.js";
7
- const defaultConfig = null;
8
- // Context for exposing Config specifically to the TokenProvider
9
- const CivicAuthConfigContext = createContext(defaultConfig);
10
- const CivicAuthConfigProvider = ({ children, oauthServer, clientId, redirectUrl: inputRedirectUrl, nonce, challengeUrl, refreshUrl, logoutUrl, scopes, logoutRedirectUrl: inputLogoutRedirectUrl, }) => {
11
- const currentUrl = useCurrentUrl();
12
- const redirectUrl = useMemo(() => {
13
- const useUrl = inputRedirectUrl || currentUrl;
14
- if (useUrl) {
15
- return `${useUrl.split("?")[0]}`;
16
- }
17
- return "";
18
- }, [currentUrl, inputRedirectUrl]);
19
- const endpoints = useOAuthEndpoints(oauthServer);
20
- const logoutRedirectUrl = useMemo(() => {
21
- const useUrl = inputLogoutRedirectUrl || currentUrl;
22
- if (useUrl) {
23
- return `${useUrl.split("?")[0]}`;
24
- }
25
- return "";
26
- }, [currentUrl, inputLogoutRedirectUrl]);
27
- const value = useMemo(() => endpoints
28
- ? {
29
- clientId,
30
- redirectUrl,
31
- oauthServer: oauthServer || DEFAULT_AUTH_SERVER,
32
- endpoints,
33
- nonce,
34
- challengeUrl,
35
- refreshUrl,
36
- logoutUrl,
37
- scopes: scopes || DEFAULT_SCOPES,
38
- logoutRedirectUrl,
39
- }
40
- : null, [
41
- clientId,
42
- redirectUrl,
43
- oauthServer,
44
- endpoints,
45
- nonce,
46
- challengeUrl,
47
- refreshUrl,
48
- logoutUrl,
49
- scopes,
50
- logoutRedirectUrl,
51
- ]);
52
- return (_jsx(CivicAuthConfigContext.Provider, { value: value, children: children }));
53
- };
54
- export { CivicAuthConfigProvider, CivicAuthConfigContext };
55
- //# sourceMappingURL=CivicAuthConfigContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthConfigContext.js","sourceRoot":"","sources":["../../../../src/shared/providers/CivicAuthConfigContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,MAAM,aAAa,GAAoB,IAAI,CAAC;AAe5C,gEAAgE;AAChE,MAAM,sBAAsB,GAAG,aAAa,CAAkB,aAAa,CAAC,CAAC;AAE7E,MAAM,uBAAuB,GAAG,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EAAE,gBAAgB,EAC7B,KAAK,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,EACN,iBAAiB,EAAE,sBAAsB,GACd,EAAE,EAAE;IAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,gBAAgB,IAAI,UAAU,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,sBAAsB,IAAI,UAAU,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CACH,SAAS;QACP,CAAC,CAAC;YACE,QAAQ;YACR,WAAW;YACX,WAAW,EAAE,WAAW,IAAI,mBAAmB;YAC/C,SAAS;YACT,KAAK;YACL,YAAY;YACZ,UAAU;YACV,SAAS;YACT,MAAM,EAAE,MAAM,IAAI,cAAc;YAChC,iBAAiB;SAClB;QACH,CAAC,CAAC,IAAI,EACV;QACE,QAAQ;QACR,WAAW;QACX,WAAW;QACX,SAAS;QACT,KAAK;QACL,YAAY;QACZ,UAAU;QACV,SAAS;QACT,MAAM;QACN,iBAAiB;KAClB,CACF,CAAC;IACF,OAAO,CACL,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC1C,QAAQ,GACuB,CACnC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport React, { createContext, useMemo, type ReactNode } from \"react\";\nimport { useOAuthEndpoints } from \"@/shared/hooks/useOAuthEndpoints.js\";\nimport { useCurrentUrl } from \"@/shared/hooks/useCurrentUrl.js\";\nimport type { CivicAuthConfig } from \"../lib/types.js\";\n\nconst defaultConfig: CivicAuthConfig = null;\n\ntype CivicAuthConfigContextType = {\n children: ReactNode;\n oauthServer?: string;\n clientId: string;\n scopes?: string[];\n redirectUrl?: string;\n logoutRedirectUrl?: string;\n nonce?: string;\n challengeUrl?: string;\n refreshUrl?: string;\n logoutUrl?: string;\n logoutCallbackUrl?: string;\n};\n// Context for exposing Config specifically to the TokenProvider\nconst CivicAuthConfigContext = createContext<CivicAuthConfig>(defaultConfig);\n\nconst CivicAuthConfigProvider = ({\n children,\n oauthServer,\n clientId,\n redirectUrl: inputRedirectUrl,\n nonce,\n challengeUrl,\n refreshUrl,\n logoutUrl,\n scopes,\n logoutRedirectUrl: inputLogoutRedirectUrl,\n}: CivicAuthConfigContextType) => {\n const currentUrl = useCurrentUrl();\n\n const redirectUrl = useMemo(() => {\n const useUrl = inputRedirectUrl || currentUrl;\n if (useUrl) {\n return `${useUrl.split(\"?\")[0]}`;\n }\n return \"\";\n }, [currentUrl, inputRedirectUrl]);\n const endpoints = useOAuthEndpoints(oauthServer);\n\n const logoutRedirectUrl = useMemo(() => {\n const useUrl = inputLogoutRedirectUrl || currentUrl;\n if (useUrl) {\n return `${useUrl.split(\"?\")[0]}`;\n }\n return \"\";\n }, [currentUrl, inputLogoutRedirectUrl]);\n\n const value = useMemo(\n () =>\n endpoints\n ? {\n clientId,\n redirectUrl,\n oauthServer: oauthServer || DEFAULT_AUTH_SERVER,\n endpoints,\n nonce,\n challengeUrl,\n refreshUrl,\n logoutUrl,\n scopes: scopes || DEFAULT_SCOPES,\n logoutRedirectUrl,\n }\n : null,\n [\n clientId,\n redirectUrl,\n oauthServer,\n endpoints,\n nonce,\n challengeUrl,\n refreshUrl,\n logoutUrl,\n scopes,\n logoutRedirectUrl,\n ],\n );\n return (\n <CivicAuthConfigContext.Provider value={value}>\n {children}\n </CivicAuthConfigContext.Provider>\n );\n};\n\nexport { CivicAuthConfigProvider, CivicAuthConfigContext };\n"]}
@@ -1,25 +0,0 @@
1
- import type { Dispatch, ReactNode, RefObject, SetStateAction } from "react";
2
- import React from "react";
3
- import type { IframeMode } from "../../types.js";
4
- export type IframeProviderOutput = {
5
- iframeRef: RefObject<HTMLIFrameElement> | null;
6
- logoutIframeRef: RefObject<HTMLIFrameElement> | null;
7
- setIframeIsVisible: Dispatch<SetStateAction<boolean>>;
8
- setIframeAborted: Dispatch<SetStateAction<boolean>>;
9
- iframeAborted: boolean;
10
- setLogoutIframeIsVisible: Dispatch<SetStateAction<boolean>>;
11
- iframeIsVisible: boolean;
12
- logoutIframeIsVisible: boolean;
13
- iframeMode: IframeMode;
14
- renderIframe: boolean;
15
- backgroundColor: string;
16
- };
17
- declare const IframeContext: React.Context<IframeProviderOutput>;
18
- type IframeContextType = {
19
- children: ReactNode;
20
- iframeMode?: IframeMode;
21
- };
22
- declare const IframeProvider: ({ children, iframeMode, }: IframeContextType) => import("@emotion/react/jsx-runtime").JSX.Element;
23
- export type { IframeContextType };
24
- export { IframeProvider, IframeContext };
25
- //# 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,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAC;AAIpE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC/C,eAAe,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACrD,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAgBF,QAAA,MAAM,aAAa,qCAAqD,CAAC;AAEzE,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,cAAc,8BAGjB,iBAAiB,qDAkDnB,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -1,59 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
3
- import React, { createContext, useMemo, useRef, useState } from "react";
4
- import { useIsInIframe } from "../../shared/hooks/useIsInIframe.js";
5
- import { useLocalStorage, useDarkMode } from "usehooks-ts";
6
- import { DARK_BACKGROUND_COLOR, LIGHT_BACKGROUND_COLOR } from "../../constants.js";
7
- const defaultIframe = {
8
- iframeRef: null,
9
- logoutIframeRef: null,
10
- setIframeIsVisible: () => { },
11
- setIframeAborted: () => { },
12
- setLogoutIframeIsVisible: () => { },
13
- iframeIsVisible: false,
14
- iframeAborted: false,
15
- logoutIframeIsVisible: false,
16
- iframeMode: "modal",
17
- renderIframe: false,
18
- backgroundColor: "white",
19
- };
20
- // Context for exposing Iframe specifically to the TokenProvider
21
- const IframeContext = createContext(defaultIframe);
22
- const IframeProvider = ({ children, iframeMode = "modal", }) => {
23
- const iframeRef = useRef(null);
24
- const logoutIframeRef = useRef(null);
25
- const isInIframe = useIsInIframe();
26
- const [iframeIsVisible, setIframeIsVisible] = useState(false);
27
- const [iframeAborted, setIframeAborted] = useState(false);
28
- const [logoutIframeIsVisible, setLogoutIframeIsVisible] = useState(false);
29
- const [designOptions] = useLocalStorage(`loginAppDesign`, { colorMode: "auto" });
30
- const { isDarkMode } = useDarkMode();
31
- const loginAppBackgroundColor = useMemo(() => {
32
- const colorFromWindow = isDarkMode
33
- ? DARK_BACKGROUND_COLOR
34
- : LIGHT_BACKGROUND_COLOR;
35
- const colorMode = designOptions?.colorMode;
36
- const colorFromStorage = colorMode === "dark" ? DARK_BACKGROUND_COLOR : LIGHT_BACKGROUND_COLOR;
37
- // if the color mode is auto then use the window matchMedia to determine the color mode
38
- // otherwise use the stored local color mode set from the login-app
39
- return colorMode && colorMode !== "auto"
40
- ? colorFromStorage
41
- : colorFromWindow;
42
- }, [designOptions, isDarkMode]);
43
- const renderIframe = iframeMode === "modal" && !isInIframe;
44
- return (_jsx(IframeContext.Provider, { value: {
45
- iframeRef,
46
- logoutIframeRef,
47
- setIframeIsVisible,
48
- iframeAborted,
49
- setIframeAborted,
50
- setLogoutIframeIsVisible,
51
- iframeIsVisible,
52
- logoutIframeIsVisible,
53
- iframeMode,
54
- renderIframe,
55
- backgroundColor: loginAppBackgroundColor,
56
- }, children: children }));
57
- };
58
- export { IframeProvider, IframeContext };
59
- //# 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,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAe/E,MAAM,aAAa,GAAyB;IAC1C,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,wBAAwB,EAAE,GAAG,EAAE,GAAE,CAAC;IAClC,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,KAAK;IACpB,qBAAqB,EAAE,KAAK;IAC5B,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,OAAO;CACzB,CAAC;AAEF,gEAAgE;AAChE,MAAM,aAAa,GAAG,aAAa,CAAuB,aAAa,CAAC,CAAC;AAOzE,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,UAAU,GAAG,OAAO,GACF,EAAE,EAAE;IACtB,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,aAAa,CAAC,GAAG,eAAe,CACrC,gBAAgB,EAChB,EAAE,SAAS,EAAE,MAAM,EAAE,CACtB,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3C,MAAM,eAAe,GAAG,UAAU;YAChC,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,sBAAsB,CAAC;QAE3B,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;QAC3C,MAAM,gBAAgB,GACpB,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAExE,uFAAuF;QACvF,mEAAmE;QACnE,OAAO,SAAS,IAAI,SAAS,KAAK,MAAM;YACtC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,eAAe,CAAC;IACtB,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhC,MAAM,YAAY,GAAG,UAAU,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC;IAE3D,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,SAAS;YACT,eAAe;YACf,kBAAkB;YAClB,aAAa;YACb,gBAAgB;YAChB,wBAAwB;YACxB,eAAe;YACf,qBAAqB;YACrB,UAAU;YACV,YAAY;YACZ,eAAe,EAAE,uBAAuB;SACzC,YAEA,QAAQ,GACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AAGF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC","sourcesContent":["\"use client\";\nimport type { Dispatch, ReactNode, RefObject, SetStateAction } from \"react\";\nimport React, { createContext, useMemo, useRef, useState } from \"react\";\nimport { useIsInIframe } from \"@/shared/hooks/useIsInIframe.js\";\nimport type { IframeMode, LoginAppDesignOptions } from \"@/types.js\";\nimport { useLocalStorage, useDarkMode } from \"usehooks-ts\";\nimport { DARK_BACKGROUND_COLOR, LIGHT_BACKGROUND_COLOR } from \"@/constants.js\";\n\nexport type IframeProviderOutput = {\n iframeRef: RefObject<HTMLIFrameElement> | null;\n logoutIframeRef: RefObject<HTMLIFrameElement> | null;\n setIframeIsVisible: Dispatch<SetStateAction<boolean>>;\n setIframeAborted: Dispatch<SetStateAction<boolean>>;\n iframeAborted: boolean;\n setLogoutIframeIsVisible: Dispatch<SetStateAction<boolean>>;\n iframeIsVisible: boolean;\n logoutIframeIsVisible: boolean;\n iframeMode: IframeMode;\n renderIframe: boolean;\n backgroundColor: string;\n};\nconst defaultIframe: IframeProviderOutput = {\n iframeRef: null,\n logoutIframeRef: null,\n setIframeIsVisible: () => {},\n setIframeAborted: () => {},\n setLogoutIframeIsVisible: () => {},\n iframeIsVisible: false,\n iframeAborted: false,\n logoutIframeIsVisible: false,\n iframeMode: \"modal\",\n renderIframe: false,\n backgroundColor: \"white\",\n};\n\n// Context for exposing Iframe specifically to the TokenProvider\nconst IframeContext = createContext<IframeProviderOutput>(defaultIframe);\n\ntype IframeContextType = {\n children: ReactNode;\n iframeMode?: IframeMode;\n};\n\nconst IframeProvider = ({\n children,\n iframeMode = \"modal\",\n}: IframeContextType) => {\n const iframeRef = useRef<HTMLIFrameElement>(null);\n const logoutIframeRef = useRef<HTMLIFrameElement>(null);\n const isInIframe = useIsInIframe();\n const [iframeIsVisible, setIframeIsVisible] = useState(false);\n const [iframeAborted, setIframeAborted] = useState(false);\n const [logoutIframeIsVisible, setLogoutIframeIsVisible] = useState(false);\n const [designOptions] = useLocalStorage<LoginAppDesignOptions>(\n `loginAppDesign`,\n { colorMode: \"auto\" },\n );\n\n const { isDarkMode } = useDarkMode();\n const loginAppBackgroundColor = useMemo(() => {\n const colorFromWindow = isDarkMode\n ? DARK_BACKGROUND_COLOR\n : LIGHT_BACKGROUND_COLOR;\n\n const colorMode = designOptions?.colorMode;\n const colorFromStorage =\n colorMode === \"dark\" ? DARK_BACKGROUND_COLOR : LIGHT_BACKGROUND_COLOR;\n\n // if the color mode is auto then use the window matchMedia to determine the color mode\n // otherwise use the stored local color mode set from the login-app\n return colorMode && colorMode !== \"auto\"\n ? colorFromStorage\n : colorFromWindow;\n }, [designOptions, isDarkMode]);\n\n const renderIframe = iframeMode === \"modal\" && !isInIframe;\n\n return (\n <IframeContext.Provider\n value={{\n iframeRef,\n logoutIframeRef,\n setIframeIsVisible,\n iframeAborted,\n setIframeAborted,\n setLogoutIframeIsVisible,\n iframeIsVisible,\n logoutIframeIsVisible,\n iframeMode,\n renderIframe,\n backgroundColor: loginAppBackgroundColor,\n }}\n >\n {children}\n </IframeContext.Provider>\n );\n};\n\nexport type { IframeContextType };\nexport { IframeProvider, IframeContext };\n"]}
@@ -1,19 +0,0 @@
1
- import type { SessionData } from "../../types.js";
2
- import type { ReactNode } from "react";
3
- import React from "react";
4
- export type SessionProviderOutput = {
5
- data: SessionData | null;
6
- error: Error | null;
7
- isLoading: boolean;
8
- };
9
- declare const SessionContext: React.Context<SessionProviderOutput>;
10
- type SessionContextType = {
11
- children: ReactNode;
12
- data?: SessionData | null;
13
- error?: Error | null;
14
- isLoading: boolean;
15
- };
16
- declare const SessionProvider: ({ children, ...props }: SessionContextType) => import("@emotion/react/jsx-runtime").JSX.Element;
17
- export type { SessionContextType };
18
- export { SessionProvider, SessionContext };
19
- //# 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;IAClC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAaF,QAAA,MAAM,cAAc,sCAAuD,CAAC;AAE5E,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,eAAe,2BAA4B,kBAAkB,qDAYlE,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
@@ -1,24 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
3
- import React, { createContext } from "react";
4
- const defaultSession = {
5
- data: {
6
- authenticated: false,
7
- idToken: undefined,
8
- accessToken: undefined,
9
- displayMode: "iframe",
10
- },
11
- error: null,
12
- isLoading: false,
13
- };
14
- // Context for exposing session specifically to the TokenProvider
15
- const SessionContext = createContext(defaultSession);
16
- const SessionProvider = ({ children, ...props }) => {
17
- return (_jsx(SessionContext.Provider, { value: {
18
- ...props,
19
- data: props.data || null,
20
- error: props.error || null,
21
- }, children: children }));
22
- };
23
- export { SessionProvider, SessionContext };
24
- //# 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;AAO7C,MAAM,cAAc,GAA0B;IAC5C,IAAI,EAAE;QACJ,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,QAAQ;KACtB;IACD,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF,iEAAiE;AACjE,MAAM,cAAc,GAAG,aAAa,CAAwB,cAAc,CAAC,CAAC;AAS5E,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAsB,EAAE,EAAE;IACrE,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;YACL,GAAG,KAAK;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;SAC3B,YAEA,QAAQ,GACe,CAC3B,CAAC;AACJ,CAAC,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 = {\n data: SessionData | null;\n error: Error | null;\n isLoading: boolean;\n};\nconst defaultSession: SessionProviderOutput = {\n data: {\n authenticated: false,\n idToken: undefined,\n accessToken: undefined,\n displayMode: \"iframe\",\n },\n error: null,\n isLoading: false,\n};\n\n// Context for exposing session specifically to the TokenProvider\nconst SessionContext = createContext<SessionProviderOutput>(defaultSession);\n\ntype SessionContextType = {\n children: ReactNode;\n data?: SessionData | null;\n error?: Error | null;\n isLoading: boolean;\n};\n\nconst SessionProvider = ({ children, ...props }: SessionContextType) => {\n return (\n <SessionContext.Provider\n value={{\n ...props,\n data: props.data || null,\n error: props.error || null,\n }}\n >\n {children}\n </SessionContext.Provider>\n );\n};\n\nexport type { SessionContextType };\nexport { SessionProvider, SessionContext };\n"]}
@@ -1,17 +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
- isLoading: boolean;
9
- error: Error | null;
10
- };
11
- declare const TokenContext: React.Context<TokenContextType | undefined>;
12
- declare const TokenProvider: ({ children }: {
13
- children: ReactNode;
14
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
15
- export type { TokenContextType };
16
- export { TokenProvider, TokenContext };
17
- //# 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;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;AAIlE,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,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,qDAkC3D,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"}
@@ -1,35 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
3
- import React, { createContext, useMemo } from "react";
4
- import { useSession } from "../../shared/hooks/useSession.js";
5
- import { convertForwardedTokenFormat } from "../../lib/jwt.js";
6
- import { decodeJwt } from "jose";
7
- const TokenContext = createContext(undefined);
8
- const TokenProvider = ({ children }) => {
9
- const { isLoading, error: authError } = useSession();
10
- const { data: session } = useSession();
11
- const decodeTokens = useMemo(() => {
12
- if (!session?.idToken)
13
- return null;
14
- const { forwardedTokens } = decodeJwt(session.idToken);
15
- return forwardedTokens
16
- ? convertForwardedTokenFormat(forwardedTokens)
17
- : null;
18
- }, [session?.idToken]);
19
- const value = useMemo(() => ({
20
- accessToken: session?.accessToken || null,
21
- idToken: session?.idToken || null,
22
- forwardedTokens: decodeTokens || {},
23
- isLoading,
24
- error: authError,
25
- }), [
26
- session?.accessToken,
27
- session?.idToken,
28
- decodeTokens,
29
- isLoading,
30
- authError,
31
- ]);
32
- return (_jsx(TokenContext.Provider, { value: value, children: children }));
33
- };
34
- export { TokenProvider, TokenContext };
35
- //# 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,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAUjC,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,UAAU,EAAE,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IAEvC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,OAAO,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAmB,CAAC;QAEzE,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,EAAE,WAAW,IAAI,IAAI;QACzC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,eAAe,EAAE,YAAY,IAAI,EAAE;QACnC,SAAS;QACT,KAAK,EAAE,SAAyB;KACjC,CAAC,EACF;QACE,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,OAAO;QAChB,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CACF,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,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 { useSession } from \"@/shared/hooks/useSession.js\";\nimport type { ForwardedTokens, IdTokenPayload } from \"@/types.js\";\nimport { convertForwardedTokenFormat } from \"@/lib/jwt.js\";\nimport { decodeJwt } from \"jose\";\n\ntype TokenContextType = {\n accessToken: string | null;\n idToken: string | null;\n forwardedTokens: ForwardedTokens;\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 } = useSession();\n const { data: session } = useSession();\n\n const decodeTokens = useMemo(() => {\n if (!session?.idToken) return null;\n\n const { forwardedTokens } = decodeJwt(session.idToken) as IdTokenPayload;\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 isLoading,\n error: authError as Error | null,\n }),\n [\n session?.accessToken,\n session?.idToken,\n decodeTokens,\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,26 +0,0 @@
1
- import React from "react";
2
- import type { ReactNode } from "react";
3
- import type { AuthStatus, AuthStorage, DisplayMode, ForwardedTokens, User } from "../../types.js";
4
- import type { AuthContextType } from "../../shared/providers/AuthContext.js";
5
- import type { JWTPayload } from "jose";
6
- type UserContent = Record<string, unknown> & JWTPayload;
7
- type UserContextType<T extends UserContent = UserContent> = {
8
- user: User<T> | null;
9
- } & {
10
- accessToken?: string | null;
11
- idToken?: string | null;
12
- forwardedTokens?: ForwardedTokens;
13
- } & Omit<AuthContextType, "isAuthenticated">;
14
- declare const UserContext: React.Context<UserContextType<UserContent> | null>;
15
- declare const UserProvider: <T extends UserContent>({ children, storage, user: inputUser, signOut, authStatus, signIn, displayMode, }: {
16
- children: ReactNode;
17
- storage: AuthStorage;
18
- user: User<T> | null;
19
- signOut: () => Promise<void>;
20
- authStatus: AuthStatus;
21
- signIn: (displayMode?: DisplayMode) => Promise<void>;
22
- displayMode: DisplayMode;
23
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
24
- export type { UserContextType };
25
- export { UserProvider, UserContext };
26
- //# sourceMappingURL=UserProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/UserProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,IAAI,EACL,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;AACxD,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IAC1D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACtB,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,GAAG,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAE7C,QAAA,MAAM,WAAW,oDAA8C,CAAC;AAEhE,QAAA,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,qFAQxC;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,WAAW,CAAC;CAC1B,qDAgEA,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC"}