@civic/auth 0.3.5 → 0.3.6-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (951) hide show
  1. package/dist/browser/storage.d.ts.map +1 -0
  2. package/dist/browser/storage.js.map +1 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/{cjs/constants.d.ts → constants.d.ts} +2 -1
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/{esm/constants.js → constants.js} +2 -1
  8. package/dist/constants.js.map +1 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/lib/cookies.d.ts.map +1 -0
  12. package/dist/lib/cookies.js.map +1 -0
  13. package/dist/lib/jwt.d.ts.map +1 -0
  14. package/dist/lib/jwt.js.map +1 -0
  15. package/dist/lib/logger.d.ts.map +1 -0
  16. package/dist/lib/logger.js.map +1 -0
  17. package/dist/lib/oauth.d.ts.map +1 -0
  18. package/dist/lib/oauth.js.map +1 -0
  19. package/dist/lib/obj.d.ts.map +1 -0
  20. package/dist/lib/obj.js.map +1 -0
  21. package/dist/lib/postMessage.d.ts.map +1 -0
  22. package/dist/lib/postMessage.js.map +1 -0
  23. package/dist/lib/windowUtil.d.ts.map +1 -0
  24. package/dist/lib/windowUtil.js.map +1 -0
  25. package/dist/nextjs/NextClientAuthenticationRefresher.d.ts.map +1 -0
  26. package/dist/nextjs/NextClientAuthenticationRefresher.js.map +1 -0
  27. package/dist/nextjs/NextServerAuthenticationRefresherImpl.d.ts +11 -0
  28. package/dist/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +1 -0
  29. package/dist/nextjs/NextServerAuthenticationRefresherImpl.js +17 -0
  30. package/dist/nextjs/NextServerAuthenticationRefresherImpl.js.map +1 -0
  31. package/dist/nextjs/config.d.ts.map +1 -0
  32. package/dist/nextjs/config.js.map +1 -0
  33. package/dist/nextjs/cookies.d.ts +16 -0
  34. package/dist/nextjs/cookies.d.ts.map +1 -0
  35. package/dist/nextjs/cookies.js +41 -0
  36. package/dist/nextjs/cookies.js.map +1 -0
  37. package/dist/nextjs/hooks/index.d.ts.map +1 -0
  38. package/dist/nextjs/hooks/index.js.map +1 -0
  39. package/dist/nextjs/hooks/usePrevious.d.ts.map +1 -0
  40. package/dist/nextjs/hooks/usePrevious.js.map +1 -0
  41. package/dist/nextjs/hooks/useRefresh.d.ts.map +1 -0
  42. package/dist/nextjs/hooks/useRefresh.js.map +1 -0
  43. package/dist/nextjs/hooks/useUserCookie.d.ts.map +1 -0
  44. package/dist/nextjs/hooks/useUserCookie.js.map +1 -0
  45. package/dist/nextjs/index.d.ts.map +1 -0
  46. package/dist/nextjs/index.js.map +1 -0
  47. package/dist/nextjs/middleware/index.d.ts.map +1 -0
  48. package/dist/nextjs/middleware/index.js.map +1 -0
  49. package/dist/nextjs/middleware.d.ts.map +1 -0
  50. package/dist/nextjs/middleware.js.map +1 -0
  51. package/dist/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
  52. package/dist/nextjs/providers/NextAuthProvider.js.map +1 -0
  53. package/dist/nextjs/routeHandler.d.ts.map +1 -0
  54. package/dist/{esm/nextjs → nextjs}/routeHandler.js +3 -3
  55. package/dist/nextjs/routeHandler.js.map +1 -0
  56. package/dist/nextjs/utils.d.ts.map +1 -0
  57. package/dist/nextjs/utils.js.map +1 -0
  58. package/dist/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -0
  59. package/dist/reactjs/components/ButtonContentOrLoader.js.map +1 -0
  60. package/dist/reactjs/components/SignInButton.d.ts.map +1 -0
  61. package/dist/reactjs/components/SignInButton.js.map +1 -0
  62. package/dist/reactjs/components/SignOutButton.d.ts.map +1 -0
  63. package/dist/reactjs/components/SignOutButton.js.map +1 -0
  64. package/dist/reactjs/components/UserButton.d.ts.map +1 -0
  65. package/dist/{esm/reactjs → reactjs}/components/UserButton.js +0 -1
  66. package/dist/reactjs/components/UserButton.js.map +1 -0
  67. package/dist/reactjs/components/index.d.ts.map +1 -0
  68. package/dist/reactjs/components/index.js.map +1 -0
  69. package/dist/reactjs/components/utils.d.ts.map +1 -0
  70. package/dist/reactjs/components/utils.js.map +1 -0
  71. package/dist/reactjs/hooks/index.d.ts.map +1 -0
  72. package/dist/reactjs/hooks/index.js.map +1 -0
  73. package/dist/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
  74. package/dist/reactjs/hooks/useClientTokenExchangeSession.js.map +1 -0
  75. package/dist/reactjs/hooks/useUser.d.ts.map +1 -0
  76. package/dist/reactjs/hooks/useUser.js.map +1 -0
  77. package/dist/reactjs/index.d.ts.map +1 -0
  78. package/dist/reactjs/index.js.map +1 -0
  79. package/dist/reactjs/providers/AuthProvider.d.ts.map +1 -0
  80. package/dist/reactjs/providers/AuthProvider.js.map +1 -0
  81. package/dist/reactjs/providers/CivicAuthProvider.d.ts.map +1 -0
  82. package/dist/reactjs/providers/CivicAuthProvider.js.map +1 -0
  83. package/dist/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
  84. package/dist/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
  85. package/dist/reactjs/providers/index.d.ts.map +1 -0
  86. package/dist/reactjs/providers/index.js.map +1 -0
  87. package/dist/server/ServerAuthenticationResolver.d.ts.map +1 -0
  88. package/dist/{esm/server → server}/ServerAuthenticationResolver.js +2 -2
  89. package/dist/server/ServerAuthenticationResolver.js.map +1 -0
  90. package/dist/server/config.d.ts.map +1 -0
  91. package/dist/server/config.js.map +1 -0
  92. package/dist/server/index.d.ts.map +1 -0
  93. package/dist/server/index.js.map +1 -0
  94. package/dist/server/login.d.ts.map +1 -0
  95. package/dist/server/login.js.map +1 -0
  96. package/dist/server/logout.d.ts.map +1 -0
  97. package/dist/server/logout.js.map +1 -0
  98. package/dist/server/refresh.d.ts.map +1 -0
  99. package/dist/server/refresh.js.map +1 -0
  100. package/dist/services/AuthenticationService.d.ts.map +1 -0
  101. package/dist/{esm/services → services}/AuthenticationService.js +7 -9
  102. package/dist/services/AuthenticationService.js.map +1 -0
  103. package/dist/services/PKCE.d.ts.map +1 -0
  104. package/dist/services/PKCE.js.map +1 -0
  105. package/dist/services/types.d.ts.map +1 -0
  106. package/dist/services/types.js.map +1 -0
  107. package/dist/shared/components/BlockDisplay.d.ts.map +1 -0
  108. package/dist/shared/components/BlockDisplay.js.map +1 -0
  109. package/dist/shared/components/CivicAuthIframe.d.ts.map +1 -0
  110. package/dist/shared/components/CivicAuthIframe.js.map +1 -0
  111. package/dist/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
  112. package/dist/{esm/shared → shared}/components/CivicAuthIframeContainer.js +0 -2
  113. package/dist/shared/components/CivicAuthIframeContainer.js.map +1 -0
  114. package/dist/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +1 -0
  115. package/dist/shared/components/CivicAuthLogoutIframeContainer.js.map +1 -0
  116. package/dist/shared/components/CloseIcon.d.ts.map +1 -0
  117. package/dist/shared/components/CloseIcon.js.map +1 -0
  118. package/dist/shared/components/IFrameAndLoading.d.ts.map +1 -0
  119. package/dist/shared/components/IFrameAndLoading.js.map +1 -0
  120. package/dist/shared/components/LoadingIcon.d.ts.map +1 -0
  121. package/dist/shared/components/LoadingIcon.js.map +1 -0
  122. package/dist/shared/components/SVGLoading.d.ts.map +1 -0
  123. package/dist/{esm/shared → shared}/components/SVGLoading.js +4 -4
  124. package/dist/shared/components/SVGLoading.js.map +1 -0
  125. package/dist/shared/hooks/index.d.ts.map +1 -0
  126. package/dist/shared/hooks/index.js.map +1 -0
  127. package/dist/shared/hooks/useAuth.d.ts.map +1 -0
  128. package/dist/shared/hooks/useAuth.js.map +1 -0
  129. package/dist/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
  130. package/dist/shared/hooks/useCivicAuthConfig.js.map +1 -0
  131. package/dist/shared/hooks/useCurrentUrl.d.ts.map +1 -0
  132. package/dist/shared/hooks/useCurrentUrl.js.map +1 -0
  133. package/dist/shared/hooks/useIframe.d.ts.map +1 -0
  134. package/dist/shared/hooks/useIframe.js.map +1 -0
  135. package/dist/shared/hooks/useIsInIframe.d.ts.map +1 -0
  136. package/dist/shared/hooks/useIsInIframe.js.map +1 -0
  137. package/dist/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
  138. package/dist/shared/hooks/useOAuthEndpoints.js.map +1 -0
  139. package/dist/shared/hooks/useRefresh.d.ts.map +1 -0
  140. package/dist/shared/hooks/useRefresh.js.map +1 -0
  141. package/dist/shared/hooks/useSession.d.ts.map +1 -0
  142. package/dist/shared/hooks/useSession.js.map +1 -0
  143. package/dist/shared/hooks/useSignIn.d.ts.map +1 -0
  144. package/dist/{esm/shared → shared}/hooks/useSignIn.js +3 -2
  145. package/dist/shared/hooks/useSignIn.js.map +1 -0
  146. package/dist/shared/hooks/useToken.d.ts.map +1 -0
  147. package/dist/shared/hooks/useToken.js.map +1 -0
  148. package/dist/shared/hooks/useWindowFocused.d.ts.map +1 -0
  149. package/dist/shared/hooks/useWindowFocused.js.map +1 -0
  150. package/dist/shared/index.d.ts.map +1 -0
  151. package/dist/shared/index.js.map +1 -0
  152. package/dist/{cjs/shared → shared}/lib/AuthenticationRefresherImpl.d.ts +3 -2
  153. package/dist/shared/lib/AuthenticationRefresherImpl.d.ts.map +1 -0
  154. package/dist/{esm/shared → shared}/lib/AuthenticationRefresherImpl.js +6 -1
  155. package/dist/shared/lib/AuthenticationRefresherImpl.js.map +1 -0
  156. package/dist/{esm/shared → shared}/lib/BrowserCookieStorage.d.ts +2 -1
  157. package/dist/shared/lib/BrowserCookieStorage.d.ts.map +1 -0
  158. package/dist/{esm/shared → shared}/lib/BrowserCookieStorage.js +24 -20
  159. package/dist/shared/lib/BrowserCookieStorage.js.map +1 -0
  160. package/dist/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
  161. package/dist/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
  162. package/dist/shared/lib/UserSession.d.ts.map +1 -0
  163. package/dist/shared/lib/UserSession.js.map +1 -0
  164. package/dist/shared/lib/iframeUtils.d.ts.map +1 -0
  165. package/dist/shared/lib/iframeUtils.js.map +1 -0
  166. package/dist/shared/lib/session.d.ts.map +1 -0
  167. package/dist/shared/lib/session.js.map +1 -0
  168. package/dist/{esm/shared → shared}/lib/storage.d.ts +2 -1
  169. package/dist/shared/lib/storage.d.ts.map +1 -0
  170. package/dist/shared/lib/storage.js.map +1 -0
  171. package/dist/{esm/shared → shared}/lib/types.d.ts +1 -0
  172. package/dist/shared/lib/types.d.ts.map +1 -0
  173. package/dist/shared/lib/types.js.map +1 -0
  174. package/dist/{cjs/shared → shared}/lib/util.d.ts +4 -1
  175. package/dist/shared/lib/util.d.ts.map +1 -0
  176. package/dist/{esm/shared → shared}/lib/util.js +39 -7
  177. package/dist/shared/lib/util.js.map +1 -0
  178. package/dist/shared/providers/AuthContext.d.ts.map +1 -0
  179. package/dist/shared/providers/AuthContext.js.map +1 -0
  180. package/dist/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
  181. package/dist/shared/providers/CivicAuthConfigContext.js.map +1 -0
  182. package/dist/shared/providers/IframeProvider.d.ts.map +1 -0
  183. package/dist/shared/providers/IframeProvider.js.map +1 -0
  184. package/dist/shared/providers/SessionProvider.d.ts.map +1 -0
  185. package/dist/shared/providers/SessionProvider.js.map +1 -0
  186. package/dist/shared/providers/TokenProvider.d.ts.map +1 -0
  187. package/dist/shared/providers/TokenProvider.js.map +1 -0
  188. package/dist/shared/providers/UserProvider.d.ts.map +1 -0
  189. package/dist/shared/providers/UserProvider.js.map +1 -0
  190. package/dist/shared/providers/types.d.ts.map +1 -0
  191. package/dist/shared/providers/types.js.map +1 -0
  192. package/dist/shared/version.d.ts +2 -0
  193. package/dist/shared/version.d.ts.map +1 -0
  194. package/dist/shared/version.js +3 -0
  195. package/dist/shared/version.js.map +1 -0
  196. package/dist/types.d.ts.map +1 -0
  197. package/dist/types.js.map +1 -0
  198. package/dist/utils.d.ts.map +1 -0
  199. package/dist/utils.js.map +1 -0
  200. package/dist/version.d.ts.map +1 -0
  201. package/dist/version.js.map +1 -0
  202. package/package.json +20 -37
  203. package/dist/cjs/browser/storage.d.ts.map +0 -1
  204. package/dist/cjs/browser/storage.js +0 -24
  205. package/dist/cjs/browser/storage.js.map +0 -1
  206. package/dist/cjs/config.d.ts.map +0 -1
  207. package/dist/cjs/config.js +0 -8
  208. package/dist/cjs/config.js.map +0 -1
  209. package/dist/cjs/constants.d.ts.map +0 -1
  210. package/dist/cjs/constants.js +0 -42
  211. package/dist/cjs/constants.js.map +0 -1
  212. package/dist/cjs/index.d.ts.map +0 -1
  213. package/dist/cjs/index.js +0 -11
  214. package/dist/cjs/index.js.map +0 -1
  215. package/dist/cjs/lib/cookies.d.ts.map +0 -1
  216. package/dist/cjs/lib/cookies.js +0 -29
  217. package/dist/cjs/lib/cookies.js.map +0 -1
  218. package/dist/cjs/lib/jwt.d.ts.map +0 -1
  219. package/dist/cjs/lib/jwt.js +0 -13
  220. package/dist/cjs/lib/jwt.js.map +0 -1
  221. package/dist/cjs/lib/logger.d.ts.map +0 -1
  222. package/dist/cjs/lib/logger.js +0 -62
  223. package/dist/cjs/lib/logger.js.map +0 -1
  224. package/dist/cjs/lib/oauth.d.ts.map +0 -1
  225. package/dist/cjs/lib/oauth.js +0 -74
  226. package/dist/cjs/lib/oauth.js.map +0 -1
  227. package/dist/cjs/lib/obj.d.ts.map +0 -1
  228. package/dist/cjs/lib/obj.js +0 -21
  229. package/dist/cjs/lib/obj.js.map +0 -1
  230. package/dist/cjs/lib/postMessage.d.ts.map +0 -1
  231. package/dist/cjs/lib/postMessage.js +0 -16
  232. package/dist/cjs/lib/postMessage.js.map +0 -1
  233. package/dist/cjs/lib/windowUtil.d.ts.map +0 -1
  234. package/dist/cjs/lib/windowUtil.js +0 -35
  235. package/dist/cjs/lib/windowUtil.js.map +0 -1
  236. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  237. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  238. package/dist/cjs/nextjs/GetUser.js +0 -11
  239. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  240. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  241. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js +0 -26
  242. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  243. package/dist/cjs/nextjs/config.d.ts +0 -209
  244. package/dist/cjs/nextjs/config.d.ts.map +0 -1
  245. package/dist/cjs/nextjs/config.js +0 -191
  246. package/dist/cjs/nextjs/config.js.map +0 -1
  247. package/dist/cjs/nextjs/cookies.d.ts +0 -27
  248. package/dist/cjs/nextjs/cookies.d.ts.map +0 -1
  249. package/dist/cjs/nextjs/cookies.js +0 -141
  250. package/dist/cjs/nextjs/cookies.js.map +0 -1
  251. package/dist/cjs/nextjs/hooks/index.d.ts.map +0 -1
  252. package/dist/cjs/nextjs/hooks/index.js +0 -6
  253. package/dist/cjs/nextjs/hooks/index.js.map +0 -1
  254. package/dist/cjs/nextjs/hooks/usePrevious.d.ts.map +0 -1
  255. package/dist/cjs/nextjs/hooks/usePrevious.js +0 -12
  256. package/dist/cjs/nextjs/hooks/usePrevious.js.map +0 -1
  257. package/dist/cjs/nextjs/hooks/useRefresh.d.ts.map +0 -1
  258. package/dist/cjs/nextjs/hooks/useRefresh.js +0 -43
  259. package/dist/cjs/nextjs/hooks/useRefresh.js.map +0 -1
  260. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  261. package/dist/cjs/nextjs/hooks/useUserCookie.js +0 -93
  262. package/dist/cjs/nextjs/hooks/useUserCookie.js.map +0 -1
  263. package/dist/cjs/nextjs/index.d.ts.map +0 -1
  264. package/dist/cjs/nextjs/index.js +0 -27
  265. package/dist/cjs/nextjs/index.js.map +0 -1
  266. package/dist/cjs/nextjs/middleware/index.d.ts.map +0 -1
  267. package/dist/cjs/nextjs/middleware/index.js +0 -10
  268. package/dist/cjs/nextjs/middleware/index.js.map +0 -1
  269. package/dist/cjs/nextjs/middleware.d.ts.map +0 -1
  270. package/dist/cjs/nextjs/middleware.js +0 -110
  271. package/dist/cjs/nextjs/middleware.js.map +0 -1
  272. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  273. package/dist/cjs/nextjs/providers/NextAuthProvider.js +0 -102
  274. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +0 -1
  275. package/dist/cjs/nextjs/routeHandler.d.ts.map +0 -1
  276. package/dist/cjs/nextjs/routeHandler.js +0 -318
  277. package/dist/cjs/nextjs/routeHandler.js.map +0 -1
  278. package/dist/cjs/nextjs/utils.d.ts.map +0 -1
  279. package/dist/cjs/nextjs/utils.js +0 -9
  280. package/dist/cjs/nextjs/utils.js.map +0 -1
  281. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  282. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +0 -40
  283. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  284. package/dist/cjs/reactjs/components/LoadingSpinner.d.ts +0 -7
  285. package/dist/cjs/reactjs/components/LoadingSpinner.d.ts.map +0 -1
  286. package/dist/cjs/reactjs/components/LoadingSpinner.js +0 -33
  287. package/dist/cjs/reactjs/components/LoadingSpinner.js.map +0 -1
  288. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +0 -1
  289. package/dist/cjs/reactjs/components/SignInButton.js +0 -31
  290. package/dist/cjs/reactjs/components/SignInButton.js.map +0 -1
  291. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +0 -1
  292. package/dist/cjs/reactjs/components/SignOutButton.js +0 -27
  293. package/dist/cjs/reactjs/components/SignOutButton.js.map +0 -1
  294. package/dist/cjs/reactjs/components/UserButton.d.ts.map +0 -1
  295. package/dist/cjs/reactjs/components/UserButton.js +0 -146
  296. package/dist/cjs/reactjs/components/UserButton.js.map +0 -1
  297. package/dist/cjs/reactjs/components/index.d.ts.map +0 -1
  298. package/dist/cjs/reactjs/components/index.js +0 -14
  299. package/dist/cjs/reactjs/components/index.js.map +0 -1
  300. package/dist/cjs/reactjs/components/utils.d.ts.map +0 -1
  301. package/dist/cjs/reactjs/components/utils.js +0 -31
  302. package/dist/cjs/reactjs/components/utils.js.map +0 -1
  303. package/dist/cjs/reactjs/hooks/index.d.ts.map +0 -1
  304. package/dist/cjs/reactjs/hooks/index.js +0 -8
  305. package/dist/cjs/reactjs/hooks/index.js.map +0 -1
  306. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  307. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  308. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  309. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  310. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js +0 -16
  311. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  312. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +0 -6
  313. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +0 -1
  314. package/dist/cjs/reactjs/hooks/useSignIn.js +0 -38
  315. package/dist/cjs/reactjs/hooks/useSignIn.js.map +0 -1
  316. package/dist/cjs/reactjs/hooks/useUser.d.ts.map +0 -1
  317. package/dist/cjs/reactjs/hooks/useUser.js +0 -15
  318. package/dist/cjs/reactjs/hooks/useUser.js.map +0 -1
  319. package/dist/cjs/reactjs/index.d.ts.map +0 -1
  320. package/dist/cjs/reactjs/index.js +0 -32
  321. package/dist/cjs/reactjs/index.js.map +0 -1
  322. package/dist/cjs/reactjs/providers/AuthProvider.d.ts.map +0 -1
  323. package/dist/cjs/reactjs/providers/AuthProvider.js +0 -91
  324. package/dist/cjs/reactjs/providers/AuthProvider.js.map +0 -1
  325. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  326. package/dist/cjs/reactjs/providers/CivicAuthProvider.js +0 -29
  327. package/dist/cjs/reactjs/providers/CivicAuthProvider.js.map +0 -1
  328. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  329. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -147
  330. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  331. package/dist/cjs/reactjs/providers/index.d.ts.map +0 -1
  332. package/dist/cjs/reactjs/providers/index.js +0 -19
  333. package/dist/cjs/reactjs/providers/index.js.map +0 -1
  334. package/dist/cjs/server/ServerAuthenticationResolver.d.ts.map +0 -1
  335. package/dist/cjs/server/ServerAuthenticationResolver.js +0 -71
  336. package/dist/cjs/server/ServerAuthenticationResolver.js.map +0 -1
  337. package/dist/cjs/server/config.d.ts.map +0 -1
  338. package/dist/cjs/server/config.js +0 -3
  339. package/dist/cjs/server/config.js.map +0 -1
  340. package/dist/cjs/server/index.d.ts.map +0 -1
  341. package/dist/cjs/server/index.js +0 -21
  342. package/dist/cjs/server/index.js.map +0 -1
  343. package/dist/cjs/server/login.d.ts.map +0 -1
  344. package/dist/cjs/server/login.js +0 -42
  345. package/dist/cjs/server/login.js.map +0 -1
  346. package/dist/cjs/server/logout.d.ts.map +0 -1
  347. package/dist/cjs/server/logout.js +0 -26
  348. package/dist/cjs/server/logout.js.map +0 -1
  349. package/dist/cjs/server/refresh.d.ts.map +0 -1
  350. package/dist/cjs/server/refresh.js +0 -16
  351. package/dist/cjs/server/refresh.js.map +0 -1
  352. package/dist/cjs/services/AuthenticationService.d.ts.map +0 -1
  353. package/dist/cjs/services/AuthenticationService.js +0 -374
  354. package/dist/cjs/services/AuthenticationService.js.map +0 -1
  355. package/dist/cjs/services/PKCE.d.ts.map +0 -1
  356. package/dist/cjs/services/PKCE.js +0 -50
  357. package/dist/cjs/services/PKCE.js.map +0 -1
  358. package/dist/cjs/services/types.d.ts.map +0 -1
  359. package/dist/cjs/services/types.js +0 -11
  360. package/dist/cjs/services/types.js.map +0 -1
  361. package/dist/cjs/shared/components/BlockDisplay.d.ts.map +0 -1
  362. package/dist/cjs/shared/components/BlockDisplay.js +0 -32
  363. package/dist/cjs/shared/components/BlockDisplay.js.map +0 -1
  364. package/dist/cjs/shared/components/CivicAuthIframe.d.ts.map +0 -1
  365. package/dist/cjs/shared/components/CivicAuthIframe.js +0 -66
  366. package/dist/cjs/shared/components/CivicAuthIframe.js.map +0 -1
  367. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  368. package/dist/cjs/shared/components/CivicAuthIframeContainer.js +0 -160
  369. package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +0 -1
  370. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  371. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js +0 -21
  372. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  373. package/dist/cjs/shared/components/CloseIcon.d.ts.map +0 -1
  374. package/dist/cjs/shared/components/CloseIcon.js +0 -7
  375. package/dist/cjs/shared/components/CloseIcon.js.map +0 -1
  376. package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +0 -1
  377. package/dist/cjs/shared/components/IFrameAndLoading.js +0 -39
  378. package/dist/cjs/shared/components/IFrameAndLoading.js.map +0 -1
  379. package/dist/cjs/shared/components/LoadingIcon.d.ts.map +0 -1
  380. package/dist/cjs/shared/components/LoadingIcon.js +0 -28
  381. package/dist/cjs/shared/components/LoadingIcon.js.map +0 -1
  382. package/dist/cjs/shared/components/SVGLoading.d.ts.map +0 -1
  383. package/dist/cjs/shared/components/SVGLoading.js +0 -30
  384. package/dist/cjs/shared/components/SVGLoading.js.map +0 -1
  385. package/dist/cjs/shared/hooks/index.d.ts.map +0 -1
  386. package/dist/cjs/shared/hooks/index.js +0 -24
  387. package/dist/cjs/shared/hooks/index.js.map +0 -1
  388. package/dist/cjs/shared/hooks/useAuth.d.ts +0 -3
  389. package/dist/cjs/shared/hooks/useAuth.d.ts.map +0 -1
  390. package/dist/cjs/shared/hooks/useAuth.js +0 -15
  391. package/dist/cjs/shared/hooks/useAuth.js.map +0 -1
  392. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  393. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  394. package/dist/cjs/shared/hooks/useCivicAuthConfig.js +0 -13
  395. package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +0 -1
  396. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  397. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  398. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  399. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  400. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  401. package/dist/cjs/shared/hooks/useCurrentUrl.js +0 -27
  402. package/dist/cjs/shared/hooks/useCurrentUrl.js.map +0 -1
  403. package/dist/cjs/shared/hooks/useIframe.d.ts.map +0 -1
  404. package/dist/cjs/shared/hooks/useIframe.js +0 -16
  405. package/dist/cjs/shared/hooks/useIframe.js.map +0 -1
  406. package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +0 -1
  407. package/dist/cjs/shared/hooks/useIsInIframe.js +0 -17
  408. package/dist/cjs/shared/hooks/useIsInIframe.js.map +0 -1
  409. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  410. package/dist/cjs/shared/hooks/useOAuthEndpoints.js +0 -17
  411. package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +0 -1
  412. package/dist/cjs/shared/hooks/useRefresh.d.ts.map +0 -1
  413. package/dist/cjs/shared/hooks/useRefresh.js +0 -41
  414. package/dist/cjs/shared/hooks/useRefresh.js.map +0 -1
  415. package/dist/cjs/shared/hooks/useSession.d.ts.map +0 -1
  416. package/dist/cjs/shared/hooks/useSession.js +0 -16
  417. package/dist/cjs/shared/hooks/useSession.js.map +0 -1
  418. package/dist/cjs/shared/hooks/useSignIn.d.ts.map +0 -1
  419. package/dist/cjs/shared/hooks/useSignIn.js +0 -170
  420. package/dist/cjs/shared/hooks/useSignIn.js.map +0 -1
  421. package/dist/cjs/shared/hooks/useToken.d.ts.map +0 -1
  422. package/dist/cjs/shared/hooks/useToken.js +0 -15
  423. package/dist/cjs/shared/hooks/useToken.js.map +0 -1
  424. package/dist/cjs/shared/hooks/useWindowFocused.d.ts.map +0 -1
  425. package/dist/cjs/shared/hooks/useWindowFocused.js +0 -24
  426. package/dist/cjs/shared/hooks/useWindowFocused.js.map +0 -1
  427. package/dist/cjs/shared/index.d.ts.map +0 -1
  428. package/dist/cjs/shared/index.js +0 -25
  429. package/dist/cjs/shared/index.js.map +0 -1
  430. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  431. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js +0 -47
  432. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  433. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +0 -8
  434. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  435. package/dist/cjs/shared/lib/BrowserCookieStorage.js +0 -56
  436. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +0 -1
  437. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  438. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +0 -65
  439. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  440. package/dist/cjs/shared/lib/UserSession.d.ts.map +0 -1
  441. package/dist/cjs/shared/lib/UserSession.js +0 -27
  442. package/dist/cjs/shared/lib/UserSession.js.map +0 -1
  443. package/dist/cjs/shared/lib/iframeUtils.d.ts.map +0 -1
  444. package/dist/cjs/shared/lib/iframeUtils.js +0 -11
  445. package/dist/cjs/shared/lib/iframeUtils.js.map +0 -1
  446. package/dist/cjs/shared/lib/session.d.ts.map +0 -1
  447. package/dist/cjs/shared/lib/session.js +0 -48
  448. package/dist/cjs/shared/lib/session.js.map +0 -1
  449. package/dist/cjs/shared/lib/storage.d.ts +0 -34
  450. package/dist/cjs/shared/lib/storage.d.ts.map +0 -1
  451. package/dist/cjs/shared/lib/storage.js +0 -21
  452. package/dist/cjs/shared/lib/storage.js.map +0 -1
  453. package/dist/cjs/shared/lib/types.d.ts +0 -38
  454. package/dist/cjs/shared/lib/types.d.ts.map +0 -1
  455. package/dist/cjs/shared/lib/types.js +0 -22
  456. package/dist/cjs/shared/lib/types.js.map +0 -1
  457. package/dist/cjs/shared/lib/util.d.ts.map +0 -1
  458. package/dist/cjs/shared/lib/util.js +0 -204
  459. package/dist/cjs/shared/lib/util.js.map +0 -1
  460. package/dist/cjs/shared/providers/AuthContext.d.ts.map +0 -1
  461. package/dist/cjs/shared/providers/AuthContext.js +0 -7
  462. package/dist/cjs/shared/providers/AuthContext.js.map +0 -1
  463. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  464. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  465. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  466. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  467. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  468. package/dist/cjs/shared/providers/CivicAuthConfigContext.js +0 -59
  469. package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +0 -1
  470. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  471. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  472. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  473. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  474. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  475. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  476. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  477. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  478. package/dist/cjs/shared/providers/IframeProvider.d.ts.map +0 -1
  479. package/dist/cjs/shared/providers/IframeProvider.js +0 -63
  480. package/dist/cjs/shared/providers/IframeProvider.js.map +0 -1
  481. package/dist/cjs/shared/providers/SessionProvider.d.ts.map +0 -1
  482. package/dist/cjs/shared/providers/SessionProvider.js +0 -28
  483. package/dist/cjs/shared/providers/SessionProvider.js.map +0 -1
  484. package/dist/cjs/shared/providers/TokenProvider.d.ts.map +0 -1
  485. package/dist/cjs/shared/providers/TokenProvider.js +0 -39
  486. package/dist/cjs/shared/providers/TokenProvider.js.map +0 -1
  487. package/dist/cjs/shared/providers/UserProvider.d.ts.map +0 -1
  488. package/dist/cjs/shared/providers/UserProvider.js +0 -69
  489. package/dist/cjs/shared/providers/UserProvider.js.map +0 -1
  490. package/dist/cjs/shared/providers/types.d.ts.map +0 -1
  491. package/dist/cjs/shared/providers/types.js +0 -3
  492. package/dist/cjs/shared/providers/types.js.map +0 -1
  493. package/dist/cjs/shared/version.d.ts +0 -2
  494. package/dist/cjs/shared/version.d.ts.map +0 -1
  495. package/dist/cjs/shared/version.js +0 -6
  496. package/dist/cjs/shared/version.js.map +0 -1
  497. package/dist/cjs/types.d.ts.map +0 -1
  498. package/dist/cjs/types.js +0 -20
  499. package/dist/cjs/types.js.map +0 -1
  500. package/dist/cjs/utils.d.ts.map +0 -1
  501. package/dist/cjs/utils.js +0 -47
  502. package/dist/cjs/utils.js.map +0 -1
  503. package/dist/cjs/version.d.ts.map +0 -1
  504. package/dist/cjs/version.js +0 -6
  505. package/dist/cjs/version.js.map +0 -1
  506. package/dist/esm/browser/storage.d.ts +0 -10
  507. package/dist/esm/browser/storage.d.ts.map +0 -1
  508. package/dist/esm/browser/storage.js.map +0 -1
  509. package/dist/esm/config.d.ts +0 -3
  510. package/dist/esm/config.d.ts.map +0 -1
  511. package/dist/esm/config.js.map +0 -1
  512. package/dist/esm/constants.d.ts +0 -14
  513. package/dist/esm/constants.d.ts.map +0 -1
  514. package/dist/esm/constants.js.map +0 -1
  515. package/dist/esm/index.d.ts +0 -8
  516. package/dist/esm/index.d.ts.map +0 -1
  517. package/dist/esm/index.js.map +0 -1
  518. package/dist/esm/lib/cookies.d.ts +0 -7
  519. package/dist/esm/lib/cookies.d.ts.map +0 -1
  520. package/dist/esm/lib/cookies.js.map +0 -1
  521. package/dist/esm/lib/jwt.d.ts +0 -3
  522. package/dist/esm/lib/jwt.d.ts.map +0 -1
  523. package/dist/esm/lib/jwt.js.map +0 -1
  524. package/dist/esm/lib/logger.d.ts +0 -26
  525. package/dist/esm/lib/logger.d.ts.map +0 -1
  526. package/dist/esm/lib/logger.js.map +0 -1
  527. package/dist/esm/lib/oauth.d.ts +0 -19
  528. package/dist/esm/lib/oauth.d.ts.map +0 -1
  529. package/dist/esm/lib/oauth.js.map +0 -1
  530. package/dist/esm/lib/obj.d.ts +0 -3
  531. package/dist/esm/lib/obj.d.ts.map +0 -1
  532. package/dist/esm/lib/obj.js.map +0 -1
  533. package/dist/esm/lib/postMessage.d.ts +0 -4
  534. package/dist/esm/lib/postMessage.d.ts.map +0 -1
  535. package/dist/esm/lib/postMessage.js.map +0 -1
  536. package/dist/esm/lib/windowUtil.d.ts +0 -4
  537. package/dist/esm/lib/windowUtil.d.ts.map +0 -1
  538. package/dist/esm/lib/windowUtil.js.map +0 -1
  539. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  540. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  541. package/dist/esm/nextjs/GetUser.js +0 -7
  542. package/dist/esm/nextjs/GetUser.js.map +0 -1
  543. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts +0 -9
  544. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  545. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  546. package/dist/esm/nextjs/config.d.ts.map +0 -1
  547. package/dist/esm/nextjs/config.js.map +0 -1
  548. package/dist/esm/nextjs/cookies.d.ts +0 -27
  549. package/dist/esm/nextjs/cookies.d.ts.map +0 -1
  550. package/dist/esm/nextjs/cookies.js +0 -103
  551. package/dist/esm/nextjs/cookies.js.map +0 -1
  552. package/dist/esm/nextjs/hooks/index.d.ts +0 -2
  553. package/dist/esm/nextjs/hooks/index.d.ts.map +0 -1
  554. package/dist/esm/nextjs/hooks/index.js.map +0 -1
  555. package/dist/esm/nextjs/hooks/usePrevious.d.ts +0 -2
  556. package/dist/esm/nextjs/hooks/usePrevious.d.ts.map +0 -1
  557. package/dist/esm/nextjs/hooks/usePrevious.js.map +0 -1
  558. package/dist/esm/nextjs/hooks/useRefresh.d.ts +0 -4
  559. package/dist/esm/nextjs/hooks/useRefresh.d.ts.map +0 -1
  560. package/dist/esm/nextjs/hooks/useRefresh.js.map +0 -1
  561. package/dist/esm/nextjs/hooks/useUserCookie.d.ts +0 -8
  562. package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  563. package/dist/esm/nextjs/hooks/useUserCookie.js.map +0 -1
  564. package/dist/esm/nextjs/index.d.ts +0 -9
  565. package/dist/esm/nextjs/index.d.ts.map +0 -1
  566. package/dist/esm/nextjs/index.js.map +0 -1
  567. package/dist/esm/nextjs/middleware/index.d.ts +0 -2
  568. package/dist/esm/nextjs/middleware/index.d.ts.map +0 -1
  569. package/dist/esm/nextjs/middleware/index.js.map +0 -1
  570. package/dist/esm/nextjs/middleware.d.ts +0 -57
  571. package/dist/esm/nextjs/middleware.d.ts.map +0 -1
  572. package/dist/esm/nextjs/middleware.js.map +0 -1
  573. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +0 -9
  574. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  575. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +0 -1
  576. package/dist/esm/nextjs/routeHandler.d.ts +0 -19
  577. package/dist/esm/nextjs/routeHandler.d.ts.map +0 -1
  578. package/dist/esm/nextjs/routeHandler.js.map +0 -1
  579. package/dist/esm/nextjs/utils.d.ts +0 -3
  580. package/dist/esm/nextjs/utils.d.ts.map +0 -1
  581. package/dist/esm/nextjs/utils.js.map +0 -1
  582. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  583. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  584. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  585. package/dist/esm/reactjs/components/SignInButton.d.ts +0 -9
  586. package/dist/esm/reactjs/components/SignInButton.d.ts.map +0 -1
  587. package/dist/esm/reactjs/components/SignInButton.js.map +0 -1
  588. package/dist/esm/reactjs/components/SignOutButton.d.ts +0 -7
  589. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +0 -1
  590. package/dist/esm/reactjs/components/SignOutButton.js.map +0 -1
  591. package/dist/esm/reactjs/components/UserButton.d.ts +0 -9
  592. package/dist/esm/reactjs/components/UserButton.d.ts.map +0 -1
  593. package/dist/esm/reactjs/components/UserButton.js.map +0 -1
  594. package/dist/esm/reactjs/components/index.d.ts +0 -6
  595. package/dist/esm/reactjs/components/index.d.ts.map +0 -1
  596. package/dist/esm/reactjs/components/index.js.map +0 -1
  597. package/dist/esm/reactjs/components/utils.d.ts +0 -13
  598. package/dist/esm/reactjs/components/utils.d.ts.map +0 -1
  599. package/dist/esm/reactjs/components/utils.js.map +0 -1
  600. package/dist/esm/reactjs/hooks/index.d.ts +0 -3
  601. package/dist/esm/reactjs/hooks/index.d.ts.map +0 -1
  602. package/dist/esm/reactjs/hooks/index.js.map +0 -1
  603. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  604. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  605. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  606. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  607. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  608. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  609. package/dist/esm/reactjs/hooks/useSignIn.d.ts +0 -6
  610. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +0 -1
  611. package/dist/esm/reactjs/hooks/useSignIn.js +0 -34
  612. package/dist/esm/reactjs/hooks/useSignIn.js.map +0 -1
  613. package/dist/esm/reactjs/hooks/useUser.d.ts +0 -4
  614. package/dist/esm/reactjs/hooks/useUser.d.ts.map +0 -1
  615. package/dist/esm/reactjs/hooks/useUser.js.map +0 -1
  616. package/dist/esm/reactjs/index.d.ts +0 -6
  617. package/dist/esm/reactjs/index.d.ts.map +0 -1
  618. package/dist/esm/reactjs/index.js.map +0 -1
  619. package/dist/esm/reactjs/providers/AuthProvider.d.ts +0 -10
  620. package/dist/esm/reactjs/providers/AuthProvider.d.ts.map +0 -1
  621. package/dist/esm/reactjs/providers/AuthProvider.js.map +0 -1
  622. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  623. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  624. package/dist/esm/reactjs/providers/CivicAuthProvider.js.map +0 -1
  625. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  626. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  627. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  628. package/dist/esm/reactjs/providers/index.d.ts +0 -8
  629. package/dist/esm/reactjs/providers/index.d.ts.map +0 -1
  630. package/dist/esm/reactjs/providers/index.js.map +0 -1
  631. package/dist/esm/server/ServerAuthenticationResolver.d.ts +0 -20
  632. package/dist/esm/server/ServerAuthenticationResolver.d.ts.map +0 -1
  633. package/dist/esm/server/ServerAuthenticationResolver.js.map +0 -1
  634. package/dist/esm/server/config.d.ts +0 -11
  635. package/dist/esm/server/config.d.ts.map +0 -1
  636. package/dist/esm/server/config.js.map +0 -1
  637. package/dist/esm/server/index.d.ts +0 -9
  638. package/dist/esm/server/index.d.ts.map +0 -1
  639. package/dist/esm/server/index.js.map +0 -1
  640. package/dist/esm/server/login.d.ts +0 -17
  641. package/dist/esm/server/login.d.ts.map +0 -1
  642. package/dist/esm/server/login.js.map +0 -1
  643. package/dist/esm/server/logout.d.ts +0 -7
  644. package/dist/esm/server/logout.d.ts.map +0 -1
  645. package/dist/esm/server/logout.js.map +0 -1
  646. package/dist/esm/server/refresh.d.ts +0 -7
  647. package/dist/esm/server/refresh.d.ts.map +0 -1
  648. package/dist/esm/server/refresh.js.map +0 -1
  649. package/dist/esm/services/AuthenticationService.d.ts +0 -93
  650. package/dist/esm/services/AuthenticationService.d.ts.map +0 -1
  651. package/dist/esm/services/AuthenticationService.js.map +0 -1
  652. package/dist/esm/services/PKCE.d.ts +0 -20
  653. package/dist/esm/services/PKCE.d.ts.map +0 -1
  654. package/dist/esm/services/PKCE.js.map +0 -1
  655. package/dist/esm/services/types.d.ts +0 -24
  656. package/dist/esm/services/types.d.ts.map +0 -1
  657. package/dist/esm/services/types.js.map +0 -1
  658. package/dist/esm/shared/components/BlockDisplay.d.ts +0 -6
  659. package/dist/esm/shared/components/BlockDisplay.d.ts.map +0 -1
  660. package/dist/esm/shared/components/BlockDisplay.js.map +0 -1
  661. package/dist/esm/shared/components/CivicAuthIframe.d.ts +0 -9
  662. package/dist/esm/shared/components/CivicAuthIframe.d.ts.map +0 -1
  663. package/dist/esm/shared/components/CivicAuthIframe.js.map +0 -1
  664. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  665. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  666. package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +0 -1
  667. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  668. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  669. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  670. package/dist/esm/shared/components/CloseIcon.d.ts +0 -3
  671. package/dist/esm/shared/components/CloseIcon.d.ts.map +0 -1
  672. package/dist/esm/shared/components/CloseIcon.js.map +0 -1
  673. package/dist/esm/shared/components/IFrameAndLoading.d.ts +0 -7
  674. package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +0 -1
  675. package/dist/esm/shared/components/IFrameAndLoading.js.map +0 -1
  676. package/dist/esm/shared/components/LoadingIcon.d.ts +0 -6
  677. package/dist/esm/shared/components/LoadingIcon.d.ts.map +0 -1
  678. package/dist/esm/shared/components/LoadingIcon.js.map +0 -1
  679. package/dist/esm/shared/components/SVGLoading.d.ts +0 -4
  680. package/dist/esm/shared/components/SVGLoading.d.ts.map +0 -1
  681. package/dist/esm/shared/components/SVGLoading.js.map +0 -1
  682. package/dist/esm/shared/hooks/index.d.ts +0 -11
  683. package/dist/esm/shared/hooks/index.d.ts.map +0 -1
  684. package/dist/esm/shared/hooks/index.js.map +0 -1
  685. package/dist/esm/shared/hooks/useAuth.d.ts +0 -3
  686. package/dist/esm/shared/hooks/useAuth.d.ts.map +0 -1
  687. package/dist/esm/shared/hooks/useAuth.js +0 -12
  688. package/dist/esm/shared/hooks/useAuth.js.map +0 -1
  689. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  690. package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +0 -1
  691. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  692. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  693. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  694. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  695. package/dist/esm/shared/hooks/useCurrentUrl.d.ts +0 -3
  696. package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  697. package/dist/esm/shared/hooks/useCurrentUrl.js.map +0 -1
  698. package/dist/esm/shared/hooks/useIframe.d.ts +0 -3
  699. package/dist/esm/shared/hooks/useIframe.d.ts.map +0 -1
  700. package/dist/esm/shared/hooks/useIframe.js.map +0 -1
  701. package/dist/esm/shared/hooks/useIsInIframe.d.ts +0 -3
  702. package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +0 -1
  703. package/dist/esm/shared/hooks/useIsInIframe.js.map +0 -1
  704. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  705. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  706. package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +0 -1
  707. package/dist/esm/shared/hooks/useRefresh.d.ts +0 -4
  708. package/dist/esm/shared/hooks/useRefresh.d.ts.map +0 -1
  709. package/dist/esm/shared/hooks/useRefresh.js.map +0 -1
  710. package/dist/esm/shared/hooks/useSession.d.ts +0 -3
  711. package/dist/esm/shared/hooks/useSession.d.ts.map +0 -1
  712. package/dist/esm/shared/hooks/useSession.js.map +0 -1
  713. package/dist/esm/shared/hooks/useSignIn.d.ts +0 -17
  714. package/dist/esm/shared/hooks/useSignIn.d.ts.map +0 -1
  715. package/dist/esm/shared/hooks/useSignIn.js.map +0 -1
  716. package/dist/esm/shared/hooks/useToken.d.ts +0 -3
  717. package/dist/esm/shared/hooks/useToken.d.ts.map +0 -1
  718. package/dist/esm/shared/hooks/useToken.js.map +0 -1
  719. package/dist/esm/shared/hooks/useWindowFocused.d.ts +0 -5
  720. package/dist/esm/shared/hooks/useWindowFocused.d.ts.map +0 -1
  721. package/dist/esm/shared/hooks/useWindowFocused.js.map +0 -1
  722. package/dist/esm/shared/index.d.ts +0 -7
  723. package/dist/esm/shared/index.d.ts.map +0 -1
  724. package/dist/esm/shared/index.js.map +0 -1
  725. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts +0 -13
  726. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  727. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  728. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  729. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +0 -1
  730. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +0 -16
  731. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  732. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  733. package/dist/esm/shared/lib/UserSession.d.ts +0 -17
  734. package/dist/esm/shared/lib/UserSession.d.ts.map +0 -1
  735. package/dist/esm/shared/lib/UserSession.js.map +0 -1
  736. package/dist/esm/shared/lib/iframeUtils.d.ts +0 -6
  737. package/dist/esm/shared/lib/iframeUtils.d.ts.map +0 -1
  738. package/dist/esm/shared/lib/iframeUtils.js.map +0 -1
  739. package/dist/esm/shared/lib/session.d.ts +0 -4
  740. package/dist/esm/shared/lib/session.d.ts.map +0 -1
  741. package/dist/esm/shared/lib/session.js.map +0 -1
  742. package/dist/esm/shared/lib/storage.d.ts.map +0 -1
  743. package/dist/esm/shared/lib/storage.js.map +0 -1
  744. package/dist/esm/shared/lib/types.d.ts.map +0 -1
  745. package/dist/esm/shared/lib/types.js.map +0 -1
  746. package/dist/esm/shared/lib/util.d.ts +0 -37
  747. package/dist/esm/shared/lib/util.d.ts.map +0 -1
  748. package/dist/esm/shared/lib/util.js.map +0 -1
  749. package/dist/esm/shared/providers/AuthContext.d.ts +0 -12
  750. package/dist/esm/shared/providers/AuthContext.d.ts.map +0 -1
  751. package/dist/esm/shared/providers/AuthContext.js.map +0 -1
  752. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  753. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  754. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  755. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  756. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  757. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  758. package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +0 -1
  759. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  760. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  761. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  762. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  763. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  764. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  765. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  766. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  767. package/dist/esm/shared/providers/IframeProvider.d.ts +0 -25
  768. package/dist/esm/shared/providers/IframeProvider.d.ts.map +0 -1
  769. package/dist/esm/shared/providers/IframeProvider.js.map +0 -1
  770. package/dist/esm/shared/providers/SessionProvider.d.ts +0 -19
  771. package/dist/esm/shared/providers/SessionProvider.d.ts.map +0 -1
  772. package/dist/esm/shared/providers/SessionProvider.js.map +0 -1
  773. package/dist/esm/shared/providers/TokenProvider.d.ts +0 -17
  774. package/dist/esm/shared/providers/TokenProvider.d.ts.map +0 -1
  775. package/dist/esm/shared/providers/TokenProvider.js.map +0 -1
  776. package/dist/esm/shared/providers/UserProvider.d.ts +0 -26
  777. package/dist/esm/shared/providers/UserProvider.d.ts.map +0 -1
  778. package/dist/esm/shared/providers/UserProvider.js.map +0 -1
  779. package/dist/esm/shared/providers/types.d.ts +0 -15
  780. package/dist/esm/shared/providers/types.d.ts.map +0 -1
  781. package/dist/esm/shared/providers/types.js.map +0 -1
  782. package/dist/esm/shared/version.d.ts +0 -2
  783. package/dist/esm/shared/version.d.ts.map +0 -1
  784. package/dist/esm/shared/version.js +0 -3
  785. package/dist/esm/shared/version.js.map +0 -1
  786. package/dist/esm/types.d.ts +0 -163
  787. package/dist/esm/types.d.ts.map +0 -1
  788. package/dist/esm/types.js.map +0 -1
  789. package/dist/esm/utils.d.ts +0 -15
  790. package/dist/esm/utils.d.ts.map +0 -1
  791. package/dist/esm/utils.js.map +0 -1
  792. package/dist/esm/version.d.ts +0 -2
  793. package/dist/esm/version.d.ts.map +0 -1
  794. package/dist/esm/version.js.map +0 -1
  795. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  796. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  797. /package/dist/{cjs/browser → browser}/storage.d.ts +0 -0
  798. /package/dist/{esm/browser → browser}/storage.js +0 -0
  799. /package/dist/{cjs/config.d.ts → config.d.ts} +0 -0
  800. /package/dist/{esm/config.js → config.js} +0 -0
  801. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  802. /package/dist/{esm/index.js → index.js} +0 -0
  803. /package/dist/{cjs/lib → lib}/cookies.d.ts +0 -0
  804. /package/dist/{esm/lib → lib}/cookies.js +0 -0
  805. /package/dist/{cjs/lib → lib}/jwt.d.ts +0 -0
  806. /package/dist/{esm/lib → lib}/jwt.js +0 -0
  807. /package/dist/{cjs/lib → lib}/logger.d.ts +0 -0
  808. /package/dist/{esm/lib → lib}/logger.js +0 -0
  809. /package/dist/{cjs/lib → lib}/oauth.d.ts +0 -0
  810. /package/dist/{esm/lib → lib}/oauth.js +0 -0
  811. /package/dist/{cjs/lib → lib}/obj.d.ts +0 -0
  812. /package/dist/{esm/lib → lib}/obj.js +0 -0
  813. /package/dist/{cjs/lib → lib}/postMessage.d.ts +0 -0
  814. /package/dist/{esm/lib → lib}/postMessage.js +0 -0
  815. /package/dist/{cjs/lib → lib}/windowUtil.d.ts +0 -0
  816. /package/dist/{esm/lib → lib}/windowUtil.js +0 -0
  817. /package/dist/{cjs/nextjs → nextjs}/NextClientAuthenticationRefresher.d.ts +0 -0
  818. /package/dist/{esm/nextjs → nextjs}/NextClientAuthenticationRefresher.js +0 -0
  819. /package/dist/{esm/nextjs → nextjs}/config.d.ts +0 -0
  820. /package/dist/{esm/nextjs → nextjs}/config.js +0 -0
  821. /package/dist/{cjs/nextjs → nextjs}/hooks/index.d.ts +0 -0
  822. /package/dist/{esm/nextjs → nextjs}/hooks/index.js +0 -0
  823. /package/dist/{cjs/nextjs → nextjs}/hooks/usePrevious.d.ts +0 -0
  824. /package/dist/{esm/nextjs → nextjs}/hooks/usePrevious.js +0 -0
  825. /package/dist/{cjs/nextjs → nextjs}/hooks/useRefresh.d.ts +0 -0
  826. /package/dist/{esm/nextjs → nextjs}/hooks/useRefresh.js +0 -0
  827. /package/dist/{cjs/nextjs → nextjs}/hooks/useUserCookie.d.ts +0 -0
  828. /package/dist/{esm/nextjs → nextjs}/hooks/useUserCookie.js +0 -0
  829. /package/dist/{cjs/nextjs → nextjs}/index.d.ts +0 -0
  830. /package/dist/{esm/nextjs → nextjs}/index.js +0 -0
  831. /package/dist/{cjs/nextjs → nextjs}/middleware/index.d.ts +0 -0
  832. /package/dist/{esm/nextjs → nextjs}/middleware/index.js +0 -0
  833. /package/dist/{cjs/nextjs → nextjs}/middleware.d.ts +0 -0
  834. /package/dist/{esm/nextjs → nextjs}/middleware.js +0 -0
  835. /package/dist/{cjs/nextjs → nextjs}/providers/NextAuthProvider.d.ts +0 -0
  836. /package/dist/{esm/nextjs → nextjs}/providers/NextAuthProvider.js +0 -0
  837. /package/dist/{cjs/nextjs → nextjs}/routeHandler.d.ts +0 -0
  838. /package/dist/{cjs/nextjs → nextjs}/utils.d.ts +0 -0
  839. /package/dist/{esm/nextjs → nextjs}/utils.js +0 -0
  840. /package/dist/{cjs/reactjs → reactjs}/components/ButtonContentOrLoader.d.ts +0 -0
  841. /package/dist/{esm/reactjs → reactjs}/components/ButtonContentOrLoader.js +0 -0
  842. /package/dist/{cjs/reactjs → reactjs}/components/SignInButton.d.ts +0 -0
  843. /package/dist/{esm/reactjs → reactjs}/components/SignInButton.js +0 -0
  844. /package/dist/{cjs/reactjs → reactjs}/components/SignOutButton.d.ts +0 -0
  845. /package/dist/{esm/reactjs → reactjs}/components/SignOutButton.js +0 -0
  846. /package/dist/{cjs/reactjs → reactjs}/components/UserButton.d.ts +0 -0
  847. /package/dist/{cjs/reactjs → reactjs}/components/index.d.ts +0 -0
  848. /package/dist/{esm/reactjs → reactjs}/components/index.js +0 -0
  849. /package/dist/{cjs/reactjs → reactjs}/components/utils.d.ts +0 -0
  850. /package/dist/{esm/reactjs → reactjs}/components/utils.js +0 -0
  851. /package/dist/{cjs/reactjs → reactjs}/hooks/index.d.ts +0 -0
  852. /package/dist/{esm/reactjs → reactjs}/hooks/index.js +0 -0
  853. /package/dist/{cjs/reactjs → reactjs}/hooks/useClientTokenExchangeSession.d.ts +0 -0
  854. /package/dist/{esm/reactjs → reactjs}/hooks/useClientTokenExchangeSession.js +0 -0
  855. /package/dist/{cjs/reactjs → reactjs}/hooks/useUser.d.ts +0 -0
  856. /package/dist/{esm/reactjs → reactjs}/hooks/useUser.js +0 -0
  857. /package/dist/{cjs/reactjs → reactjs}/index.d.ts +0 -0
  858. /package/dist/{esm/reactjs → reactjs}/index.js +0 -0
  859. /package/dist/{cjs/reactjs → reactjs}/providers/AuthProvider.d.ts +0 -0
  860. /package/dist/{esm/reactjs → reactjs}/providers/AuthProvider.js +0 -0
  861. /package/dist/{cjs/reactjs → reactjs}/providers/CivicAuthProvider.d.ts +0 -0
  862. /package/dist/{esm/reactjs → reactjs}/providers/CivicAuthProvider.js +0 -0
  863. /package/dist/{cjs/reactjs → reactjs}/providers/ClientTokenExchangeSessionProvider.d.ts +0 -0
  864. /package/dist/{esm/reactjs → reactjs}/providers/ClientTokenExchangeSessionProvider.js +0 -0
  865. /package/dist/{cjs/reactjs → reactjs}/providers/index.d.ts +0 -0
  866. /package/dist/{esm/reactjs → reactjs}/providers/index.js +0 -0
  867. /package/dist/{cjs/server → server}/ServerAuthenticationResolver.d.ts +0 -0
  868. /package/dist/{cjs/server → server}/config.d.ts +0 -0
  869. /package/dist/{esm/server → server}/config.js +0 -0
  870. /package/dist/{cjs/server → server}/index.d.ts +0 -0
  871. /package/dist/{esm/server → server}/index.js +0 -0
  872. /package/dist/{cjs/server → server}/login.d.ts +0 -0
  873. /package/dist/{esm/server → server}/login.js +0 -0
  874. /package/dist/{cjs/server → server}/logout.d.ts +0 -0
  875. /package/dist/{esm/server → server}/logout.js +0 -0
  876. /package/dist/{cjs/server → server}/refresh.d.ts +0 -0
  877. /package/dist/{esm/server → server}/refresh.js +0 -0
  878. /package/dist/{cjs/services → services}/AuthenticationService.d.ts +0 -0
  879. /package/dist/{cjs/services → services}/PKCE.d.ts +0 -0
  880. /package/dist/{esm/services → services}/PKCE.js +0 -0
  881. /package/dist/{cjs/services → services}/types.d.ts +0 -0
  882. /package/dist/{esm/services → services}/types.js +0 -0
  883. /package/dist/{cjs/shared → shared}/components/BlockDisplay.d.ts +0 -0
  884. /package/dist/{esm/shared → shared}/components/BlockDisplay.js +0 -0
  885. /package/dist/{cjs/shared → shared}/components/CivicAuthIframe.d.ts +0 -0
  886. /package/dist/{esm/shared → shared}/components/CivicAuthIframe.js +0 -0
  887. /package/dist/{cjs/shared → shared}/components/CivicAuthIframeContainer.d.ts +0 -0
  888. /package/dist/{cjs/shared → shared}/components/CivicAuthLogoutIframeContainer.d.ts +0 -0
  889. /package/dist/{esm/shared → shared}/components/CivicAuthLogoutIframeContainer.js +0 -0
  890. /package/dist/{cjs/shared → shared}/components/CloseIcon.d.ts +0 -0
  891. /package/dist/{esm/shared → shared}/components/CloseIcon.js +0 -0
  892. /package/dist/{cjs/shared → shared}/components/IFrameAndLoading.d.ts +0 -0
  893. /package/dist/{esm/shared → shared}/components/IFrameAndLoading.js +0 -0
  894. /package/dist/{cjs/shared → shared}/components/LoadingIcon.d.ts +0 -0
  895. /package/dist/{esm/shared → shared}/components/LoadingIcon.js +0 -0
  896. /package/dist/{cjs/shared → shared}/components/SVGLoading.d.ts +0 -0
  897. /package/dist/{cjs/shared → shared}/hooks/index.d.ts +0 -0
  898. /package/dist/{esm/shared → shared}/hooks/index.js +0 -0
  899. /package/dist/{cjs/reactjs → shared}/hooks/useAuth.d.ts +0 -0
  900. /package/dist/{esm/reactjs → shared}/hooks/useAuth.js +0 -0
  901. /package/dist/{esm/shared → shared}/hooks/useCivicAuthConfig.d.ts +0 -0
  902. /package/dist/{esm/shared → shared}/hooks/useCivicAuthConfig.js +0 -0
  903. /package/dist/{cjs/shared → shared}/hooks/useCurrentUrl.d.ts +0 -0
  904. /package/dist/{esm/shared → shared}/hooks/useCurrentUrl.js +0 -0
  905. /package/dist/{cjs/shared → shared}/hooks/useIframe.d.ts +0 -0
  906. /package/dist/{esm/shared → shared}/hooks/useIframe.js +0 -0
  907. /package/dist/{cjs/shared → shared}/hooks/useIsInIframe.d.ts +0 -0
  908. /package/dist/{esm/shared → shared}/hooks/useIsInIframe.js +0 -0
  909. /package/dist/{cjs/shared → shared}/hooks/useOAuthEndpoints.d.ts +0 -0
  910. /package/dist/{esm/shared → shared}/hooks/useOAuthEndpoints.js +0 -0
  911. /package/dist/{cjs/shared → shared}/hooks/useRefresh.d.ts +0 -0
  912. /package/dist/{esm/shared → shared}/hooks/useRefresh.js +0 -0
  913. /package/dist/{cjs/shared → shared}/hooks/useSession.d.ts +0 -0
  914. /package/dist/{esm/shared → shared}/hooks/useSession.js +0 -0
  915. /package/dist/{cjs/shared → shared}/hooks/useSignIn.d.ts +0 -0
  916. /package/dist/{cjs/shared → shared}/hooks/useToken.d.ts +0 -0
  917. /package/dist/{esm/shared → shared}/hooks/useToken.js +0 -0
  918. /package/dist/{cjs/shared → shared}/hooks/useWindowFocused.d.ts +0 -0
  919. /package/dist/{esm/shared → shared}/hooks/useWindowFocused.js +0 -0
  920. /package/dist/{cjs/shared → shared}/index.d.ts +0 -0
  921. /package/dist/{esm/shared → shared}/index.js +0 -0
  922. /package/dist/{cjs/shared → shared}/lib/GenericAuthenticationRefresher.d.ts +0 -0
  923. /package/dist/{esm/shared → shared}/lib/GenericAuthenticationRefresher.js +0 -0
  924. /package/dist/{cjs/shared → shared}/lib/UserSession.d.ts +0 -0
  925. /package/dist/{esm/shared → shared}/lib/UserSession.js +0 -0
  926. /package/dist/{cjs/shared → shared}/lib/iframeUtils.d.ts +0 -0
  927. /package/dist/{esm/shared → shared}/lib/iframeUtils.js +0 -0
  928. /package/dist/{cjs/shared → shared}/lib/session.d.ts +0 -0
  929. /package/dist/{esm/shared → shared}/lib/session.js +0 -0
  930. /package/dist/{esm/shared → shared}/lib/storage.js +0 -0
  931. /package/dist/{esm/shared → shared}/lib/types.js +0 -0
  932. /package/dist/{cjs/shared → shared}/providers/AuthContext.d.ts +0 -0
  933. /package/dist/{esm/shared → shared}/providers/AuthContext.js +0 -0
  934. /package/dist/{cjs/shared → shared}/providers/CivicAuthConfigContext.d.ts +0 -0
  935. /package/dist/{esm/shared → shared}/providers/CivicAuthConfigContext.js +0 -0
  936. /package/dist/{cjs/shared → shared}/providers/IframeProvider.d.ts +0 -0
  937. /package/dist/{esm/shared → shared}/providers/IframeProvider.js +0 -0
  938. /package/dist/{cjs/shared → shared}/providers/SessionProvider.d.ts +0 -0
  939. /package/dist/{esm/shared → shared}/providers/SessionProvider.js +0 -0
  940. /package/dist/{cjs/shared → shared}/providers/TokenProvider.d.ts +0 -0
  941. /package/dist/{esm/shared → shared}/providers/TokenProvider.js +0 -0
  942. /package/dist/{cjs/shared → shared}/providers/UserProvider.d.ts +0 -0
  943. /package/dist/{esm/shared → shared}/providers/UserProvider.js +0 -0
  944. /package/dist/{cjs/shared → shared}/providers/types.d.ts +0 -0
  945. /package/dist/{esm/shared → shared}/providers/types.js +0 -0
  946. /package/dist/{cjs/types.d.ts → types.d.ts} +0 -0
  947. /package/dist/{esm/types.js → types.js} +0 -0
  948. /package/dist/{cjs/utils.d.ts → utils.d.ts} +0 -0
  949. /package/dist/{esm/utils.js → utils.js} +0 -0
  950. /package/dist/{cjs/version.d.ts → version.d.ts} +0 -0
  951. /package/dist/{esm/version.js → version.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/AuthProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { type SessionData } from \"@/types.js\";\nimport { AuthContext } from \"@/shared/providers/AuthContext.js\";\nimport type { PKCEConsumer } from \"@/services/types.js\";\nimport { useSignIn } from \"@/shared/hooks/useSignIn.js\";\nimport { useIframe } from \"@/shared/hooks/useIframe.js\";\nimport { useCivicAuthConfig } from \"@/shared/hooks/useCivicAuthConfig.js\";\nimport { useSession } from \"@/shared/hooks/useSession.js\";\nimport { IFrameAndLoading } from \"@/shared/components/IFrameAndLoading.js\";\nimport type { AuthProviderProps } from \"@/shared/providers/types.js\";\nimport { useIsInIframe } from \"@/shared/hooks/useIsInIframe.js\";\nimport { useCurrentUrl } from \"@/shared/hooks/useCurrentUrl.js\";\n\n// Global this object setup\nlet globalThisObject;\nif (typeof window !== \"undefined\") {\n globalThisObject = window;\n} else if (typeof global !== \"undefined\") {\n globalThisObject = global;\n} else {\n globalThisObject = Function(\"return this\")();\n}\nglobalThisObject.globalThis = globalThisObject;\n\nexport type InternalAuthProviderProps = AuthProviderProps & {\n sessionData?: SessionData;\n pkceConsumer?: PKCEConsumer;\n};\n\nconst AuthProvider = ({\n children,\n onSignIn,\n onSignOut,\n pkceConsumer,\n iframeMode = \"modal\",\n displayMode = \"iframe\",\n}: InternalAuthProviderProps) => {\n const authConfig = useCivicAuthConfig();\n const { redirectUrl } = authConfig || {};\n const { iframeRef } = useIframe();\n const currentUrl = useCurrentUrl();\n const { signIn, signOut, authStatus, startSignIn } = useSignIn({\n preSignOut: onSignOut,\n pkceConsumer,\n displayMode,\n });\n\n const [localSessionData, setLocalSessionData] =\n useState<SessionData | null>();\n\n const {\n data: session,\n error: tokenExchangeError,\n isLoading: tokenExchangeInProgress,\n } = useSession();\n\n useEffect(() => {\n if (session) {\n setLocalSessionData(session);\n if (session.authenticated) {\n onSignIn?.();\n }\n }\n }, [onSignIn, session]);\n\n const isAuthenticated = useMemo(() => {\n return !!localSessionData?.idToken;\n }, [localSessionData]);\n\n useEffect(() => {\n if (\n redirectUrl &&\n !isAuthenticated &&\n iframeRef?.current &&\n displayMode === \"iframe\" &&\n !currentUrl?.includes(\"code=\")\n ) {\n startSignIn();\n }\n }, [\n currentUrl,\n iframeMode,\n redirectUrl,\n isAuthenticated,\n iframeRef,\n displayMode,\n startSignIn,\n ]);\n\n const isInIframe = useIsInIframe();\n // if the SDK loads in an iframe, we show the loading spinner as the iframe\n // will be waiting to be minimized\n const isLoading = tokenExchangeInProgress || !authConfig || isInIframe;\n const value = useMemo(\n () => ({\n isLoading,\n error: tokenExchangeError as Error | null,\n signOut,\n authStatus,\n isAuthenticated,\n signIn,\n displayMode,\n }),\n [\n isLoading,\n tokenExchangeError,\n signOut,\n authStatus,\n isAuthenticated,\n signIn,\n displayMode,\n ],\n );\n\n return (\n <AuthContext.Provider value={value}>\n <IFrameAndLoading error={tokenExchangeError} isLoading={isLoading} />\n {children}\n </AuthContext.Provider>\n );\n};\n\nexport { AuthProvider };\n"]}
@@ -1,5 +0,0 @@
1
- import type { AuthProviderProps } from "../../shared/providers/types.js";
2
- type CivicAuthProviderProps = Omit<AuthProviderProps, "pkceConsumer">;
3
- declare const CivicAuthProvider: ({ children, ...props }: CivicAuthProviderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
4
- export { CivicAuthProvider, type CivicAuthProviderProps };
5
- //# sourceMappingURL=CivicAuthProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/providers/CivicAuthProvider.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,KAAK,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAqCtE,QAAA,MAAM,iBAAiB,2BAA4B,sBAAsB,qDAgBxE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthProvider.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/CivicAuthProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,2DAA2D,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAKpD,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IAC1E,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/D,OAAO,CACL,KAAC,YAAY,IACX,OAAO,EAAE,IAAI,mBAAmB,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,YAEvB,QAAQ,GACI,CAChB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,EAClC,QAAQ,EACR,GAAG,KAAK,EACe,EAAE,EAAE;IAC3B,MAAM,WAAW,GAAG,6BAA6B,EAAE,CAAC;IACpD,OAAO,CACL,KAAC,eAAe,OAAK,WAAW,YAC9B,KAAC,cAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,YAC1C,KAAC,YAAY,OACP,KAAK,EACT,YAAY,EAAE,IAAI,+BAA+B,EAAE,YAEnD,KAAC,aAAa,cACZ,KAAC,mBAAmB,cAAE,QAAQ,GAAuB,GACvC,GACH,GACA,GACD,CACnB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA0B,EAAE,EAAE;IAC3E,OAAO,CACL,KAAC,uBAAuB,IACtB,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EACvC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EACzB,WAAW,EAAE,KAAK,EAAE,WAAW,EAC/B,KAAK,EAAE,KAAK,EAAE,KAAK,EACnB,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,YAE3C,KAAC,kCAAkC,cACjC,KAAC,0BAA0B,OAAK,KAAK,YAClC,QAAQ,GACkB,GACM,GACb,CAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAA+B,CAAC","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { AuthProvider } from \"@/reactjs/providers/AuthProvider.js\";\nimport { BrowserPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { UserProvider } from \"@/shared/providers/UserProvider.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { CivicAuthConfigProvider } from \"@/shared/providers/CivicAuthConfigContext.js\";\nimport { IframeProvider } from \"@/shared/providers/IframeProvider.js\";\nimport { ClientTokenExchangeSessionProvider } from \"@/reactjs/providers/ClientTokenExchangeSessionProvider.js\";\nimport { SessionProvider } from \"@/shared/providers/SessionProvider.js\";\nimport { useClientTokenExchangeSession } from \"@/reactjs/hooks/useClientTokenExchangeSession.js\";\nimport { TokenProvider } from \"@/shared/providers/TokenProvider.js\";\nimport { useAuth } from \"@/shared/hooks/useAuth.js\";\nimport type { AuthProviderProps } from \"@/shared/providers/types.js\";\n\ntype CivicAuthProviderProps = Omit<AuthProviderProps, \"pkceConsumer\">;\n\nconst WrapperUserProvider = ({ children }: { children: React.ReactNode }) => {\n const { signIn, signOut, displayMode, authStatus } = useAuth();\n return (\n <UserProvider\n storage={new LocalStorageAdapter()}\n signIn={signIn}\n signOut={signOut}\n user={null}\n authStatus={authStatus}\n displayMode={displayMode}\n >\n {children}\n </UserProvider>\n );\n};\nconst WrapperSessionAuthProvider = ({\n children,\n ...props\n}: CivicAuthProviderProps) => {\n const sessionData = useClientTokenExchangeSession();\n return (\n <SessionProvider {...sessionData}>\n <IframeProvider iframeMode={props.iframeMode}>\n <AuthProvider\n {...props}\n pkceConsumer={new BrowserPublicClientPKCEProducer()}\n >\n <TokenProvider>\n <WrapperUserProvider>{children}</WrapperUserProvider>\n </TokenProvider>\n </AuthProvider>\n </IframeProvider>\n </SessionProvider>\n );\n};\nconst CivicAuthProvider = ({ children, ...props }: CivicAuthProviderProps) => {\n return (\n <CivicAuthConfigProvider\n oauthServer={props?.config?.oauthServer}\n clientId={props?.clientId}\n redirectUrl={props?.redirectUrl}\n nonce={props?.nonce}\n logoutRedirectUrl={props?.logoutRedirectUrl}\n >\n <ClientTokenExchangeSessionProvider>\n <WrapperSessionAuthProvider {...props}>\n {children}\n </WrapperSessionAuthProvider>\n </ClientTokenExchangeSessionProvider>\n </CivicAuthConfigProvider>\n );\n};\n\nexport { CivicAuthProvider, type CivicAuthProviderProps };\n"]}
@@ -1,17 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import React from "react";
3
- import type { SessionData } from "../../types.js";
4
- export type ClientTokenExchangeSessionProviderOutput = {
5
- data: SessionData | null;
6
- error: Error | null;
7
- isLoading: boolean;
8
- doTokenExchange: null | ((url: string) => Promise<void>);
9
- };
10
- declare const ClientTokenExchangeSessionContext: React.Context<ClientTokenExchangeSessionProviderOutput>;
11
- type ClientTokenExchangeSessionContextType = {
12
- children: ReactNode;
13
- };
14
- declare const ClientTokenExchangeSessionProvider: ({ children, }: ClientTokenExchangeSessionContextType) => import("@emotion/react/jsx-runtime").JSX.Element;
15
- export type { ClientTokenExchangeSessionContextType as SessionContextType };
16
- export { ClientTokenExchangeSessionProvider, ClientTokenExchangeSessionContext, };
17
- //# sourceMappingURL=ClientTokenExchangeSessionProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientTokenExchangeSessionProvider.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/providers/ClientTokenExchangeSessionProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAON,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAcF,QAAA,MAAM,iCAAiC,yDACkC,CAAC;AAE1E,KAAK,qCAAqC,GAAG;IAC3C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,kCAAkC,kBAErC,qCAAqC,qDAqJvC,CAAC;AAEF,YAAY,EAAE,qCAAqC,IAAI,kBAAkB,EAAE,CAAC;AAC5E,OAAO,EACL,kCAAkC,EAClC,iCAAiC,GAClC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientTokenExchangeSessionProvider.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/ClientTokenExchangeSessionProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\nimport type { ReactNode } from \"react\";\nimport React, {\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useState,\n useRef,\n} from \"react\";\nimport { BrowserAuthenticationService } from \"@/services/AuthenticationService.js\";\nimport type { AuthenticationResolver } from \"@/services/types.js\";\nimport { isWindowInIframe } from \"@/lib/windowUtil.js\";\nimport type { SessionData } from \"@/types.js\";\nimport {\n useCurrentUrl,\n useCivicAuthConfig,\n useWindowFocused,\n useRefresh,\n} from \"@/shared/hooks/index.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\n\nexport type ClientTokenExchangeSessionProviderOutput = {\n data: SessionData | null;\n error: Error | null;\n isLoading: boolean;\n doTokenExchange: null | ((url: string) => Promise<void>);\n};\nconst defaultSession: ClientTokenExchangeSessionProviderOutput = {\n data: {\n authenticated: false,\n idToken: undefined,\n accessToken: undefined,\n displayMode: \"iframe\",\n },\n error: null,\n isLoading: false,\n doTokenExchange: null,\n};\n\n// Context for exposing session specifically to the TokenProvider\nconst ClientTokenExchangeSessionContext =\n createContext<ClientTokenExchangeSessionProviderOutput>(defaultSession);\n\ntype ClientTokenExchangeSessionContextType = {\n children: ReactNode;\n};\n\nconst ClientTokenExchangeSessionProvider = ({\n children,\n}: ClientTokenExchangeSessionContextType) => {\n const authConfig = useCivicAuthConfig();\n const [authService, setAuthService] = useState<AuthenticationResolver>();\n const [error, setError] = useState<Error | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [session, setSession] = useState<SessionData | null>(null);\n const { isWindowFocused } = useWindowFocused();\n const currentUrl = useCurrentUrl();\n\n // Add a ref to track processed codes\n const processedCodes = useRef(new Set<string>());\n\n useRefresh(session);\n\n useEffect(() => {\n if (!currentUrl || !authConfig) return;\n\n const {\n redirectUrl,\n clientId,\n oauthServer,\n scopes,\n logoutRedirectUrl,\n logoutUrl,\n } = authConfig;\n BrowserAuthenticationService.build({\n clientId,\n redirectUrl,\n logoutRedirectUrl,\n logoutUrl,\n oauthServer,\n scopes,\n displayMode: \"iframe\",\n }).then(setAuthService);\n }, [currentUrl, authConfig]);\n\n const isInIframe = isWindowInIframe(globalThis.window);\n\n const doTokenExchange = useCallback(\n async (inUrl: string) => {\n if (!authService) return;\n const url = new URL(inUrl);\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // Create a unique key for this code/state combination\n const exchangeKey = `${code}:${state}`;\n\n // If we've already processed this code, skip it\n if (processedCodes.current.has(exchangeKey)) {\n console.log(\"Token exchange already processed for this code\");\n return;\n }\n\n if (code && state) {\n try {\n // Mark this code as processed before starting the exchange\n processedCodes.current.add(exchangeKey);\n setIsLoading(true);\n await authService.tokenExchange(code, state);\n } catch (error) {\n setError(error as Error);\n setSession({ authenticated: false });\n }\n setIsLoading(false);\n }\n },\n [authService],\n );\n\n const onSignIn = useCallback(async () => {\n if (!authService) return;\n const session = await authService.getSessionData();\n setSession(session);\n }, [authService]);\n\n const onSignOut = useCallback(() => {\n setSession(null);\n }, []);\n\n useEffect(() => {\n LocalStorageAdapter.emitter.on(\"signIn\", onSignIn);\n LocalStorageAdapter.emitter.on(\"signOut\", onSignOut);\n return () => {\n LocalStorageAdapter.emitter.off(\"signIn\", onSignIn);\n LocalStorageAdapter.emitter.off(\"signOut\", onSignOut);\n };\n }, [onSignIn, onSignOut]);\n\n useEffect(() => {\n if (!authConfig) {\n setIsLoading(true);\n } else {\n setIsLoading(false);\n }\n }, [authConfig]);\n // Handle page load or refocus\n useEffect(() => {\n if (!authConfig || !authService || !currentUrl || isInIframe || isLoading) {\n return;\n }\n const abortController = new AbortController();\n const onPageLoad = async () => {\n // if we have existing tokens, then validate them and return the session data\n // otherwise check if we have a code in the url and exchange it for tokens\n // if we have neither, return undefined\n const existingSessionData = await authService.validateExistingSession();\n if (existingSessionData.authenticated) {\n setSession(existingSessionData);\n return;\n }\n if (\n abortController.signal.aborted ||\n !new URL(currentUrl).searchParams.get(\"code\")\n ) {\n return;\n }\n await doTokenExchange(currentUrl);\n };\n onPageLoad();\n return () => {\n abortController.abort();\n };\n }, [\n authConfig,\n authService,\n currentUrl,\n doTokenExchange,\n isInIframe,\n isLoading,\n isWindowFocused,\n session?.authenticated,\n ]);\n\n const value = useMemo(\n () => ({\n data: session,\n error,\n isLoading,\n doTokenExchange: authService ? doTokenExchange : null,\n }),\n [session, error, isLoading, authService, doTokenExchange],\n );\n\n return (\n <ClientTokenExchangeSessionContext.Provider value={value}>\n {children}\n </ClientTokenExchangeSessionContext.Provider>\n );\n};\n\nexport type { ClientTokenExchangeSessionContextType as SessionContextType };\nexport {\n ClientTokenExchangeSessionProvider,\n ClientTokenExchangeSessionContext,\n};\n"]}
@@ -1,8 +0,0 @@
1
- export { UserProvider, UserContext, type UserContextType, } from "../../shared/providers/UserProvider.js";
2
- export { TokenProvider, TokenContext, type TokenContextType, } from "../../shared/providers/TokenProvider.js";
3
- export { AuthProvider } from "../../reactjs/providers/AuthProvider.js";
4
- export { SessionProvider, SessionContext, type SessionContextType, } from "../../shared/providers/SessionProvider.js";
5
- export { CivicAuthProvider, type CivicAuthProviderProps, } from "../../reactjs/providers/CivicAuthProvider.js";
6
- export { AuthContext } from "../../shared/providers/AuthContext.js";
7
- export type { AuthContextType } from "../../shared/providers/AuthContext.js";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,GAEZ,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,GAEb,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,cAAc,GAEf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,iBAAiB,GAElB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["export {\n UserProvider,\n UserContext,\n type UserContextType,\n} from \"@/shared/providers/UserProvider.js\";\n\nexport {\n TokenProvider,\n TokenContext,\n type TokenContextType,\n} from \"@/shared/providers/TokenProvider.js\";\n\nexport { AuthProvider } from \"@/reactjs/providers/AuthProvider.js\";\n\nexport {\n SessionProvider,\n SessionContext,\n type SessionContextType,\n} from \"@/shared/providers/SessionProvider.js\";\n\nexport {\n CivicAuthProvider,\n type CivicAuthProviderProps,\n} from \"@/reactjs/providers/CivicAuthProvider.js\";\n\nexport { AuthContext } from \"@/shared/providers/AuthContext.js\";\nexport type { AuthContextType } from \"@/shared/providers/AuthContext.js\";\n"]}
@@ -1,20 +0,0 @@
1
- import type { AuthStorage, Endpoints, OIDCTokenResponseBody, SessionData } from "../types.js";
2
- import type { AuthConfig } from "../server/config.js";
3
- import type { AuthenticationResolver } from "../services/types.ts";
4
- export declare class ServerAuthenticationResolver implements AuthenticationResolver {
5
- readonly authConfig: AuthConfig;
6
- readonly storage: AuthStorage;
7
- readonly endpointOverrides?: Partial<Endpoints> | undefined;
8
- private pkceProducer;
9
- private oauth2client;
10
- private endpoints;
11
- private constructor();
12
- validateExistingSession(): Promise<SessionData>;
13
- get oauthServer(): string;
14
- init(): Promise<this>;
15
- tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
16
- getSessionData(): Promise<SessionData | null>;
17
- getEndSessionEndpoint(): Promise<string | null>;
18
- static build(authConfig: AuthConfig, storage: AuthStorage, endpointOverrides?: Partial<Endpoints>): Promise<AuthenticationResolver>;
19
- }
20
- //# sourceMappingURL=ServerAuthenticationResolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerAuthenticationResolver.d.ts","sourceRoot":"","sources":["../../../src/server/ServerAuthenticationResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,sBAAsB,EAAgB,MAAM,qBAAqB,CAAC;AAGhF,qBAAa,4BAA6B,YAAW,sBAAsB;IAMvE,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAPjD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO;IAOP,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC;IAI/C,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAa7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAOxC,KAAK,CAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACrC,OAAO,CAAC,sBAAsB,CAAC;CAUnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerAuthenticationResolver.js","sourceRoot":"","sources":["../../../src/server/ServerAuthenticationResolver.ts"],"names":[],"mappings":"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","sourcesContent":["import { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport type {\n AuthStorage,\n Endpoints,\n OIDCTokenResponseBody,\n SessionData,\n} from \"@/types.js\";\nimport type { AuthConfig } from \"@/server/config.js\";\nimport {\n exchangeTokens,\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/lib/util.js\";\nimport type { AuthenticationResolver, PKCEProducer } from \"@/services/types.ts\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\n\nexport class ServerAuthenticationResolver implements AuthenticationResolver {\n private pkceProducer: PKCEProducer;\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n private constructor(\n readonly authConfig: AuthConfig,\n readonly storage: AuthStorage,\n readonly endpointOverrides?: Partial<Endpoints>,\n ) {\n this.pkceProducer = new GenericPublicClientPKCEProducer(storage);\n }\n validateExistingSession(): Promise<SessionData> {\n throw new Error(\"Method not implemented.\");\n }\n\n get oauthServer(): string {\n return this.authConfig.oauthServer || DEFAULT_AUTH_SERVER;\n }\n\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.oauthServer,\n this.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.authConfig.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.authConfig.redirectUrl,\n },\n );\n\n return this;\n }\n\n async tokenExchange(\n code: string,\n state: string,\n ): Promise<OIDCTokenResponseBody> {\n if (!this.oauth2client) await this.init();\n const codeVerifier = await this.pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in storage\");\n\n // exchange auth code for tokens\n const tokens = await exchangeTokens(\n code,\n state,\n this.pkceProducer,\n this.oauth2client!, // clean up types here to avoid the ! operator\n this.oauthServer,\n this.endpoints!, // clean up types here to avoid the ! operator\n );\n\n await storeTokens(this.storage, tokens);\n\n return tokens;\n }\n\n async getSessionData(): Promise<SessionData | null> {\n const storageData = await retrieveTokens(this.storage);\n\n if (!storageData) return null;\n\n return {\n authenticated: !!storageData.id_token,\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n };\n }\n\n async getEndSessionEndpoint(): Promise<string | null> {\n if (!this.endpoints) {\n return null;\n }\n return this.endpoints.endsession;\n }\n\n static async build(\n authConfig: AuthConfig,\n storage: AuthStorage,\n endpointOverrides?: Partial<Endpoints>,\n ): Promise<AuthenticationResolver> {\n const resolver = new ServerAuthenticationResolver(\n authConfig,\n storage,\n endpointOverrides,\n );\n await resolver.init();\n\n return resolver;\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- import type { Endpoints } from "../types.ts";
2
- export type AuthConfig = {
3
- clientId: string;
4
- redirectUrl: string;
5
- oauthServer?: string;
6
- challengeUrl?: string;
7
- refreshUrl?: string;
8
- endpointOverrides?: Partial<Endpoints> | undefined;
9
- postLogoutRedirectUrl?: string;
10
- };
11
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACnD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"","sourcesContent":["import type { Endpoints } from \"@/types.ts\";\n\nexport type AuthConfig = {\n clientId: string;\n redirectUrl: string;\n oauthServer?: string;\n challengeUrl?: string;\n refreshUrl?: string;\n endpointOverrides?: Partial<Endpoints> | undefined;\n postLogoutRedirectUrl?: string;\n};\n"]}
@@ -1,9 +0,0 @@
1
- export { CookieStorage } from "../shared/lib/storage.js";
2
- export type { SessionStorage, CookieStorageSettings, } from "../shared/lib/storage.js";
3
- export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, } from "../server/login.js";
4
- export type { AuthConfig } from "../server/config.js";
5
- export { getUser, getTokens } from "../shared/lib/session.js";
6
- export { refreshTokens } from "../server/refresh.js";
7
- export { buildLogoutRedirectUrl } from "../server/logout.js";
8
- export { clearTokens } from "../shared/lib/util.js";
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,CAAC;AAEf,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["import { printVersion } from \"@/shared/index.js\";\nprintVersion();\n\nexport { CookieStorage } from \"@/shared/lib/storage.js\";\nexport type {\n SessionStorage,\n CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\nexport {\n resolveOAuthAccessCode,\n isLoggedIn,\n buildLoginUrl,\n} from \"@/server/login.js\";\nexport type { AuthConfig } from \"@/server/config.js\";\nexport { getUser, getTokens } from \"@/shared/lib/session.js\";\nexport { refreshTokens } from \"@/server/refresh.js\";\nexport { buildLogoutRedirectUrl } from \"@/server/logout.js\";\nexport { clearTokens } from \"@/shared/lib/util.js\";\n"]}
@@ -1,17 +0,0 @@
1
- import type { AuthStorage, OIDCTokenResponseBody } from "../types.js";
2
- import type { AuthConfig } from "../server/config.ts";
3
- /**
4
- * Resolve an OAuth access code to a set of OIDC tokens
5
- * @param code The access code, typically from a query parameter in the redirect url
6
- * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url
7
- * @param storage The place that this server uses to store session data (e.g. a cookie store)
8
- * @param config Oauth Server configuration
9
- */
10
- export declare function resolveOAuthAccessCode(code: string, state: string, storage: AuthStorage, config: AuthConfig): Promise<OIDCTokenResponseBody>;
11
- export declare function isLoggedIn(storage: AuthStorage): Promise<boolean>;
12
- export declare function buildLoginUrl(config: Pick<AuthConfig, "clientId" | "redirectUrl"> & Partial<Pick<AuthConfig, "oauthServer">> & {
13
- scopes?: string[];
14
- state?: string;
15
- nonce?: string;
16
- }, storage: AuthStorage): Promise<URL>;
17
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACH,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAed"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAGxF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,OAAoB,EACpB,MAAkB;IAElB,MAAM,kBAAkB,GAAG,MAAM,4BAA4B,CAAC,KAAK,CACjE;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAoB;IACnD,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAKG,EACH,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,8BAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;QACtD,mGAAmG;QACnG,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { ServerAuthenticationResolver } from \"@/server/ServerAuthenticationResolver.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\n\n/**\n * Resolve an OAuth access code to a set of OIDC tokens\n * @param code The access code, typically from a query parameter in the redirect url\n * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url\n * @param storage The place that this server uses to store session data (e.g. a cookie store)\n * @param config Oauth Server configuration\n */\nexport async function resolveOAuthAccessCode(\n code: string,\n state: string,\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const authSessionService = await ServerAuthenticationResolver.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return authSessionService.tokenExchange(code, state);\n}\n\nexport async function isLoggedIn(storage: AuthStorage): Promise<boolean> {\n return !!(await storage.get(\"id_token\"));\n}\n\nexport async function buildLoginUrl(\n config: Pick<AuthConfig, \"clientId\" | \"redirectUrl\"> &\n Partial<Pick<AuthConfig, \"oauthServer\">> & {\n scopes?: string[];\n state?: string;\n nonce?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session\n pkceConsumer: pkceProducer,\n });\n\n return authInitiator.signIn();\n}\n"]}
@@ -1,7 +0,0 @@
1
- import type { AuthConfig } from "../server/config.js";
2
- import type { AuthStorage } from "../types.js";
3
- export declare function buildLogoutRedirectUrl(config: Pick<AuthConfig, "clientId" | "postLogoutRedirectUrl"> & Partial<Pick<AuthConfig, "oauthServer">> & {
4
- scopes?: string[];
5
- state?: string;
6
- }, storage: AuthStorage): Promise<URL>;
7
- //# sourceMappingURL=logout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/server/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,uBAAuB,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACH,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAkBd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/server/logout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAIG,EACH,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,8BAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;QACtD,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG;KACjD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE9D,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { AuthConfig } from \"@/server/config.js\";\nimport type { AuthStorage } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { OAuthTokens } from \"@/shared/lib/types.js\";\n\nexport async function buildLogoutRedirectUrl(\n config: Pick<AuthConfig, \"clientId\" | \"postLogoutRedirectUrl\"> &\n Partial<Pick<AuthConfig, \"oauthServer\">> & {\n scopes?: string[];\n state?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n pkceConsumer: pkceProducer,\n redirectUrl: config.postLogoutRedirectUrl || \"/\",\n });\n\n const idToken = await storage.get(OAuthTokens.ID_TOKEN);\n if (!idToken) throw new Error(\"No id_token found in storage\");\n\n return authInitiator.signOut(idToken);\n}\n"]}
@@ -1,7 +0,0 @@
1
- import type { AuthStorage, OIDCTokenResponseBody } from "../types.js";
2
- import type { AuthConfig } from "../server/config.ts";
3
- /**
4
- * Refresh the current set of OIDC tokens
5
- */
6
- export declare function refreshTokens(storage: AuthStorage, config: AuthConfig): Promise<OIDCTokenResponseBody>;
7
- //# sourceMappingURL=refresh.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/server/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/server/refresh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAoB,EACpB,MAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,KAAK,CACvD;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;AACnC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\nimport { AuthenticationRefresherImpl } from \"@/shared/lib/AuthenticationRefresherImpl.js\";\n\n/**\n * Refresh the current set of OIDC tokens\n */\nexport async function refreshTokens(\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const refresher = await AuthenticationRefresherImpl.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return refresher.refreshTokens();\n}\n"]}
@@ -1,93 +0,0 @@
1
- import type { DisplayMode, Endpoints, LoginAppDesignOptions, OIDCTokenResponseBody, SessionData } from "../types.js";
2
- import { BrowserPublicClientPKCEProducer } from "../services/PKCE.js";
3
- import type { AuthenticationInitiator, AuthenticationResolver, PKCEConsumer } from "../services/types.js";
4
- export type GenericAuthenticationInitiatorConfig = {
5
- clientId: string;
6
- redirectUrl: string;
7
- state: string;
8
- scopes: string[];
9
- oauthServer: string;
10
- nonce?: string;
11
- endpointOverrides?: Partial<Endpoints>;
12
- pkceConsumer: PKCEConsumer;
13
- };
14
- export type BrowserAuthenticationInitiatorConfig = Omit<GenericAuthenticationInitiatorConfig, "state"> & {
15
- logoutUrl?: string;
16
- logoutRedirectUrl: string;
17
- displayMode: DisplayMode;
18
- };
19
- /**
20
- * An authentication initiator that works on a browser. Since this is just triggering
21
- * login and logout, session data is not stored here.
22
- * An associated AuthenticationResolver would be needed to get the session data.
23
- * Storage is needed for the code verifier, this is the domain of the PKCEConsumer
24
- * The storage used by the PKCEConsumer should be available to the AuthenticationResolver.
25
- *
26
- * Example usage:
27
- *
28
- * 1) Client-only SPA -eg a react app with no server:
29
- * new BrowserAuthenticationInitiator({
30
- * pkceConsumer: new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side
31
- * ... other config
32
- * })
33
- *
34
- * 2) Client-side of a client/server app - eg a react app with a backend:
35
- * new BrowserAuthenticationInitiator({
36
- * pkceConsumer: new ConfidentialClientPKCEConsumer("https://myserver.com/pkce"), // get the challenge from the server
37
- * ... other config
38
- * })
39
- */
40
- export declare class BrowserAuthenticationInitiator implements AuthenticationInitiator {
41
- readonly setDesignOptions: (value: LoginAppDesignOptions) => void;
42
- private postMessageHandler;
43
- protected config: BrowserAuthenticationInitiatorConfig;
44
- setDisplayMode(displayMode: DisplayMode): void;
45
- get displayMode(): DisplayMode;
46
- get isServerTokenExchange(): boolean;
47
- get state(): string;
48
- constructor(config: typeof this.config, setDesignOptions?: (value: LoginAppDesignOptions) => void);
49
- handleLoginAppPopupFailed(redirectUrl: string): Promise<void>;
50
- handleLoginAppDesignUpdate(options: LoginAppDesignOptions): Promise<void>;
51
- signIn(iframeRef: HTMLIFrameElement | null): Promise<URL>;
52
- protected handleIframeUrlChange(iframe: HTMLIFrameElement, expectedUrl: string): Promise<void>;
53
- signOut(idToken: string | undefined, iframeRef: HTMLIFrameElement | null): Promise<URL>;
54
- cleanup(): void;
55
- }
56
- /** A general-purpose authentication initiator, that just generates urls, but lets
57
- * the caller decide how to use them. This is useful for server-side applications
58
- * that may serve this URL to their front-ends or just call them directly
59
- */
60
- export declare class GenericAuthenticationInitiator implements AuthenticationInitiator {
61
- protected config: GenericAuthenticationInitiatorConfig;
62
- constructor(config: typeof this.config);
63
- signIn(): Promise<URL>;
64
- signOut(idToken: string): Promise<URL>;
65
- }
66
- type BrowserAuthenticationConfig = {
67
- clientId: string;
68
- redirectUrl: string;
69
- logoutUrl?: string;
70
- logoutRedirectUrl: string;
71
- scopes: string[];
72
- oauthServer: string;
73
- endpointOverrides?: Partial<Endpoints>;
74
- displayMode: DisplayMode;
75
- };
76
- /**
77
- * An authentication resolver that can run on the browser (i.e. a public client)
78
- * It uses PKCE for security. PKCE and Session data are stored in local storage
79
- */
80
- export declare class BrowserAuthenticationService extends BrowserAuthenticationInitiator {
81
- protected pkceProducer: BrowserPublicClientPKCEProducer;
82
- private oauth2client;
83
- private endpoints;
84
- constructor(config: BrowserAuthenticationConfig, pkceProducer?: BrowserPublicClientPKCEProducer);
85
- init(): Promise<this>;
86
- tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
87
- getSessionData(): Promise<SessionData | null>;
88
- validateExistingSession(): Promise<SessionData>;
89
- getEndSessionEndpoint(): Promise<string | null>;
90
- static build(config: BrowserAuthenticationConfig): Promise<AuthenticationResolver>;
91
- }
92
- export {};
93
- //# sourceMappingURL=AuthenticationService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../src/services/AuthenticationService.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthenticationService.js","sourceRoot":"","sources":["../../../src/services/AuthenticationService.ts"],"names":[],"mappings":"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","sourcesContent":["// Proposals for revised versions of the SessionService AKA AuthSessionService\n\nimport type {\n DisplayMode,\n Endpoints,\n IframeAuthMessage,\n LoginAppDesignOptions,\n LoginPostMessage,\n OIDCTokenResponseBody,\n SessionData,\n} from \"@/types.js\";\nimport {\n BrowserPublicClientPKCEProducer,\n ConfidentialClientPKCEConsumer,\n} from \"@/services/PKCE.js\";\nimport {\n clearTokens,\n clearUser,\n exchangeTokens,\n generateOauthLoginUrl,\n generateOauthLogoutUrl,\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n validateOauth2Tokens,\n} from \"@/shared/lib/util.js\";\nimport { displayModeFromState, generateState } from \"@/lib/oauth.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport type {\n AuthenticationInitiator,\n AuthenticationResolver,\n PKCEConsumer,\n} from \"@/services/types.js\";\nimport { PopupError } from \"@/services/types.js\";\nimport { removeParamsWithoutReload } from \"@/lib/windowUtil.js\";\nimport { DEFAULT_OAUTH_GET_PARAMS } from \"@/constants.js\";\nimport { validateLoginAppPostMessage } from \"@/lib/postMessage.js\";\nimport { getUser } from \"@/shared/lib/session.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\nimport { getIframeRef } from \"@/shared/lib/iframeUtils.js\";\n\nexport type GenericAuthenticationInitiatorConfig = {\n clientId: string;\n redirectUrl: string;\n state: string;\n scopes: string[];\n oauthServer: string;\n nonce?: string;\n // the endpoints to use for the login (if not obtained from the auth server)\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n};\n\nexport type BrowserAuthenticationInitiatorConfig = Omit<\n GenericAuthenticationInitiatorConfig,\n \"state\"\n> & {\n logoutUrl?: string;\n logoutRedirectUrl: string;\n // determines whether to trigger the login/logout in an iframe, a new browser window, or redirect the current one.\n displayMode: DisplayMode;\n};\n\nconst defaultSetDesignOptions = (value: LoginAppDesignOptions) => {\n localStorage.setItem(\"loginAppDesign\", JSON.stringify(value));\n};\n/**\n * An authentication initiator that works on a browser. Since this is just triggering\n * login and logout, session data is not stored here.\n * An associated AuthenticationResolver would be needed to get the session data.\n * Storage is needed for the code verifier, this is the domain of the PKCEConsumer\n * The storage used by the PKCEConsumer should be available to the AuthenticationResolver.\n *\n * Example usage:\n *\n * 1) Client-only SPA -eg a react app with no server:\n * new BrowserAuthenticationInitiator({\n * pkceConsumer: new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side\n * ... other config\n * })\n *\n * 2) Client-side of a client/server app - eg a react app with a backend:\n * new BrowserAuthenticationInitiator({\n * pkceConsumer: new ConfidentialClientPKCEConsumer(\"https://myserver.com/pkce\"), // get the challenge from the server\n * ... other config\n * })\n */\nexport class BrowserAuthenticationInitiator implements AuthenticationInitiator {\n private postMessageHandler: null | ((event: MessageEvent) => void) = null;\n\n protected config: BrowserAuthenticationInitiatorConfig;\n\n public setDisplayMode(displayMode: DisplayMode) {\n this.config.displayMode = displayMode;\n }\n\n get displayMode() {\n return this.config.displayMode;\n }\n\n get isServerTokenExchange() {\n return this.config.pkceConsumer instanceof ConfidentialClientPKCEConsumer;\n }\n get state() {\n return generateState(this.config.displayMode, this.isServerTokenExchange);\n }\n constructor(\n config: typeof this.config,\n readonly setDesignOptions = defaultSetDesignOptions,\n ) {\n this.config = config;\n\n this.postMessageHandler = (event: MessageEvent) => {\n const thisURL = new URL(window.location.href);\n if (\n event.origin.endsWith(\"civic.com\") ||\n thisURL.hostname === \"localhost\"\n ) {\n if (!validateLoginAppPostMessage(event.data, this.config.clientId)) {\n return;\n }\n const loginMessage = event.data as LoginPostMessage;\n if (loginMessage.type === \"generatePopupFailed\") {\n this.handleLoginAppPopupFailed(\n (loginMessage.data as { url: string }).url,\n );\n return;\n }\n if (loginMessage.type === \"design\") {\n // TODO handle the design message\n this.handleLoginAppDesignUpdate(\n loginMessage.data as LoginAppDesignOptions,\n );\n return;\n }\n }\n };\n\n window.addEventListener(\"message\", this.postMessageHandler);\n }\n\n async handleLoginAppPopupFailed(redirectUrl: string) {\n console.warn(\n \"Login app popup failed open a popup, using redirect mode instead...\",\n redirectUrl,\n );\n window.location.href = redirectUrl;\n }\n\n async handleLoginAppDesignUpdate(options: LoginAppDesignOptions) {\n this.setDesignOptions(options);\n }\n\n // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url\n // and then use the display mode to decide how to send the user there\n async signIn(iframeRef: HTMLIFrameElement | null): Promise<URL> {\n const url = await generateOauthLoginUrl({\n ...this.config,\n state: this.state,\n });\n\n if (this.config.displayMode === \"iframe\") {\n const ref = getIframeRef(iframeRef);\n ref.setAttribute(\"src\", url.toString());\n }\n\n if (this.config.displayMode === \"redirect\") {\n window.location.href = url.toString();\n }\n\n if (this.config.displayMode === \"new_tab\") {\n try {\n const popupWindow = window.open(url.toString(), \"_blank\");\n if (!popupWindow) {\n throw new PopupError(\"Failed to open popup window\");\n }\n // TODO handle the 'onclose' event to clean up and reset the authStatus\n } catch (error) {\n console.error(\"popupWindow\", error);\n throw new PopupError(\n \"window.open has thrown: Failed to open popup window\",\n );\n }\n }\n\n return url;\n }\n\n protected handleIframeUrlChange(\n iframe: HTMLIFrameElement,\n expectedUrl: string,\n ): Promise<void> {\n return new Promise((resolve, reject) => {\n let interval: NodeJS.Timeout | undefined = undefined;\n let timeout: NodeJS.Timeout | undefined = undefined;\n\n const messageHandler = (event: MessageEvent) => {\n if (event.source !== iframe.contentWindow) {\n // This message did not originate from the iframe. Ignore it.\n return;\n }\n\n const message = event.data as IframeAuthMessage;\n\n if (\n message.source === \"civicloginApp\" &&\n (message.type === \"auth_error\" ||\n message.type === \"auth_error_try_again\")\n ) {\n clearInterval(interval);\n clearTimeout(timeout);\n window.removeEventListener(\"message\", messageHandler);\n reject(new Error(message.data.error || \"Authentication failed\"));\n return;\n }\n };\n\n window.addEventListener(\"message\", messageHandler);\n\n // Keep the existing URL check logic for success case\n const checkIframe = () => {\n try {\n const currentUrl = iframe.contentWindow?.location.href;\n if (currentUrl?.includes(expectedUrl)) {\n clearInterval(interval);\n window.removeEventListener(\"message\", messageHandler);\n resolve();\n }\n } catch {\n // Ignore cross-origin errors\n }\n };\n\n interval = setInterval(checkIframe, 100);\n\n // Timeout after 10 seconds\n timeout = setTimeout(() => {\n clearInterval(interval);\n window.removeEventListener(\"message\", messageHandler);\n reject(new Error(\"Timeout waiting for iframe URL change\"));\n }, 10000);\n });\n }\n\n async signOut(\n idToken: string | undefined,\n iframeRef: HTMLIFrameElement | null,\n ): Promise<URL> {\n let url;\n const state = this.state;\n if (this.isServerTokenExchange) {\n if (!this.config.logoutUrl) {\n throw new Error(\"logoutUrl is required for server token exchange\");\n }\n url = new URL(this.config.logoutUrl, window.location.origin);\n url.searchParams.append(\"state\", state);\n } else {\n if (!idToken) {\n throw new Error(\"idToken is required for non-server token exchange\");\n }\n url = await generateOauthLogoutUrl({\n ...this.config,\n idToken,\n state,\n redirectUrl: this.config.logoutRedirectUrl,\n });\n }\n\n if (this.config.displayMode === \"iframe\") {\n const ref = getIframeRef(iframeRef);\n ref.setAttribute(\"src\", url.toString());\n\n try {\n await this.handleIframeUrlChange(ref, this.config.logoutRedirectUrl);\n } catch (error) {\n console.log(\"Failed to sign out\", error);\n // on logout error, trigger the logout-callback directly,\n // if it is a logout from the server, so the the session is cleared\n // and user can still sign out.\n if (this.isServerTokenExchange) {\n url = new URL(this.config.logoutRedirectUrl, window.location.origin);\n url.searchParams.append(\"state\", state);\n url.searchParams.append(\"appUrl\", window.location.origin);\n ref.setAttribute(\"src\", url.toString());\n }\n }\n\n // Clear storage after successful detection\n if (!this.isServerTokenExchange) {\n const localStorage = new LocalStorageAdapter();\n await clearTokens(localStorage);\n await clearUser(localStorage);\n LocalStorageAdapter.emitter.emit(\"signOut\");\n }\n }\n\n if (this.config.displayMode === \"redirect\") {\n const localStorage = new LocalStorageAdapter();\n localStorage.set(\"logout_state\", state);\n window.location.href = url.toString();\n }\n\n if (this.config.displayMode === \"new_tab\") {\n try {\n const popupWindow = window.open(url.toString(), \"_blank\");\n if (!popupWindow) {\n throw new PopupError(\"Failed to open popup window\");\n }\n } catch (error) {\n console.error(\"popupWindow\", error);\n throw new PopupError(\n \"window.open has thrown: Failed to open popup window\",\n );\n }\n }\n\n return url;\n }\n\n cleanup() {\n if (this.postMessageHandler) {\n window.removeEventListener(\"message\", this.postMessageHandler);\n }\n }\n}\n\n/** A general-purpose authentication initiator, that just generates urls, but lets\n * the caller decide how to use them. This is useful for server-side applications\n * that may serve this URL to their front-ends or just call them directly\n */\nexport class GenericAuthenticationInitiator implements AuthenticationInitiator {\n protected config: GenericAuthenticationInitiatorConfig;\n\n constructor(config: typeof this.config) {\n this.config = config;\n }\n\n // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url\n // and simply return the url\n async signIn(): Promise<URL> {\n return generateOauthLoginUrl(this.config);\n }\n\n async signOut(idToken: string): Promise<URL> {\n return generateOauthLogoutUrl({\n ...this.config,\n idToken,\n });\n }\n}\n\ntype BrowserAuthenticationConfig = {\n clientId: string;\n redirectUrl: string;\n logoutUrl?: string;\n logoutRedirectUrl: string;\n scopes: string[];\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n displayMode: DisplayMode;\n};\n\n/**\n * An authentication resolver that can run on the browser (i.e. a public client)\n * It uses PKCE for security. PKCE and Session data are stored in local storage\n */\nexport class BrowserAuthenticationService extends BrowserAuthenticationInitiator {\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n // TODO WIP - perhaps we want to keep resolver and initiator separate here\n constructor(\n config: BrowserAuthenticationConfig,\n // Since we are running fully on the client, we produce as well as consume the PKCE challenge\n protected pkceProducer = new BrowserPublicClientPKCEProducer(),\n ) {\n super({\n ...config,\n // Store and retrieve the PKCE challenge in local storage\n pkceConsumer: pkceProducer,\n });\n }\n\n // TODO too much code duplication here between the browser and the server variant.\n // Suggestion for refactor: Standardise the config for AuthenticationResolvers and create a one-shot\n // function for generating an oauth2client from it\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.config.oauthServer,\n this.config.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.config.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.config.redirectUrl,\n },\n );\n\n return this;\n }\n\n // Two responsibilities:\n // 1. resolve the auth code to get the tokens (should use library code)\n // 2. store the tokens in local storage\n async tokenExchange(\n code: string,\n state: string,\n ): Promise<OIDCTokenResponseBody> {\n if (!this.oauth2client) await this.init();\n const codeVerifier = await this.pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in storage\");\n\n // exchange auth code for tokens\n const tokens = await exchangeTokens(\n code,\n state,\n this.pkceProducer,\n this.oauth2client!, // clean up types here to avoid the ! operator\n this.config.oauthServer,\n this.endpoints!, // clean up types here to avoid the ! operator\n );\n const clientStorage = new LocalStorageAdapter();\n await storeTokens(clientStorage, tokens);\n const user = await getUser(clientStorage);\n if (!user) {\n throw new Error(\"Failed to get user info\");\n }\n const userSession = new GenericUserSession(clientStorage);\n await userSession.set(user);\n LocalStorageAdapter.emitter.emit(\"signIn\");\n // cleanup the browser window if needed\n const parsedDisplayMode = displayModeFromState(\n state,\n this.config.displayMode,\n );\n\n if (parsedDisplayMode === \"new_tab\") {\n // Close the popup window\n window.addEventListener(\"beforeunload\", () => {\n window?.opener?.focus();\n });\n window.close();\n }\n // these are the default oAuth params that get added to the URL in redirect which we want to remove if present\n removeParamsWithoutReload(DEFAULT_OAUTH_GET_PARAMS);\n return tokens;\n }\n\n // Get the session data from local storage\n async getSessionData(): Promise<SessionData | null> {\n const storageData = await retrieveTokens(new LocalStorageAdapter());\n\n if (!storageData) return null;\n\n return {\n authenticated: !!storageData.id_token,\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n accessTokenExpiresAt: storageData.access_token_expires_at,\n };\n }\n\n async validateExistingSession(): Promise<SessionData> {\n try {\n const sessionData = await this.getSessionData();\n if (!sessionData?.idToken || !sessionData.accessToken) {\n const unAuthenticatedSession = { ...sessionData, authenticated: false };\n // await clearTokens(new LocalStorageAdapter());\n return unAuthenticatedSession;\n }\n if (!this.endpoints || !this.oauth2client) await this.init();\n\n // this function will throw if any of the tokens are invalid\n await validateOauth2Tokens(\n {\n access_token: sessionData.accessToken,\n id_token: sessionData.idToken,\n refresh_token: sessionData.refreshToken,\n access_token_expires_at: sessionData.accessTokenExpiresAt,\n },\n this.endpoints!,\n this.oauth2client!,\n this.config.oauthServer,\n );\n return sessionData;\n } catch (error) {\n console.warn(\"Failed to validate existing tokens\", error);\n const unAuthenticatedSession = {\n authenticated: false,\n };\n await clearTokens(new LocalStorageAdapter());\n return unAuthenticatedSession;\n }\n }\n\n async getEndSessionEndpoint(): Promise<string | null> {\n if (!this.endpoints) {\n return null;\n }\n return this.endpoints?.endsession;\n }\n\n static async build(\n config: BrowserAuthenticationConfig,\n ): Promise<AuthenticationResolver> {\n const resolver = new BrowserAuthenticationService(config);\n await resolver.init();\n\n return resolver;\n }\n}\n"]}
@@ -1,20 +0,0 @@
1
- import type { PKCEConsumer, PKCEProducer } from "../services/types.js";
2
- import type { AuthStorage } from "../types.js";
3
- /** A PKCE consumer that retrieves the challenge from a server endpoint */
4
- export declare class ConfidentialClientPKCEConsumer implements PKCEConsumer {
5
- private pkceChallengeEndpoint;
6
- constructor(pkceChallengeEndpoint: string);
7
- getCodeChallenge(): Promise<string>;
8
- }
9
- /** A PKCE Producer that can generate and store a code verifier, but is agnostic as to the storage location */
10
- export declare class GenericPublicClientPKCEProducer implements PKCEProducer {
11
- private storage;
12
- constructor(storage: AuthStorage);
13
- getCodeChallenge(): Promise<string>;
14
- getCodeVerifier(): Promise<string | null>;
15
- }
16
- /** A PKCE Producer that is expected to run on a browser, and does not need a backend */
17
- export declare class BrowserPublicClientPKCEProducer extends GenericPublicClientPKCEProducer {
18
- constructor();
19
- }
20
- //# sourceMappingURL=PKCE.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PKCE.d.ts","sourceRoot":"","sources":["../../../src/services/PKCE.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,0EAA0E;AAC1E,qBAAa,8BAA+B,YAAW,YAAY;IACrD,OAAO,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,MAAM;IAC3C,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAO1C;AAED,8GAA8G;AAC9G,qBAAa,+BAAgC,YAAW,YAAY;IACtD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAIlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IASnC,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGhD;AAED,wFAAwF;AACxF,qBAAa,+BAAgC,SAAQ,+BAA+B;;CAInF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PKCE.js","sourceRoot":"","sources":["../../../src/services/PKCE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,0EAA0E;AAC1E,MAAM,OAAO,8BAA8B;IACrB;IAApB,YAAoB,qBAA6B;QAA7B,0BAAqB,GAArB,qBAAqB,CAAQ;IAAG,CAAC;IACrD,KAAK,CAAC,gBAAgB;QACpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,qBAAqB,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CACjE,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAED,8GAA8G;AAC9G,MAAM,OAAO,+BAA+B;IACtB;IAApB,YAAoB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAE5C,6CAA6C;IAC7C,wCAAwC;IACxC,KAAK,CAAC,gBAAgB;QACpB,+CAA+C;QAC/C,mBAAmB;QACnB,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI;QACJ,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,6CAA6C;IAC7C,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,OAAO,+BAAgC,SAAQ,+BAA+B;IAClF;QACE,KAAK,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACnC,CAAC;CACF","sourcesContent":["import { deriveCodeChallenge } from \"@/shared/lib/util.js\";\nimport { generateCodeVerifier } from \"oslo/oauth2\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport type { PKCEConsumer, PKCEProducer } from \"@/services/types.js\";\nimport type { AuthStorage } from \"@/types.js\";\nimport { CodeVerifier } from \"@/shared/lib/types.js\";\n\n/** A PKCE consumer that retrieves the challenge from a server endpoint */\nexport class ConfidentialClientPKCEConsumer implements PKCEConsumer {\n constructor(private pkceChallengeEndpoint: string) {}\n async getCodeChallenge(): Promise<string> {\n const response = await fetch(\n `${this.pkceChallengeEndpoint}?appUrl=${window.location.origin}`,\n );\n const data = (await response.json()) as { challenge: string };\n return data.challenge;\n }\n}\n\n/** A PKCE Producer that can generate and store a code verifier, but is agnostic as to the storage location */\nexport class GenericPublicClientPKCEProducer implements PKCEProducer {\n constructor(private storage: AuthStorage) {}\n\n // if there is already a verifier, return it,\n // If not, create a new one and store it\n async getCodeChallenge(): Promise<string> {\n // let verifier = await this.getCodeVerifier();\n // if (!verifier) {\n const verifier = generateCodeVerifier();\n this.storage.set(CodeVerifier.COOKIE_NAME, verifier);\n // }\n return deriveCodeChallenge(verifier);\n }\n // if there is already a verifier, return it,\n async getCodeVerifier(): Promise<string | null> {\n return this.storage.get(CodeVerifier.COOKIE_NAME);\n }\n}\n\n/** A PKCE Producer that is expected to run on a browser, and does not need a backend */\nexport class BrowserPublicClientPKCEProducer extends GenericPublicClientPKCEProducer {\n constructor() {\n super(new LocalStorageAdapter());\n }\n}\n"]}
@@ -1,24 +0,0 @@
1
- import type { OIDCTokenResponseBody, SessionData } from "../types.js";
2
- export interface PKCEConsumer {
3
- getCodeChallenge(): Promise<string>;
4
- }
5
- export interface PKCEProducer extends PKCEConsumer {
6
- getCodeVerifier(): Promise<string | null>;
7
- }
8
- export interface AuthenticationInitiator {
9
- signIn(iframeRef: HTMLIFrameElement | null): Promise<URL>;
10
- signOut(idToken: string, iframeRef: HTMLIFrameElement | null): Promise<URL>;
11
- }
12
- export interface AuthenticationResolver {
13
- tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
14
- getSessionData(): Promise<SessionData | null>;
15
- getEndSessionEndpoint(): Promise<string | null>;
16
- validateExistingSession(): Promise<SessionData>;
17
- }
18
- export interface AuthenticationRefresher {
19
- refreshTokens: () => Promise<OIDCTokenResponseBody>;
20
- }
21
- export declare class PopupError extends Error {
22
- constructor(message: string);
23
- }
24
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AASrE,MAAM,WAAW,YAAY;IAE3B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAGD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAEhD,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3C;AAGD,MAAM,WAAW,uBAAuB;IAEtC,MAAM,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAG1D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7E;AAGD,MAAM,WAAW,sBAAsB;IAKrC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAG3E,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAE9C,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEhD,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrD;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/types.ts"],"names":[],"mappings":"AAiDA,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF","sourcesContent":["import type { OIDCTokenResponseBody, SessionData } from \"@/types.js\";\n\n// A PKCEConsumer can get a code challenge to use in the login process\n// A PKCEProducer can also generate and store verifiers. The producer must also be a consumer in order to get the challenge from an existing flow\n// Examples:\n// - Client-only SPA: The SPA generates the code challenge and verifier, stores the verifier in state and returns the code challenge\n// Note - The SPA should use PKCEProducer instead to do both\n// - Client-side of a client/server app: The client calls the backend to get the challenge.\n// - Server-side: The server should generate a new stored verifier and derive the challenge from it.\nexport interface PKCEConsumer {\n // Retrieve a new PKCE challenge\n getCodeChallenge(): Promise<string>;\n}\n\n// All producers are consumers, because the producer can get its own challenge\nexport interface PKCEProducer extends PKCEConsumer {\n // Retrieve the PKCE challenge from the session if one exists\n getCodeVerifier(): Promise<string | null>;\n}\n\n// A service that can initiate requests to login or log out\nexport interface AuthenticationInitiator {\n // trigger a new login\n signIn(iframeRef: HTMLIFrameElement | null): Promise<URL>;\n\n // trigger a new logout\n signOut(idToken: string, iframeRef: HTMLIFrameElement | null): Promise<URL>;\n}\n\n// A service that can resolve an authentication request according to the OAuth Auth Code grant types\nexport interface AuthenticationResolver {\n // Given an auth code, get the tokens from the auth server and store them. works in PKCE and non-PKCE environments\n // Note, if we choose later to implement other grants, this method would move into a subinterface specifically\n // for the authorization code grant type.\n // The return type is just for convenience and can be ignored, as the same data would be provided by getSessionData\n tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;\n\n // If the tokens have already been retrieved, return them\n getSessionData(): Promise<SessionData | null>;\n\n getEndSessionEndpoint(): Promise<string | null>;\n // If an existing session is found, validate it and return the session data\n validateExistingSession(): Promise<SessionData>;\n}\n\nexport interface AuthenticationRefresher {\n refreshTokens: () => Promise<OIDCTokenResponseBody>;\n}\n\nexport class PopupError extends Error {\n constructor(message: string) {\n super(message);\n Object.setPrototypeOf(this, PopupError.prototype);\n }\n}\n"]}
@@ -1,6 +0,0 @@
1
- import type { ReactNode } from "react";
2
- declare const BlockDisplay: ({ children }: {
3
- children: ReactNode;
4
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
5
- export { BlockDisplay };
6
- //# sourceMappingURL=BlockDisplay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockDisplay.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/BlockDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,QAAA,MAAM,YAAY,iBAAkB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,qDAmC1D,CAAC;AACF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockDisplay.js","sourceRoot":"","sources":["../../../../src/shared/components/BlockDisplay.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IAC7D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,CAAC;IACxC,MAAM,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,OAAO,CACL,cACE,EAAE,EAAC,8BAA8B,EACjC,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,kBAAkB;SACpC,YAED,cACE,EAAE,EAAC,sBAAsB,EACzB,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,kBAAkB;aACpC,YAEA,QAAQ,GACL,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AACF,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import type { ReactNode } from \"react\";\nimport { useIframe } from \"../hooks/useIframe.js\";\nimport { useIsInIframe } from \"../hooks/useIsInIframe.js\";\n\nconst BlockDisplay = ({ children }: { children: ReactNode }) => {\n const isInIframe = useIsInIframe();\n const { backgroundColor } = useIframe();\n const useBackgroundColor = isInIframe ? backgroundColor : \"white\";\n return (\n <div\n id=\"iframe-block-display-wrapper\"\n style={{\n position: \"relative\",\n left: 0,\n top: 0,\n zIndex: 50,\n display: \"flex\",\n height: \"100vh\",\n width: \"100vw\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: useBackgroundColor,\n }}\n >\n <div\n id=\"iframe-block-display\"\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: useBackgroundColor,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\nexport { BlockDisplay };\n"]}
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- type CivicAuthIframeProps = {
3
- onLoad?: () => void;
4
- id: string;
5
- };
6
- declare const CivicAuthIframe: React.ForwardRefExoticComponent<CivicAuthIframeProps & React.RefAttributes<HTMLIFrameElement>>;
7
- export type { CivicAuthIframeProps };
8
- export { CivicAuthIframe };
9
- //# sourceMappingURL=CivicAuthIframe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthIframe.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/CivicAuthIframe.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,QAAA,MAAM,eAAe,gGA2CpB,CAAC;AAIF,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthIframe.js","sourceRoot":"","sources":["../../../../src/shared/components/CivicAuthIframe.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAOlD,MAAM,eAAe,GAAG,UAAU,CAChC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IACtB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,CAAC;IACpD,OAAO,CACL,0BACG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjB,8BAAkB,uBAAuB,YACtC,UAAU,KAAK,UAAU,IAAI,CAC5B,KAAC,UAAU,IAAC,eAAe,EAAE,eAAe,GAAI,CACjD,GACI,CACR,EACD,KAAC,aAAa,IACZ,WAAW,QACX,OAAO,EAAC,mCAAmC,EAC3C,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,GAAG,iBACF,gCAAgC,EAC7C,KAAK,EAAE;oBACL,sDAAsD;oBACtD,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACpD,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,MAAM;oBAChB,eAAe;oBACf,UAAU,EAAE,mBAAmB;oBAC/B,aAAa,EAAE,MAAM;oBACrB,YAAY,EAAE,MAAM;iBACrB,EACD,WAAW,EAAE,KAAK,EAClB,MAAM,EAAE,GAAG,EAAE;oBACX,WAAW,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM,EAAE,EAAE,CAAC;gBACb,CAAC,EACD,KAAK,EAAC,0BAA0B,EAChC,eAAe,QACf,SAAS,EAAC,UAAU,EACpB,cAAc,EAAE,CAAC,GACjB,IACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAIhD,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["\"use client\";\nimport React, { forwardRef } from \"react\";\nimport IframeResizer from \"@iframe-resizer/react\";\nimport SVGLoading from \"./SVGLoading.js\";\nimport { useIframe } from \"../hooks/useIframe.js\";\n\ntype CivicAuthIframeProps = {\n onLoad?: () => void;\n id: string;\n};\n\nconst CivicAuthIframe = forwardRef<HTMLIFrameElement, CivicAuthIframeProps>(\n ({ onLoad, id }, ref) => {\n const [isLoaded, setIsLoaded] = React.useState(false);\n const { iframeMode, backgroundColor } = useIframe();\n return (\n <div>\n {isLoaded ? null : (\n <span data-testid=\"iframe-shimmer-loader\">\n {iframeMode !== \"embedded\" && (\n <SVGLoading backgroundColor={backgroundColor} />\n )}\n </span>\n )}\n <IframeResizer\n inPageLinks\n license=\"1jy4dww5qzv-s54r73oxcn-v59f4kfgfz\"\n id={id}\n forwardRef={ref}\n data-testid={\"civic-auth-iframe-with-resizer\"}\n style={{\n // we don't want the letterbox effect in embedded mode\n height: iframeMode !== \"embedded\" ? \"26px\" : \"24rem\",\n width: \"100%\",\n border: \"none\",\n minWidth: \"100%\",\n backgroundColor,\n transition: \"height 0.25s ease\",\n pointerEvents: \"auto\",\n borderRadius: \"24px\",\n }}\n checkOrigin={false}\n onLoad={() => {\n setIsLoaded(true);\n onLoad?.();\n }}\n allow=\"camera; screen-wake-lock\"\n allowFullScreen\n direction=\"vertical\"\n warningTimeout={0}\n />\n </div>\n );\n },\n);\n\nCivicAuthIframe.displayName = \"CivicAuthIframe\";\n\nexport type { CivicAuthIframeProps };\n\nexport { CivicAuthIframe };\n"]}
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- type CivicAuthIframeContainerProps = {
3
- onClose?: () => void;
4
- closeOnRedirect?: boolean;
5
- };
6
- export declare function IframeChrome({ children, onClose, isFrameLoaded, }: {
7
- children: React.ReactNode;
8
- onClose?: () => void;
9
- isFrameLoaded: boolean;
10
- }): import("@emotion/react/jsx-runtime").JSX.Element;
11
- declare const CivicAuthIframeContainer: ({ onClose, closeOnRedirect, }: CivicAuthIframeContainerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
12
- export type { CivicAuthIframeContainerProps };
13
- export { CivicAuthIframeContainer };
14
- //# sourceMappingURL=CivicAuthIframeContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthIframeContainer.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/CivicAuthIframeContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAUxE,KAAK,6BAA6B,GAAG;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAeF,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,aAAa,GACd,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,oDAkFA;AAED,QAAA,MAAM,wBAAwB,kCAG3B,6BAA6B,qDA8G/B,CAAC;AAEF,YAAY,EAAE,6BAA6B,EAAE,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,CAAC"}