@civic/auth 0.4.4-alpha.0 → 0.4.4-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 (795) hide show
  1. package/dist/shared/version.d.ts +1 -1
  2. package/dist/shared/version.d.ts.map +1 -1
  3. package/dist/shared/version.js +1 -1
  4. package/dist/shared/version.js.map +1 -1
  5. package/package.json +3 -3
  6. package/dist/cjs/browser/storage.d.ts +0 -10
  7. package/dist/cjs/browser/storage.d.ts.map +0 -1
  8. package/dist/cjs/browser/storage.js +0 -24
  9. package/dist/cjs/browser/storage.js.map +0 -1
  10. package/dist/cjs/config.d.ts +0 -3
  11. package/dist/cjs/config.d.ts.map +0 -1
  12. package/dist/cjs/config.js +0 -8
  13. package/dist/cjs/config.js.map +0 -1
  14. package/dist/cjs/constants.d.ts +0 -15
  15. package/dist/cjs/constants.d.ts.map +0 -1
  16. package/dist/cjs/constants.js +0 -44
  17. package/dist/cjs/constants.js.map +0 -1
  18. package/dist/cjs/index.d.ts +0 -8
  19. package/dist/cjs/index.d.ts.map +0 -1
  20. package/dist/cjs/index.js +0 -11
  21. package/dist/cjs/index.js.map +0 -1
  22. package/dist/cjs/lib/cookies.d.ts +0 -7
  23. package/dist/cjs/lib/cookies.d.ts.map +0 -1
  24. package/dist/cjs/lib/cookies.js +0 -29
  25. package/dist/cjs/lib/cookies.js.map +0 -1
  26. package/dist/cjs/lib/jwt.d.ts +0 -3
  27. package/dist/cjs/lib/jwt.d.ts.map +0 -1
  28. package/dist/cjs/lib/jwt.js +0 -13
  29. package/dist/cjs/lib/jwt.js.map +0 -1
  30. package/dist/cjs/lib/logger.d.ts +0 -26
  31. package/dist/cjs/lib/logger.d.ts.map +0 -1
  32. package/dist/cjs/lib/logger.js +0 -62
  33. package/dist/cjs/lib/logger.js.map +0 -1
  34. package/dist/cjs/lib/oauth.d.ts +0 -19
  35. package/dist/cjs/lib/oauth.d.ts.map +0 -1
  36. package/dist/cjs/lib/oauth.js +0 -74
  37. package/dist/cjs/lib/oauth.js.map +0 -1
  38. package/dist/cjs/lib/obj.d.ts +0 -3
  39. package/dist/cjs/lib/obj.d.ts.map +0 -1
  40. package/dist/cjs/lib/obj.js +0 -21
  41. package/dist/cjs/lib/obj.js.map +0 -1
  42. package/dist/cjs/lib/postMessage.d.ts +0 -4
  43. package/dist/cjs/lib/postMessage.d.ts.map +0 -1
  44. package/dist/cjs/lib/postMessage.js +0 -16
  45. package/dist/cjs/lib/postMessage.js.map +0 -1
  46. package/dist/cjs/lib/windowUtil.d.ts +0 -4
  47. package/dist/cjs/lib/windowUtil.d.ts.map +0 -1
  48. package/dist/cjs/lib/windowUtil.js +0 -35
  49. package/dist/cjs/lib/windowUtil.js.map +0 -1
  50. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  51. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  52. package/dist/cjs/nextjs/GetUser.js +0 -11
  53. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  54. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.d.ts +0 -11
  55. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.d.ts.map +0 -1
  56. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.js +0 -21
  57. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.js.map +0 -1
  58. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts +0 -8
  59. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  60. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js +0 -28
  61. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  62. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts +0 -12
  63. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +0 -1
  64. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js +0 -29
  65. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js.map +0 -1
  66. package/dist/cjs/nextjs/config.d.ts +0 -209
  67. package/dist/cjs/nextjs/config.d.ts.map +0 -1
  68. package/dist/cjs/nextjs/config.js +0 -191
  69. package/dist/cjs/nextjs/config.js.map +0 -1
  70. package/dist/cjs/nextjs/cookies.d.ts +0 -16
  71. package/dist/cjs/nextjs/cookies.d.ts.map +0 -1
  72. package/dist/cjs/nextjs/cookies.js +0 -44
  73. package/dist/cjs/nextjs/cookies.js.map +0 -1
  74. package/dist/cjs/nextjs/hooks/index.d.ts +0 -2
  75. package/dist/cjs/nextjs/hooks/index.d.ts.map +0 -1
  76. package/dist/cjs/nextjs/hooks/index.js +0 -6
  77. package/dist/cjs/nextjs/hooks/index.js.map +0 -1
  78. package/dist/cjs/nextjs/hooks/usePrevious.d.ts +0 -2
  79. package/dist/cjs/nextjs/hooks/usePrevious.d.ts.map +0 -1
  80. package/dist/cjs/nextjs/hooks/usePrevious.js +0 -12
  81. package/dist/cjs/nextjs/hooks/usePrevious.js.map +0 -1
  82. package/dist/cjs/nextjs/hooks/useRefresh.d.ts +0 -6
  83. package/dist/cjs/nextjs/hooks/useRefresh.d.ts.map +0 -1
  84. package/dist/cjs/nextjs/hooks/useRefresh.js +0 -51
  85. package/dist/cjs/nextjs/hooks/useRefresh.js.map +0 -1
  86. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts +0 -8
  87. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  88. package/dist/cjs/nextjs/hooks/useUserCookie.js +0 -93
  89. package/dist/cjs/nextjs/hooks/useUserCookie.js.map +0 -1
  90. package/dist/cjs/nextjs/index.d.ts +0 -9
  91. package/dist/cjs/nextjs/index.d.ts.map +0 -1
  92. package/dist/cjs/nextjs/index.js +0 -27
  93. package/dist/cjs/nextjs/index.js.map +0 -1
  94. package/dist/cjs/nextjs/middleware/index.d.ts +0 -2
  95. package/dist/cjs/nextjs/middleware/index.d.ts.map +0 -1
  96. package/dist/cjs/nextjs/middleware/index.js +0 -10
  97. package/dist/cjs/nextjs/middleware/index.js.map +0 -1
  98. package/dist/cjs/nextjs/middleware.d.ts +0 -57
  99. package/dist/cjs/nextjs/middleware.d.ts.map +0 -1
  100. package/dist/cjs/nextjs/middleware.js +0 -110
  101. package/dist/cjs/nextjs/middleware.js.map +0 -1
  102. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts +0 -9
  103. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  104. package/dist/cjs/nextjs/providers/NextAuthProvider.js +0 -108
  105. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +0 -1
  106. package/dist/cjs/nextjs/routeHandler.d.ts +0 -19
  107. package/dist/cjs/nextjs/routeHandler.d.ts.map +0 -1
  108. package/dist/cjs/nextjs/routeHandler.js +0 -325
  109. package/dist/cjs/nextjs/routeHandler.js.map +0 -1
  110. package/dist/cjs/nextjs/utils.d.ts +0 -3
  111. package/dist/cjs/nextjs/utils.d.ts.map +0 -1
  112. package/dist/cjs/nextjs/utils.js +0 -9
  113. package/dist/cjs/nextjs/utils.js.map +0 -1
  114. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  115. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  116. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +0 -40
  117. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  118. package/dist/cjs/reactjs/components/LoadingSpinner.d.ts +0 -7
  119. package/dist/cjs/reactjs/components/LoadingSpinner.d.ts.map +0 -1
  120. package/dist/cjs/reactjs/components/LoadingSpinner.js +0 -33
  121. package/dist/cjs/reactjs/components/LoadingSpinner.js.map +0 -1
  122. package/dist/cjs/reactjs/components/SignInButton.d.ts +0 -9
  123. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +0 -1
  124. package/dist/cjs/reactjs/components/SignInButton.js +0 -31
  125. package/dist/cjs/reactjs/components/SignInButton.js.map +0 -1
  126. package/dist/cjs/reactjs/components/SignOutButton.d.ts +0 -7
  127. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +0 -1
  128. package/dist/cjs/reactjs/components/SignOutButton.js +0 -27
  129. package/dist/cjs/reactjs/components/SignOutButton.js.map +0 -1
  130. package/dist/cjs/reactjs/components/UserButton.d.ts +0 -9
  131. package/dist/cjs/reactjs/components/UserButton.d.ts.map +0 -1
  132. package/dist/cjs/reactjs/components/UserButton.js +0 -145
  133. package/dist/cjs/reactjs/components/UserButton.js.map +0 -1
  134. package/dist/cjs/reactjs/components/index.d.ts +0 -6
  135. package/dist/cjs/reactjs/components/index.d.ts.map +0 -1
  136. package/dist/cjs/reactjs/components/index.js +0 -14
  137. package/dist/cjs/reactjs/components/index.js.map +0 -1
  138. package/dist/cjs/reactjs/components/utils.d.ts +0 -13
  139. package/dist/cjs/reactjs/components/utils.d.ts.map +0 -1
  140. package/dist/cjs/reactjs/components/utils.js +0 -31
  141. package/dist/cjs/reactjs/components/utils.js.map +0 -1
  142. package/dist/cjs/reactjs/hooks/index.d.ts +0 -3
  143. package/dist/cjs/reactjs/hooks/index.d.ts.map +0 -1
  144. package/dist/cjs/reactjs/hooks/index.js +0 -8
  145. package/dist/cjs/reactjs/hooks/index.js.map +0 -1
  146. package/dist/cjs/reactjs/hooks/useAuth.d.ts +0 -3
  147. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  148. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  149. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  150. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  151. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  152. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js +0 -16
  153. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  154. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +0 -6
  155. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +0 -1
  156. package/dist/cjs/reactjs/hooks/useSignIn.js +0 -38
  157. package/dist/cjs/reactjs/hooks/useSignIn.js.map +0 -1
  158. package/dist/cjs/reactjs/hooks/useUser.d.ts +0 -4
  159. package/dist/cjs/reactjs/hooks/useUser.d.ts.map +0 -1
  160. package/dist/cjs/reactjs/hooks/useUser.js +0 -15
  161. package/dist/cjs/reactjs/hooks/useUser.js.map +0 -1
  162. package/dist/cjs/reactjs/index.d.ts +0 -6
  163. package/dist/cjs/reactjs/index.d.ts.map +0 -1
  164. package/dist/cjs/reactjs/index.js +0 -32
  165. package/dist/cjs/reactjs/index.js.map +0 -1
  166. package/dist/cjs/reactjs/providers/AuthProvider.d.ts +0 -10
  167. package/dist/cjs/reactjs/providers/AuthProvider.d.ts.map +0 -1
  168. package/dist/cjs/reactjs/providers/AuthProvider.js +0 -99
  169. package/dist/cjs/reactjs/providers/AuthProvider.js.map +0 -1
  170. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  171. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  172. package/dist/cjs/reactjs/providers/CivicAuthProvider.js +0 -29
  173. package/dist/cjs/reactjs/providers/CivicAuthProvider.js.map +0 -1
  174. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  175. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  176. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -146
  177. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  178. package/dist/cjs/reactjs/providers/index.d.ts +0 -8
  179. package/dist/cjs/reactjs/providers/index.d.ts.map +0 -1
  180. package/dist/cjs/reactjs/providers/index.js +0 -19
  181. package/dist/cjs/reactjs/providers/index.js.map +0 -1
  182. package/dist/cjs/server/ServerAuthenticationResolver.d.ts +0 -20
  183. package/dist/cjs/server/ServerAuthenticationResolver.d.ts.map +0 -1
  184. package/dist/cjs/server/ServerAuthenticationResolver.js +0 -71
  185. package/dist/cjs/server/ServerAuthenticationResolver.js.map +0 -1
  186. package/dist/cjs/server/config.d.ts +0 -11
  187. package/dist/cjs/server/config.d.ts.map +0 -1
  188. package/dist/cjs/server/config.js +0 -3
  189. package/dist/cjs/server/config.js.map +0 -1
  190. package/dist/cjs/server/index.d.ts +0 -9
  191. package/dist/cjs/server/index.d.ts.map +0 -1
  192. package/dist/cjs/server/index.js +0 -21
  193. package/dist/cjs/server/index.js.map +0 -1
  194. package/dist/cjs/server/login.d.ts +0 -17
  195. package/dist/cjs/server/login.d.ts.map +0 -1
  196. package/dist/cjs/server/login.js +0 -42
  197. package/dist/cjs/server/login.js.map +0 -1
  198. package/dist/cjs/server/logout.d.ts +0 -7
  199. package/dist/cjs/server/logout.d.ts.map +0 -1
  200. package/dist/cjs/server/logout.js +0 -26
  201. package/dist/cjs/server/logout.js.map +0 -1
  202. package/dist/cjs/server/refresh.d.ts +0 -7
  203. package/dist/cjs/server/refresh.d.ts.map +0 -1
  204. package/dist/cjs/server/refresh.js +0 -19
  205. package/dist/cjs/server/refresh.js.map +0 -1
  206. package/dist/cjs/services/AuthenticationService.d.ts +0 -93
  207. package/dist/cjs/services/AuthenticationService.d.ts.map +0 -1
  208. package/dist/cjs/services/AuthenticationService.js +0 -367
  209. package/dist/cjs/services/AuthenticationService.js.map +0 -1
  210. package/dist/cjs/services/PKCE.d.ts +0 -20
  211. package/dist/cjs/services/PKCE.d.ts.map +0 -1
  212. package/dist/cjs/services/PKCE.js +0 -50
  213. package/dist/cjs/services/PKCE.js.map +0 -1
  214. package/dist/cjs/services/types.d.ts +0 -24
  215. package/dist/cjs/services/types.d.ts.map +0 -1
  216. package/dist/cjs/services/types.js +0 -11
  217. package/dist/cjs/services/types.js.map +0 -1
  218. package/dist/cjs/shared/components/BlockDisplay.d.ts +0 -6
  219. package/dist/cjs/shared/components/BlockDisplay.d.ts.map +0 -1
  220. package/dist/cjs/shared/components/BlockDisplay.js +0 -32
  221. package/dist/cjs/shared/components/BlockDisplay.js.map +0 -1
  222. package/dist/cjs/shared/components/CivicAuthIframe.d.ts +0 -9
  223. package/dist/cjs/shared/components/CivicAuthIframe.d.ts.map +0 -1
  224. package/dist/cjs/shared/components/CivicAuthIframe.js +0 -72
  225. package/dist/cjs/shared/components/CivicAuthIframe.js.map +0 -1
  226. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  227. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  228. package/dist/cjs/shared/components/CivicAuthIframeContainer.js +0 -158
  229. package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +0 -1
  230. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  231. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  232. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js +0 -21
  233. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  234. package/dist/cjs/shared/components/CloseIcon.d.ts +0 -3
  235. package/dist/cjs/shared/components/CloseIcon.d.ts.map +0 -1
  236. package/dist/cjs/shared/components/CloseIcon.js +0 -7
  237. package/dist/cjs/shared/components/CloseIcon.js.map +0 -1
  238. package/dist/cjs/shared/components/IFrameAndLoading.d.ts +0 -7
  239. package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +0 -1
  240. package/dist/cjs/shared/components/IFrameAndLoading.js +0 -39
  241. package/dist/cjs/shared/components/IFrameAndLoading.js.map +0 -1
  242. package/dist/cjs/shared/components/LoadingIcon.d.ts +0 -6
  243. package/dist/cjs/shared/components/LoadingIcon.d.ts.map +0 -1
  244. package/dist/cjs/shared/components/LoadingIcon.js +0 -28
  245. package/dist/cjs/shared/components/LoadingIcon.js.map +0 -1
  246. package/dist/cjs/shared/components/SVGLoading.d.ts +0 -4
  247. package/dist/cjs/shared/components/SVGLoading.d.ts.map +0 -1
  248. package/dist/cjs/shared/components/SVGLoading.js +0 -30
  249. package/dist/cjs/shared/components/SVGLoading.js.map +0 -1
  250. package/dist/cjs/shared/hooks/index.d.ts +0 -11
  251. package/dist/cjs/shared/hooks/index.d.ts.map +0 -1
  252. package/dist/cjs/shared/hooks/index.js +0 -24
  253. package/dist/cjs/shared/hooks/index.js.map +0 -1
  254. package/dist/cjs/shared/hooks/useAuth.d.ts +0 -3
  255. package/dist/cjs/shared/hooks/useAuth.d.ts.map +0 -1
  256. package/dist/cjs/shared/hooks/useAuth.js +0 -15
  257. package/dist/cjs/shared/hooks/useAuth.js.map +0 -1
  258. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  259. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  260. package/dist/cjs/shared/hooks/useCivicAuthConfig.js +0 -13
  261. package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +0 -1
  262. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  263. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  264. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  265. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  266. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts +0 -3
  267. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  268. package/dist/cjs/shared/hooks/useCurrentUrl.js +0 -27
  269. package/dist/cjs/shared/hooks/useCurrentUrl.js.map +0 -1
  270. package/dist/cjs/shared/hooks/useIframe.d.ts +0 -3
  271. package/dist/cjs/shared/hooks/useIframe.d.ts.map +0 -1
  272. package/dist/cjs/shared/hooks/useIframe.js +0 -16
  273. package/dist/cjs/shared/hooks/useIframe.js.map +0 -1
  274. package/dist/cjs/shared/hooks/useIsInIframe.d.ts +0 -3
  275. package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +0 -1
  276. package/dist/cjs/shared/hooks/useIsInIframe.js +0 -17
  277. package/dist/cjs/shared/hooks/useIsInIframe.js.map +0 -1
  278. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  279. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  280. package/dist/cjs/shared/hooks/useOAuthEndpoints.js +0 -17
  281. package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +0 -1
  282. package/dist/cjs/shared/hooks/useRefresh.d.ts +0 -6
  283. package/dist/cjs/shared/hooks/useRefresh.d.ts.map +0 -1
  284. package/dist/cjs/shared/hooks/useRefresh.js +0 -49
  285. package/dist/cjs/shared/hooks/useRefresh.js.map +0 -1
  286. package/dist/cjs/shared/hooks/useSession.d.ts +0 -3
  287. package/dist/cjs/shared/hooks/useSession.d.ts.map +0 -1
  288. package/dist/cjs/shared/hooks/useSession.js +0 -16
  289. package/dist/cjs/shared/hooks/useSession.js.map +0 -1
  290. package/dist/cjs/shared/hooks/useSignIn.d.ts +0 -17
  291. package/dist/cjs/shared/hooks/useSignIn.d.ts.map +0 -1
  292. package/dist/cjs/shared/hooks/useSignIn.js +0 -171
  293. package/dist/cjs/shared/hooks/useSignIn.js.map +0 -1
  294. package/dist/cjs/shared/hooks/useToken.d.ts +0 -3
  295. package/dist/cjs/shared/hooks/useToken.d.ts.map +0 -1
  296. package/dist/cjs/shared/hooks/useToken.js +0 -15
  297. package/dist/cjs/shared/hooks/useToken.js.map +0 -1
  298. package/dist/cjs/shared/hooks/useWindowFocused.d.ts +0 -5
  299. package/dist/cjs/shared/hooks/useWindowFocused.d.ts.map +0 -1
  300. package/dist/cjs/shared/hooks/useWindowFocused.js +0 -24
  301. package/dist/cjs/shared/hooks/useWindowFocused.js.map +0 -1
  302. package/dist/cjs/shared/index.d.ts +0 -7
  303. package/dist/cjs/shared/index.d.ts.map +0 -1
  304. package/dist/cjs/shared/index.js +0 -25
  305. package/dist/cjs/shared/index.js.map +0 -1
  306. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts +0 -14
  307. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  308. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js +0 -55
  309. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  310. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.d.ts +0 -11
  311. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.d.ts.map +0 -1
  312. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.js +0 -63
  313. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.js.map +0 -1
  314. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +0 -9
  315. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  316. package/dist/cjs/shared/lib/BrowserCookieStorage.js +0 -60
  317. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +0 -1
  318. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.d.ts +0 -18
  319. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.d.ts.map +0 -1
  320. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.js +0 -85
  321. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.js.map +0 -1
  322. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +0 -14
  323. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  324. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +0 -38
  325. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  326. package/dist/cjs/shared/lib/UserSession.d.ts +0 -17
  327. package/dist/cjs/shared/lib/UserSession.d.ts.map +0 -1
  328. package/dist/cjs/shared/lib/UserSession.js +0 -27
  329. package/dist/cjs/shared/lib/UserSession.js.map +0 -1
  330. package/dist/cjs/shared/lib/iframeUtils.d.ts +0 -6
  331. package/dist/cjs/shared/lib/iframeUtils.d.ts.map +0 -1
  332. package/dist/cjs/shared/lib/iframeUtils.js +0 -11
  333. package/dist/cjs/shared/lib/iframeUtils.js.map +0 -1
  334. package/dist/cjs/shared/lib/session.d.ts +0 -4
  335. package/dist/cjs/shared/lib/session.d.ts.map +0 -1
  336. package/dist/cjs/shared/lib/session.js +0 -48
  337. package/dist/cjs/shared/lib/session.js.map +0 -1
  338. package/dist/cjs/shared/lib/storage.d.ts +0 -35
  339. package/dist/cjs/shared/lib/storage.d.ts.map +0 -1
  340. package/dist/cjs/shared/lib/storage.js +0 -21
  341. package/dist/cjs/shared/lib/storage.js.map +0 -1
  342. package/dist/cjs/shared/lib/types.d.ts +0 -39
  343. package/dist/cjs/shared/lib/types.d.ts.map +0 -1
  344. package/dist/cjs/shared/lib/types.js +0 -22
  345. package/dist/cjs/shared/lib/types.js.map +0 -1
  346. package/dist/cjs/shared/lib/util.d.ts +0 -40
  347. package/dist/cjs/shared/lib/util.d.ts.map +0 -1
  348. package/dist/cjs/shared/lib/util.js +0 -252
  349. package/dist/cjs/shared/lib/util.js.map +0 -1
  350. package/dist/cjs/shared/providers/AuthContext.d.ts +0 -12
  351. package/dist/cjs/shared/providers/AuthContext.d.ts.map +0 -1
  352. package/dist/cjs/shared/providers/AuthContext.js +0 -7
  353. package/dist/cjs/shared/providers/AuthContext.js.map +0 -1
  354. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  355. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  356. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  357. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  358. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  359. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  360. package/dist/cjs/shared/providers/CivicAuthConfigContext.js +0 -59
  361. package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +0 -1
  362. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  363. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  364. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  365. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  366. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  367. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  368. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  369. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  370. package/dist/cjs/shared/providers/IframeProvider.d.ts +0 -25
  371. package/dist/cjs/shared/providers/IframeProvider.d.ts.map +0 -1
  372. package/dist/cjs/shared/providers/IframeProvider.js +0 -63
  373. package/dist/cjs/shared/providers/IframeProvider.js.map +0 -1
  374. package/dist/cjs/shared/providers/SessionProvider.d.ts +0 -19
  375. package/dist/cjs/shared/providers/SessionProvider.d.ts.map +0 -1
  376. package/dist/cjs/shared/providers/SessionProvider.js +0 -28
  377. package/dist/cjs/shared/providers/SessionProvider.js.map +0 -1
  378. package/dist/cjs/shared/providers/TokenProvider.d.ts +0 -17
  379. package/dist/cjs/shared/providers/TokenProvider.d.ts.map +0 -1
  380. package/dist/cjs/shared/providers/TokenProvider.js +0 -39
  381. package/dist/cjs/shared/providers/TokenProvider.js.map +0 -1
  382. package/dist/cjs/shared/providers/UserProvider.d.ts +0 -26
  383. package/dist/cjs/shared/providers/UserProvider.d.ts.map +0 -1
  384. package/dist/cjs/shared/providers/UserProvider.js +0 -69
  385. package/dist/cjs/shared/providers/UserProvider.js.map +0 -1
  386. package/dist/cjs/shared/providers/types.d.ts +0 -15
  387. package/dist/cjs/shared/providers/types.d.ts.map +0 -1
  388. package/dist/cjs/shared/providers/types.js +0 -3
  389. package/dist/cjs/shared/providers/types.js.map +0 -1
  390. package/dist/cjs/shared/version.d.ts +0 -2
  391. package/dist/cjs/shared/version.d.ts.map +0 -1
  392. package/dist/cjs/shared/version.js +0 -6
  393. package/dist/cjs/shared/version.js.map +0 -1
  394. package/dist/cjs/types.d.ts +0 -163
  395. package/dist/cjs/types.d.ts.map +0 -1
  396. package/dist/cjs/types.js +0 -20
  397. package/dist/cjs/types.js.map +0 -1
  398. package/dist/cjs/utils.d.ts +0 -15
  399. package/dist/cjs/utils.d.ts.map +0 -1
  400. package/dist/cjs/utils.js +0 -47
  401. package/dist/cjs/utils.js.map +0 -1
  402. package/dist/cjs/version.d.ts +0 -2
  403. package/dist/cjs/version.d.ts.map +0 -1
  404. package/dist/cjs/version.js +0 -6
  405. package/dist/cjs/version.js.map +0 -1
  406. package/dist/esm/browser/storage.d.ts +0 -10
  407. package/dist/esm/browser/storage.d.ts.map +0 -1
  408. package/dist/esm/browser/storage.js +0 -20
  409. package/dist/esm/browser/storage.js.map +0 -1
  410. package/dist/esm/config.d.ts +0 -3
  411. package/dist/esm/config.d.ts.map +0 -1
  412. package/dist/esm/config.js +0 -5
  413. package/dist/esm/config.js.map +0 -1
  414. package/dist/esm/constants.d.ts +0 -15
  415. package/dist/esm/constants.d.ts.map +0 -1
  416. package/dist/esm/constants.js +0 -29
  417. package/dist/esm/constants.js.map +0 -1
  418. package/dist/esm/index.d.ts +0 -8
  419. package/dist/esm/index.d.ts.map +0 -1
  420. package/dist/esm/index.js +0 -6
  421. package/dist/esm/index.js.map +0 -1
  422. package/dist/esm/lib/cookies.d.ts +0 -7
  423. package/dist/esm/lib/cookies.d.ts.map +0 -1
  424. package/dist/esm/lib/cookies.js +0 -26
  425. package/dist/esm/lib/cookies.js.map +0 -1
  426. package/dist/esm/lib/jwt.d.ts +0 -3
  427. package/dist/esm/lib/jwt.d.ts.map +0 -1
  428. package/dist/esm/lib/jwt.js +0 -9
  429. package/dist/esm/lib/jwt.js.map +0 -1
  430. package/dist/esm/lib/logger.d.ts +0 -26
  431. package/dist/esm/lib/logger.d.ts.map +0 -1
  432. package/dist/esm/lib/logger.js +0 -55
  433. package/dist/esm/lib/logger.js.map +0 -1
  434. package/dist/esm/lib/oauth.d.ts +0 -19
  435. package/dist/esm/lib/oauth.d.ts.map +0 -1
  436. package/dist/esm/lib/oauth.js +0 -67
  437. package/dist/esm/lib/oauth.js.map +0 -1
  438. package/dist/esm/lib/obj.d.ts +0 -3
  439. package/dist/esm/lib/obj.d.ts.map +0 -1
  440. package/dist/esm/lib/obj.js +0 -18
  441. package/dist/esm/lib/obj.js.map +0 -1
  442. package/dist/esm/lib/postMessage.d.ts +0 -4
  443. package/dist/esm/lib/postMessage.d.ts.map +0 -1
  444. package/dist/esm/lib/postMessage.js +0 -13
  445. package/dist/esm/lib/postMessage.js.map +0 -1
  446. package/dist/esm/lib/windowUtil.d.ts +0 -4
  447. package/dist/esm/lib/windowUtil.d.ts.map +0 -1
  448. package/dist/esm/lib/windowUtil.js +0 -31
  449. package/dist/esm/lib/windowUtil.js.map +0 -1
  450. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  451. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  452. package/dist/esm/nextjs/GetUser.js +0 -7
  453. package/dist/esm/nextjs/GetUser.js.map +0 -1
  454. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts +0 -8
  455. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  456. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js +0 -24
  457. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  458. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts +0 -12
  459. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +0 -1
  460. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js +0 -25
  461. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js.map +0 -1
  462. package/dist/esm/nextjs/config.d.ts +0 -209
  463. package/dist/esm/nextjs/config.d.ts.map +0 -1
  464. package/dist/esm/nextjs/config.js +0 -186
  465. package/dist/esm/nextjs/config.js.map +0 -1
  466. package/dist/esm/nextjs/cookies.d.ts +0 -16
  467. package/dist/esm/nextjs/cookies.d.ts.map +0 -1
  468. package/dist/esm/nextjs/cookies.js +0 -41
  469. package/dist/esm/nextjs/cookies.js.map +0 -1
  470. package/dist/esm/nextjs/hooks/index.d.ts +0 -2
  471. package/dist/esm/nextjs/hooks/index.d.ts.map +0 -1
  472. package/dist/esm/nextjs/hooks/index.js +0 -2
  473. package/dist/esm/nextjs/hooks/index.js.map +0 -1
  474. package/dist/esm/nextjs/hooks/usePrevious.d.ts +0 -2
  475. package/dist/esm/nextjs/hooks/usePrevious.d.ts.map +0 -1
  476. package/dist/esm/nextjs/hooks/usePrevious.js +0 -9
  477. package/dist/esm/nextjs/hooks/usePrevious.js.map +0 -1
  478. package/dist/esm/nextjs/hooks/useRefresh.d.ts +0 -6
  479. package/dist/esm/nextjs/hooks/useRefresh.d.ts.map +0 -1
  480. package/dist/esm/nextjs/hooks/useRefresh.js +0 -48
  481. package/dist/esm/nextjs/hooks/useRefresh.js.map +0 -1
  482. package/dist/esm/nextjs/hooks/useUserCookie.d.ts +0 -8
  483. package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  484. package/dist/esm/nextjs/hooks/useUserCookie.js +0 -89
  485. package/dist/esm/nextjs/hooks/useUserCookie.js.map +0 -1
  486. package/dist/esm/nextjs/index.d.ts +0 -9
  487. package/dist/esm/nextjs/index.d.ts.map +0 -1
  488. package/dist/esm/nextjs/index.js +0 -17
  489. package/dist/esm/nextjs/index.js.map +0 -1
  490. package/dist/esm/nextjs/middleware/index.d.ts +0 -2
  491. package/dist/esm/nextjs/middleware/index.d.ts.map +0 -1
  492. package/dist/esm/nextjs/middleware/index.js +0 -4
  493. package/dist/esm/nextjs/middleware/index.js.map +0 -1
  494. package/dist/esm/nextjs/middleware.d.ts +0 -57
  495. package/dist/esm/nextjs/middleware.d.ts.map +0 -1
  496. package/dist/esm/nextjs/middleware.js +0 -101
  497. package/dist/esm/nextjs/middleware.js.map +0 -1
  498. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +0 -9
  499. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  500. package/dist/esm/nextjs/providers/NextAuthProvider.js +0 -105
  501. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +0 -1
  502. package/dist/esm/nextjs/routeHandler.d.ts +0 -19
  503. package/dist/esm/nextjs/routeHandler.d.ts.map +0 -1
  504. package/dist/esm/nextjs/routeHandler.js +0 -319
  505. package/dist/esm/nextjs/routeHandler.js.map +0 -1
  506. package/dist/esm/nextjs/utils.d.ts +0 -3
  507. package/dist/esm/nextjs/utils.d.ts.map +0 -1
  508. package/dist/esm/nextjs/utils.js +0 -5
  509. package/dist/esm/nextjs/utils.js.map +0 -1
  510. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  511. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  512. package/dist/esm/reactjs/components/ButtonContentOrLoader.js +0 -37
  513. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  514. package/dist/esm/reactjs/components/SignInButton.d.ts +0 -9
  515. package/dist/esm/reactjs/components/SignInButton.d.ts.map +0 -1
  516. package/dist/esm/reactjs/components/SignInButton.js +0 -28
  517. package/dist/esm/reactjs/components/SignInButton.js.map +0 -1
  518. package/dist/esm/reactjs/components/SignOutButton.d.ts +0 -7
  519. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +0 -1
  520. package/dist/esm/reactjs/components/SignOutButton.js +0 -24
  521. package/dist/esm/reactjs/components/SignOutButton.js.map +0 -1
  522. package/dist/esm/reactjs/components/UserButton.d.ts +0 -9
  523. package/dist/esm/reactjs/components/UserButton.d.ts.map +0 -1
  524. package/dist/esm/reactjs/components/UserButton.js +0 -142
  525. package/dist/esm/reactjs/components/UserButton.js.map +0 -1
  526. package/dist/esm/reactjs/components/index.d.ts +0 -6
  527. package/dist/esm/reactjs/components/index.d.ts.map +0 -1
  528. package/dist/esm/reactjs/components/index.js +0 -6
  529. package/dist/esm/reactjs/components/index.js.map +0 -1
  530. package/dist/esm/reactjs/components/utils.d.ts +0 -13
  531. package/dist/esm/reactjs/components/utils.d.ts.map +0 -1
  532. package/dist/esm/reactjs/components/utils.js +0 -27
  533. package/dist/esm/reactjs/components/utils.js.map +0 -1
  534. package/dist/esm/reactjs/hooks/index.d.ts +0 -3
  535. package/dist/esm/reactjs/hooks/index.d.ts.map +0 -1
  536. package/dist/esm/reactjs/hooks/index.js +0 -3
  537. package/dist/esm/reactjs/hooks/index.js.map +0 -1
  538. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  539. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  540. package/dist/esm/reactjs/hooks/useAuth.js +0 -12
  541. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  542. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  543. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  544. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  545. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  546. package/dist/esm/reactjs/hooks/useSignIn.d.ts +0 -6
  547. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +0 -1
  548. package/dist/esm/reactjs/hooks/useSignIn.js +0 -34
  549. package/dist/esm/reactjs/hooks/useSignIn.js.map +0 -1
  550. package/dist/esm/reactjs/hooks/useUser.d.ts +0 -4
  551. package/dist/esm/reactjs/hooks/useUser.d.ts.map +0 -1
  552. package/dist/esm/reactjs/hooks/useUser.js +0 -12
  553. package/dist/esm/reactjs/hooks/useUser.js.map +0 -1
  554. package/dist/esm/reactjs/index.d.ts +0 -6
  555. package/dist/esm/reactjs/index.d.ts.map +0 -1
  556. package/dist/esm/reactjs/index.js +0 -10
  557. package/dist/esm/reactjs/index.js.map +0 -1
  558. package/dist/esm/reactjs/providers/AuthProvider.d.ts +0 -10
  559. package/dist/esm/reactjs/providers/AuthProvider.d.ts.map +0 -1
  560. package/dist/esm/reactjs/providers/AuthProvider.js +0 -97
  561. package/dist/esm/reactjs/providers/AuthProvider.js.map +0 -1
  562. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  563. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  564. package/dist/esm/reactjs/providers/CivicAuthProvider.js +0 -27
  565. package/dist/esm/reactjs/providers/CivicAuthProvider.js.map +0 -1
  566. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  567. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  568. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -142
  569. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  570. package/dist/esm/reactjs/providers/index.d.ts +0 -8
  571. package/dist/esm/reactjs/providers/index.d.ts.map +0 -1
  572. package/dist/esm/reactjs/providers/index.js +0 -7
  573. package/dist/esm/reactjs/providers/index.js.map +0 -1
  574. package/dist/esm/server/ServerAuthenticationResolver.d.ts +0 -20
  575. package/dist/esm/server/ServerAuthenticationResolver.d.ts.map +0 -1
  576. package/dist/esm/server/ServerAuthenticationResolver.js +0 -67
  577. package/dist/esm/server/ServerAuthenticationResolver.js.map +0 -1
  578. package/dist/esm/server/config.d.ts +0 -11
  579. package/dist/esm/server/config.d.ts.map +0 -1
  580. package/dist/esm/server/config.js +0 -2
  581. package/dist/esm/server/config.js.map +0 -1
  582. package/dist/esm/server/index.d.ts +0 -9
  583. package/dist/esm/server/index.d.ts.map +0 -1
  584. package/dist/esm/server/index.js +0 -9
  585. package/dist/esm/server/index.js.map +0 -1
  586. package/dist/esm/server/login.d.ts +0 -17
  587. package/dist/esm/server/login.d.ts.map +0 -1
  588. package/dist/esm/server/login.js +0 -37
  589. package/dist/esm/server/login.js.map +0 -1
  590. package/dist/esm/server/logout.d.ts +0 -7
  591. package/dist/esm/server/logout.d.ts.map +0 -1
  592. package/dist/esm/server/logout.js +0 -23
  593. package/dist/esm/server/logout.js.map +0 -1
  594. package/dist/esm/server/refresh.d.ts +0 -7
  595. package/dist/esm/server/refresh.d.ts.map +0 -1
  596. package/dist/esm/server/refresh.js +0 -16
  597. package/dist/esm/server/refresh.js.map +0 -1
  598. package/dist/esm/services/AuthenticationService.d.ts +0 -93
  599. package/dist/esm/services/AuthenticationService.d.ts.map +0 -1
  600. package/dist/esm/services/AuthenticationService.js +0 -361
  601. package/dist/esm/services/AuthenticationService.js.map +0 -1
  602. package/dist/esm/services/PKCE.d.ts +0 -20
  603. package/dist/esm/services/PKCE.d.ts.map +0 -1
  604. package/dist/esm/services/PKCE.js +0 -44
  605. package/dist/esm/services/PKCE.js.map +0 -1
  606. package/dist/esm/services/types.d.ts +0 -24
  607. package/dist/esm/services/types.d.ts.map +0 -1
  608. package/dist/esm/services/types.js +0 -7
  609. package/dist/esm/services/types.js.map +0 -1
  610. package/dist/esm/shared/components/BlockDisplay.d.ts +0 -6
  611. package/dist/esm/shared/components/BlockDisplay.d.ts.map +0 -1
  612. package/dist/esm/shared/components/BlockDisplay.js +0 -29
  613. package/dist/esm/shared/components/BlockDisplay.js.map +0 -1
  614. package/dist/esm/shared/components/CivicAuthIframe.d.ts +0 -9
  615. package/dist/esm/shared/components/CivicAuthIframe.d.ts.map +0 -1
  616. package/dist/esm/shared/components/CivicAuthIframe.js +0 -33
  617. package/dist/esm/shared/components/CivicAuthIframe.js.map +0 -1
  618. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  619. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  620. package/dist/esm/shared/components/CivicAuthIframeContainer.js +0 -154
  621. package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +0 -1
  622. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  623. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  624. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js +0 -19
  625. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  626. package/dist/esm/shared/components/CloseIcon.d.ts +0 -3
  627. package/dist/esm/shared/components/CloseIcon.d.ts.map +0 -1
  628. package/dist/esm/shared/components/CloseIcon.js +0 -5
  629. package/dist/esm/shared/components/CloseIcon.js.map +0 -1
  630. package/dist/esm/shared/components/IFrameAndLoading.d.ts +0 -7
  631. package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +0 -1
  632. package/dist/esm/shared/components/IFrameAndLoading.js +0 -36
  633. package/dist/esm/shared/components/IFrameAndLoading.js.map +0 -1
  634. package/dist/esm/shared/components/LoadingIcon.d.ts +0 -6
  635. package/dist/esm/shared/components/LoadingIcon.d.ts.map +0 -1
  636. package/dist/esm/shared/components/LoadingIcon.js +0 -26
  637. package/dist/esm/shared/components/LoadingIcon.js.map +0 -1
  638. package/dist/esm/shared/components/SVGLoading.d.ts +0 -4
  639. package/dist/esm/shared/components/SVGLoading.d.ts.map +0 -1
  640. package/dist/esm/shared/components/SVGLoading.js +0 -28
  641. package/dist/esm/shared/components/SVGLoading.js.map +0 -1
  642. package/dist/esm/shared/hooks/index.d.ts +0 -11
  643. package/dist/esm/shared/hooks/index.d.ts.map +0 -1
  644. package/dist/esm/shared/hooks/index.js +0 -11
  645. package/dist/esm/shared/hooks/index.js.map +0 -1
  646. package/dist/esm/shared/hooks/useAuth.d.ts +0 -3
  647. package/dist/esm/shared/hooks/useAuth.d.ts.map +0 -1
  648. package/dist/esm/shared/hooks/useAuth.js +0 -12
  649. package/dist/esm/shared/hooks/useAuth.js.map +0 -1
  650. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  651. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  652. package/dist/esm/shared/hooks/useCivicAuthConfig.js +0 -10
  653. package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +0 -1
  654. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  655. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  656. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  657. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  658. package/dist/esm/shared/hooks/useCurrentUrl.d.ts +0 -3
  659. package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  660. package/dist/esm/shared/hooks/useCurrentUrl.js +0 -24
  661. package/dist/esm/shared/hooks/useCurrentUrl.js.map +0 -1
  662. package/dist/esm/shared/hooks/useIframe.d.ts +0 -3
  663. package/dist/esm/shared/hooks/useIframe.d.ts.map +0 -1
  664. package/dist/esm/shared/hooks/useIframe.js +0 -13
  665. package/dist/esm/shared/hooks/useIframe.js.map +0 -1
  666. package/dist/esm/shared/hooks/useIsInIframe.d.ts +0 -3
  667. package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +0 -1
  668. package/dist/esm/shared/hooks/useIsInIframe.js +0 -14
  669. package/dist/esm/shared/hooks/useIsInIframe.js.map +0 -1
  670. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  671. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  672. package/dist/esm/shared/hooks/useOAuthEndpoints.js +0 -14
  673. package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +0 -1
  674. package/dist/esm/shared/hooks/useRefresh.d.ts +0 -6
  675. package/dist/esm/shared/hooks/useRefresh.d.ts.map +0 -1
  676. package/dist/esm/shared/hooks/useRefresh.js +0 -46
  677. package/dist/esm/shared/hooks/useRefresh.js.map +0 -1
  678. package/dist/esm/shared/hooks/useSession.d.ts +0 -3
  679. package/dist/esm/shared/hooks/useSession.d.ts.map +0 -1
  680. package/dist/esm/shared/hooks/useSession.js +0 -13
  681. package/dist/esm/shared/hooks/useSession.js.map +0 -1
  682. package/dist/esm/shared/hooks/useSignIn.d.ts +0 -17
  683. package/dist/esm/shared/hooks/useSignIn.d.ts.map +0 -1
  684. package/dist/esm/shared/hooks/useSignIn.js +0 -168
  685. package/dist/esm/shared/hooks/useSignIn.js.map +0 -1
  686. package/dist/esm/shared/hooks/useToken.d.ts +0 -3
  687. package/dist/esm/shared/hooks/useToken.d.ts.map +0 -1
  688. package/dist/esm/shared/hooks/useToken.js +0 -12
  689. package/dist/esm/shared/hooks/useToken.js.map +0 -1
  690. package/dist/esm/shared/hooks/useWindowFocused.d.ts +0 -5
  691. package/dist/esm/shared/hooks/useWindowFocused.d.ts.map +0 -1
  692. package/dist/esm/shared/hooks/useWindowFocused.js +0 -21
  693. package/dist/esm/shared/hooks/useWindowFocused.js.map +0 -1
  694. package/dist/esm/shared/index.d.ts +0 -7
  695. package/dist/esm/shared/index.d.ts.map +0 -1
  696. package/dist/esm/shared/index.js +0 -18
  697. package/dist/esm/shared/index.js.map +0 -1
  698. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts +0 -14
  699. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  700. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js +0 -51
  701. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  702. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.d.ts +0 -11
  703. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.d.ts.map +0 -1
  704. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.js +0 -59
  705. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.js.map +0 -1
  706. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +0 -9
  707. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  708. package/dist/esm/shared/lib/BrowserCookieStorage.js +0 -56
  709. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +0 -1
  710. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +0 -14
  711. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  712. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +0 -34
  713. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  714. package/dist/esm/shared/lib/UserSession.d.ts +0 -17
  715. package/dist/esm/shared/lib/UserSession.d.ts.map +0 -1
  716. package/dist/esm/shared/lib/UserSession.js +0 -23
  717. package/dist/esm/shared/lib/UserSession.js.map +0 -1
  718. package/dist/esm/shared/lib/iframeUtils.d.ts +0 -6
  719. package/dist/esm/shared/lib/iframeUtils.d.ts.map +0 -1
  720. package/dist/esm/shared/lib/iframeUtils.js +0 -7
  721. package/dist/esm/shared/lib/iframeUtils.js.map +0 -1
  722. package/dist/esm/shared/lib/session.d.ts +0 -4
  723. package/dist/esm/shared/lib/session.d.ts.map +0 -1
  724. package/dist/esm/shared/lib/session.js +0 -44
  725. package/dist/esm/shared/lib/session.js.map +0 -1
  726. package/dist/esm/shared/lib/storage.d.ts +0 -35
  727. package/dist/esm/shared/lib/storage.d.ts.map +0 -1
  728. package/dist/esm/shared/lib/storage.js +0 -17
  729. package/dist/esm/shared/lib/storage.js.map +0 -1
  730. package/dist/esm/shared/lib/types.d.ts +0 -39
  731. package/dist/esm/shared/lib/types.d.ts.map +0 -1
  732. package/dist/esm/shared/lib/types.js +0 -19
  733. package/dist/esm/shared/lib/types.js.map +0 -1
  734. package/dist/esm/shared/lib/util.d.ts +0 -40
  735. package/dist/esm/shared/lib/util.d.ts.map +0 -1
  736. package/dist/esm/shared/lib/util.js +0 -200
  737. package/dist/esm/shared/lib/util.js.map +0 -1
  738. package/dist/esm/shared/providers/AuthContext.d.ts +0 -12
  739. package/dist/esm/shared/providers/AuthContext.d.ts.map +0 -1
  740. package/dist/esm/shared/providers/AuthContext.js +0 -4
  741. package/dist/esm/shared/providers/AuthContext.js.map +0 -1
  742. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  743. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  744. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  745. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  746. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  747. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  748. package/dist/esm/shared/providers/CivicAuthConfigContext.js +0 -55
  749. package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +0 -1
  750. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  751. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  752. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  753. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  754. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  755. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  756. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  757. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  758. package/dist/esm/shared/providers/IframeProvider.d.ts +0 -25
  759. package/dist/esm/shared/providers/IframeProvider.d.ts.map +0 -1
  760. package/dist/esm/shared/providers/IframeProvider.js +0 -59
  761. package/dist/esm/shared/providers/IframeProvider.js.map +0 -1
  762. package/dist/esm/shared/providers/SessionProvider.d.ts +0 -19
  763. package/dist/esm/shared/providers/SessionProvider.d.ts.map +0 -1
  764. package/dist/esm/shared/providers/SessionProvider.js +0 -24
  765. package/dist/esm/shared/providers/SessionProvider.js.map +0 -1
  766. package/dist/esm/shared/providers/TokenProvider.d.ts +0 -17
  767. package/dist/esm/shared/providers/TokenProvider.d.ts.map +0 -1
  768. package/dist/esm/shared/providers/TokenProvider.js +0 -35
  769. package/dist/esm/shared/providers/TokenProvider.js.map +0 -1
  770. package/dist/esm/shared/providers/UserProvider.d.ts +0 -26
  771. package/dist/esm/shared/providers/UserProvider.d.ts.map +0 -1
  772. package/dist/esm/shared/providers/UserProvider.js +0 -65
  773. package/dist/esm/shared/providers/UserProvider.js.map +0 -1
  774. package/dist/esm/shared/providers/types.d.ts +0 -15
  775. package/dist/esm/shared/providers/types.d.ts.map +0 -1
  776. package/dist/esm/shared/providers/types.js +0 -2
  777. package/dist/esm/shared/providers/types.js.map +0 -1
  778. package/dist/esm/shared/version.d.ts +0 -2
  779. package/dist/esm/shared/version.d.ts.map +0 -1
  780. package/dist/esm/shared/version.js +0 -3
  781. package/dist/esm/shared/version.js.map +0 -1
  782. package/dist/esm/types.d.ts +0 -163
  783. package/dist/esm/types.d.ts.map +0 -1
  784. package/dist/esm/types.js +0 -17
  785. package/dist/esm/types.js.map +0 -1
  786. package/dist/esm/utils.d.ts +0 -15
  787. package/dist/esm/utils.d.ts.map +0 -1
  788. package/dist/esm/utils.js +0 -42
  789. package/dist/esm/utils.js.map +0 -1
  790. package/dist/esm/version.d.ts +0 -2
  791. package/dist/esm/version.d.ts.map +0 -1
  792. package/dist/esm/version.js +0 -3
  793. package/dist/esm/version.js.map +0 -1
  794. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  795. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUser = getUser;
4
- exports.getTokens = getTokens;
5
- const util_js_1 = require("../../shared/lib/util.js");
6
- const jose_1 = require("jose");
7
- const types_js_1 = require("../../types.js");
8
- const constants_js_1 = require("../../constants.js");
9
- // Function to omit keys from an object
10
- const omitKeys = (keys, obj) => {
11
- const result = { ...obj };
12
- keys.forEach((key) => {
13
- delete result[key];
14
- });
15
- return result;
16
- };
17
- const parseJWTToType = (jwt) => {
18
- const parseResult = (0, jose_1.decodeJwt)(jwt);
19
- return parseResult;
20
- };
21
- async function getUser(storage) {
22
- const tokens = await (0, util_js_1.retrieveTokens)(storage);
23
- if (!tokens)
24
- return null;
25
- const parsedToken = parseJWTToType(tokens.id_token);
26
- // it might be preferable to throw here
27
- if (!parsedToken.sub)
28
- return null;
29
- // set the user ID from the token sub
30
- const userWithAdditionalTokenFields = {
31
- ...parsedToken,
32
- id: parsedToken.sub,
33
- };
34
- // Assumes all information is in the ID token
35
- // remove the token keys from the user object to stop it getting too large
36
- return omitKeys([...constants_js_1.JWT_PAYLOAD_KNOWN_CLAIM_KEYS, ...types_js_1.tokenKeys], userWithAdditionalTokenFields);
37
- }
38
- async function getTokens(storage) {
39
- const storageData = await (0, util_js_1.retrieveTokens)(storage);
40
- if (!storageData)
41
- return null;
42
- return {
43
- idToken: storageData.id_token,
44
- accessToken: storageData.access_token,
45
- refreshToken: storageData.refresh_token,
46
- };
47
- }
48
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/shared/lib/session.ts"],"names":[],"mappings":";;AA+BA,0BAsBC;AAED,8BAWC;AAlED,kDAAsD;AACtD,+BAAkD;AAClD,yCAOoB;AACpB,iDAA8D;AAE9D,uCAAuC;AACvC,MAAM,QAAQ,GAAG,CACf,IAAS,EACT,GAAM,EACM,EAAE;IACd,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,GAAW,EACK,EAAE;IAClB,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,GAAG,CAAC,CAAC;IACnC,OAAO,WAA6B,CAAC;AACvC,CAAC,CAAC;AAEK,KAAK,UAAU,OAAO,CAC3B,OAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,WAAW,GAAG,cAAc,CAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,uCAAuC;IACvC,IAAI,CAAC,WAAW,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAElC,qCAAqC;IACrC,MAAM,6BAA6B,GAAG;QACpC,GAAI,WAAiB;QACrB,EAAE,EAAE,WAAW,CAAC,GAAG;KACpB,CAAC;IAEF,6CAA6C;IAC7C,0EAA0E;IAC1E,OAAO,QAAQ,CACb,CAAC,GAAG,2CAA4B,EAAE,GAAG,oBAAS,CAAC,EAC/C,6BAA6B,CACnB,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,OAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,QAAQ;QAC7B,WAAW,EAAE,WAAW,CAAC,YAAY;QACrC,YAAY,EAAE,WAAW,CAAC,aAAa;KACxC,CAAC;AACJ,CAAC","sourcesContent":["import { retrieveTokens } from \"@/shared/lib/util.js\";\nimport { decodeJwt, type JWTPayload } from \"jose\";\nimport {\n tokenKeys,\n type AuthStorage,\n type OAuthTokens,\n type User,\n type EmptyObject,\n type UnknownObject,\n} from \"@/types.js\";\nimport { JWT_PAYLOAD_KNOWN_CLAIM_KEYS } from \"@/constants.js\";\n\n// Function to omit keys from an object\nconst omitKeys = <K extends keyof T, T extends Record<string, unknown>>(\n keys: K[],\n obj: T,\n): Omit<T, K> => {\n const result = { ...obj };\n keys.forEach((key) => {\n delete result[key];\n });\n return result;\n};\n\nconst parseJWTToType = <T extends UnknownObject = EmptyObject>(\n jwt: string,\n): JWTPayload & T => {\n const parseResult = decodeJwt(jwt);\n return parseResult as JWTPayload & T;\n};\n\nexport async function getUser<T extends UnknownObject = EmptyObject>(\n storage: AuthStorage,\n): Promise<User<T> | null> {\n const tokens = await retrieveTokens(storage);\n if (!tokens) return null;\n\n const parsedToken = parseJWTToType<T>(tokens.id_token);\n // it might be preferable to throw here\n if (!parsedToken.sub) return null;\n\n // set the user ID from the token sub\n const userWithAdditionalTokenFields = {\n ...(parsedToken as T),\n id: parsedToken.sub,\n };\n\n // Assumes all information is in the ID token\n // remove the token keys from the user object to stop it getting too large\n return omitKeys(\n [...JWT_PAYLOAD_KNOWN_CLAIM_KEYS, ...tokenKeys],\n userWithAdditionalTokenFields,\n ) as User<T>;\n}\n\nexport async function getTokens(\n storage: AuthStorage,\n): Promise<OAuthTokens | null> {\n const storageData = await retrieveTokens(storage);\n if (!storageData) return null;\n\n return {\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n };\n}\n"]}
@@ -1,35 +0,0 @@
1
- import type { AuthStorage, SessionData, UnknownObject, User } from "../../types.js";
2
- import type { CookieConfig } from "./types.js";
3
- type SameSiteOption = "strict" | "lax" | "none";
4
- export interface SessionStorage {
5
- get(): SessionData;
6
- getUser(): User<UnknownObject> | null;
7
- set(data: Partial<SessionData>): void;
8
- setUser(data: User<UnknownObject> | null): void;
9
- clear(): void;
10
- }
11
- export type CookieStorageSettings = {
12
- httpOnly: boolean;
13
- secure: boolean;
14
- sameSite: SameSiteOption;
15
- expires: Date;
16
- path: string;
17
- };
18
- export declare const DEFAULT_COOKIE_DURATION: number;
19
- export declare abstract class CookieStorage implements AuthStorage {
20
- protected settings: CookieStorageSettings;
21
- protected constructor(settings?: Partial<CookieStorageSettings>);
22
- abstract get(key: string): Promise<string | null>;
23
- abstract set(key: string, value: string, cookieConfigOverride?: Partial<CookieConfig>): Promise<void>;
24
- abstract delete(key: string): Promise<void>;
25
- }
26
- export type AuthCookieStorageSettings = {
27
- httpOnly: boolean;
28
- secure: boolean;
29
- sameSite: SameSiteOption;
30
- expires: Date;
31
- path: string;
32
- timestamp: Date;
33
- };
34
- export {};
35
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,WAAW,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACtC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAU,CAAC;AAE/C,8BAAsB,aAAc,YAAW,WAAW;IACxD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,aAAa,QAAQ,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAanE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,GAAG,CACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,oBAAoB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC;IAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CookieStorage = exports.DEFAULT_COOKIE_DURATION = void 0;
4
- exports.DEFAULT_COOKIE_DURATION = 60 * 15; // 15 minutes
5
- class CookieStorage {
6
- settings;
7
- constructor(settings = {}) {
8
- this.settings = {
9
- httpOnly: settings.httpOnly ?? true,
10
- secure: settings.secure ?? true,
11
- // the callback request comes the auth server
12
- // 'lax' ensures the code_verifier cookie is sent with the request
13
- sameSite: settings.sameSite ?? "lax",
14
- expires: settings.expires ??
15
- new Date(Date.now() + 1000 * exports.DEFAULT_COOKIE_DURATION),
16
- path: settings.path ?? "/",
17
- };
18
- }
19
- }
20
- exports.CookieStorage = CookieStorage;
21
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/shared/lib/storage.ts"],"names":[],"mappings":";;;AAqBa,QAAA,uBAAuB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;AAE7D,MAAsB,aAAa;IACvB,QAAQ,CAAwB;IAC1C,YAAsB,WAA2C,EAAE;QACjE,IAAI,CAAC,QAAQ,GAAG;YACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;YACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;YAC/B,6CAA6C;YAC7C,kEAAkE;YAClE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;YACpC,OAAO,EACL,QAAQ,CAAC,OAAO;gBAChB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,+BAAuB,CAAC;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,GAAG;SAC3B,CAAC;IACJ,CAAC;CAQF;AAtBD,sCAsBC","sourcesContent":["import type { AuthStorage, SessionData, UnknownObject, User } from \"@/types.js\";\nimport type { CookieConfig } from \"./types.js\";\n\ntype SameSiteOption = \"strict\" | \"lax\" | \"none\";\n\nexport interface SessionStorage {\n get(): SessionData;\n getUser(): User<UnknownObject> | null;\n set(data: Partial<SessionData>): void;\n setUser(data: User<UnknownObject> | null): void;\n clear(): void;\n}\n\nexport type CookieStorageSettings = {\n httpOnly: boolean;\n secure: boolean;\n sameSite: SameSiteOption;\n expires: Date;\n path: string;\n};\n\nexport const DEFAULT_COOKIE_DURATION = 60 * 15; // 15 minutes\n\nexport abstract class CookieStorage implements AuthStorage {\n protected settings: CookieStorageSettings;\n protected constructor(settings: Partial<CookieStorageSettings> = {}) {\n this.settings = {\n httpOnly: settings.httpOnly ?? true,\n secure: settings.secure ?? true,\n // the callback request comes the auth server\n // 'lax' ensures the code_verifier cookie is sent with the request\n sameSite: settings.sameSite ?? \"lax\",\n expires:\n settings.expires ??\n new Date(Date.now() + 1000 * DEFAULT_COOKIE_DURATION),\n path: settings.path ?? \"/\",\n };\n }\n abstract get(key: string): Promise<string | null>;\n abstract set(\n key: string,\n value: string,\n cookieConfigOverride?: Partial<CookieConfig>,\n ): Promise<void>;\n abstract delete(key: string): Promise<void>;\n}\n\nexport type AuthCookieStorageSettings = {\n httpOnly: boolean;\n secure: boolean;\n sameSite: SameSiteOption;\n expires: Date;\n path: string;\n timestamp: Date;\n};\n"]}
@@ -1,39 +0,0 @@
1
- import type { Endpoints } from "../../types.js";
2
- export declare enum OAuthTokens {
3
- ID_TOKEN = "id_token",
4
- ACCESS_TOKEN = "access_token",
5
- REFRESH_TOKEN = "refresh_token",
6
- ACCESS_TOKEN_EXPIRES_AT = "access_token_expires_at"
7
- }
8
- export declare const AUTH_SERVER_SESSION = "_session";
9
- export declare const AUTH_SERVER_LEGACY_SESSION = "_session.legacy";
10
- export declare enum CodeVerifier {
11
- COOKIE_NAME = "code_verifier",
12
- APP_URL = "app_url"
13
- }
14
- export declare enum UserStorage {
15
- USER = "user"
16
- }
17
- export interface CookieConfig {
18
- secure?: boolean;
19
- sameSite?: "strict" | "lax" | "none";
20
- domain?: string;
21
- path?: string;
22
- maxAge?: number;
23
- httpOnly?: boolean;
24
- }
25
- export type KeySetter = OAuthTokens | CodeVerifier | UserStorage;
26
- export type TokensCookieConfig = Record<OAuthTokens | CodeVerifier, CookieConfig>;
27
- export type CivicAuthConfig = null | {
28
- clientId: string;
29
- redirectUrl: string;
30
- logoutRedirectUrl: string;
31
- oauthServer: string;
32
- endpoints: Endpoints;
33
- scopes: string[];
34
- nonce?: string;
35
- challengeUrl?: string;
36
- refreshUrl?: string;
37
- logoutUrl?: string;
38
- };
39
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,uBAAuB,4BAA4B;CACpD;AAED,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAE5D,oBAAY,YAAY;IACtB,WAAW,kBAAkB;IAC7B,OAAO,YAAY;CACpB;AACD,oBAAY,WAAW;IACrB,IAAI,SAAS;CACd;AACD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC,WAAW,GAAG,YAAY,EAC1B,YAAY,CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserStorage = exports.CodeVerifier = exports.AUTH_SERVER_LEGACY_SESSION = exports.AUTH_SERVER_SESSION = exports.OAuthTokens = void 0;
4
- var OAuthTokens;
5
- (function (OAuthTokens) {
6
- OAuthTokens["ID_TOKEN"] = "id_token";
7
- OAuthTokens["ACCESS_TOKEN"] = "access_token";
8
- OAuthTokens["REFRESH_TOKEN"] = "refresh_token";
9
- OAuthTokens["ACCESS_TOKEN_EXPIRES_AT"] = "access_token_expires_at";
10
- })(OAuthTokens || (exports.OAuthTokens = OAuthTokens = {}));
11
- exports.AUTH_SERVER_SESSION = "_session";
12
- exports.AUTH_SERVER_LEGACY_SESSION = "_session.legacy";
13
- var CodeVerifier;
14
- (function (CodeVerifier) {
15
- CodeVerifier["COOKIE_NAME"] = "code_verifier";
16
- CodeVerifier["APP_URL"] = "app_url";
17
- })(CodeVerifier || (exports.CodeVerifier = CodeVerifier = {}));
18
- var UserStorage;
19
- (function (UserStorage) {
20
- UserStorage["USER"] = "user";
21
- })(UserStorage || (exports.UserStorage = UserStorage = {}));
22
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/shared/lib/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4CAA6B,CAAA;IAC7B,8CAA+B,CAAA;IAC/B,kEAAmD,CAAA;AACrD,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAEY,QAAA,mBAAmB,GAAG,UAAU,CAAC;AACjC,QAAA,0BAA0B,GAAG,iBAAiB,CAAC;AAE5D,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AACD,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,4BAAa,CAAA;AACf,CAAC,EAFW,WAAW,2BAAX,WAAW,QAEtB","sourcesContent":["import type { Endpoints } from \"@/types.js\";\n\nexport enum OAuthTokens {\n ID_TOKEN = \"id_token\",\n ACCESS_TOKEN = \"access_token\",\n REFRESH_TOKEN = \"refresh_token\",\n ACCESS_TOKEN_EXPIRES_AT = \"access_token_expires_at\",\n}\n\nexport const AUTH_SERVER_SESSION = \"_session\";\nexport const AUTH_SERVER_LEGACY_SESSION = \"_session.legacy\";\n\nexport enum CodeVerifier {\n COOKIE_NAME = \"code_verifier\",\n APP_URL = \"app_url\",\n}\nexport enum UserStorage {\n USER = \"user\",\n}\nexport interface CookieConfig {\n secure?: boolean;\n sameSite?: \"strict\" | \"lax\" | \"none\";\n domain?: string;\n path?: string;\n maxAge?: number;\n httpOnly?: boolean;\n}\nexport type KeySetter = OAuthTokens | CodeVerifier | UserStorage;\n\nexport type TokensCookieConfig = Record<\n OAuthTokens | CodeVerifier,\n CookieConfig\n>;\n\nexport type CivicAuthConfig = null | {\n clientId: string;\n redirectUrl: string;\n logoutRedirectUrl: string;\n oauthServer: string;\n endpoints: Endpoints;\n scopes: string[];\n nonce?: string;\n challengeUrl?: string;\n refreshUrl?: string;\n logoutUrl?: string;\n};\n"]}
@@ -1,40 +0,0 @@
1
- import type { AuthStorage, Endpoints, OIDCTokenResponseBody, ParsedTokens } from "../../types.js";
2
- import { OAuth2Client } from "oslo/oauth2";
3
- import type { PKCEConsumer, PKCEProducer } from "../../services/types.js";
4
- import type { CookieStorage } from "./storage.js";
5
- /**
6
- * Given a PKCE code verifier, derive the code challenge using SHA
7
- */
8
- export declare function deriveCodeChallenge(codeVerifier: string, method?: "Plain" | "S256"): Promise<string>;
9
- export declare function getEndpointsWithOverrides(oauthServer: string, endpointOverrides?: Partial<Endpoints>): Promise<Endpoints>;
10
- export declare function generateOauthLoginUrl(config: {
11
- clientId: string;
12
- scopes: string[];
13
- state: string;
14
- redirectUrl: string;
15
- oauthServer: string;
16
- nonce?: string;
17
- endpointOverrides?: Partial<Endpoints>;
18
- pkceConsumer: PKCEConsumer;
19
- }): Promise<URL>;
20
- export declare function generateOauthLogoutUrl(config: {
21
- clientId: string;
22
- redirectUrl: string;
23
- idToken: string;
24
- state: string;
25
- oauthServer: string;
26
- endpointOverrides?: Partial<Endpoints>;
27
- }): Promise<URL>;
28
- export declare function buildOauth2Client(clientId: string, redirectUri: string, endpoints: Endpoints): OAuth2Client;
29
- export declare function exchangeTokens(code: string, state: string, pkceProducer: PKCEProducer, oauth2Client: OAuth2Client, oauthServer: string, endpoints: Endpoints): Promise<OIDCTokenResponseBody>;
30
- export declare const getAccessTokenExpiresAt: (tokens: OIDCTokenResponseBody) => number;
31
- export declare function setAccessTokenExpiresAt(storage: AuthStorage | CookieStorage, tokens: OIDCTokenResponseBody): Promise<void>;
32
- export declare function storeTokens(storage: AuthStorage, tokens: OIDCTokenResponseBody): Promise<void>;
33
- export declare function storeServerTokens(storage: AuthStorage | CookieStorage, tokens: OIDCTokenResponseBody): Promise<void>;
34
- export declare function clearTokens(storage: AuthStorage): Promise<void>;
35
- export declare function clearAuthServerSession(storage: AuthStorage): Promise<void>;
36
- export declare function clearUser(storage: AuthStorage): Promise<void>;
37
- export declare function retrieveTokens(storage: AuthStorage): Promise<OIDCTokenResponseBody | null>;
38
- export declare function retrieveAccessTokenExpiresAt(storage: AuthStorage): Promise<number>;
39
- export declare function validateOauth2Tokens(tokens: OIDCTokenResponseBody, endpoints: Endpoints, oauth2Client: OAuth2Client, issuer: string): Promise<ParsedTokens>;
40
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAOlD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,OAAO,GAAG,MAAe,GAChC,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,iBAAiB,GAAE,OAAO,CAAC,SAAS,CAAM,GACzC,OAAO,CAAC,SAAS,CAAC,CAMpB;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Bf;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACxC,GAAG,OAAO,CAAC,GAAG,CAAC,CAcf;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,YAAY,CAId;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,kCAoBrB;AAED,eAAO,MAAM,uBAAuB,WAC1B,qBAAqB,KAC5B,MAUF,CAAC;AACF,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,WAAW,GAAG,aAAa,EACpC,MAAM,EAAE,qBAAqB,iBAQ9B;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,qBAAqB,iBAQ9B;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GAAG,aAAa,EACpC,MAAM,EAAE,qBAAqB,iBA8C9B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAYrD;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,WAAW,iBAGhE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,iBAGnD;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAkBvC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CA2BvB"}
@@ -1,252 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getAccessTokenExpiresAt = void 0;
37
- exports.deriveCodeChallenge = deriveCodeChallenge;
38
- exports.getEndpointsWithOverrides = getEndpointsWithOverrides;
39
- exports.generateOauthLoginUrl = generateOauthLoginUrl;
40
- exports.generateOauthLogoutUrl = generateOauthLogoutUrl;
41
- exports.buildOauth2Client = buildOauth2Client;
42
- exports.exchangeTokens = exchangeTokens;
43
- exports.setAccessTokenExpiresAt = setAccessTokenExpiresAt;
44
- exports.storeTokens = storeTokens;
45
- exports.storeServerTokens = storeServerTokens;
46
- exports.clearTokens = clearTokens;
47
- exports.clearAuthServerSession = clearAuthServerSession;
48
- exports.clearUser = clearUser;
49
- exports.retrieveTokens = retrieveTokens;
50
- exports.retrieveAccessTokenExpiresAt = retrieveAccessTokenExpiresAt;
51
- exports.validateOauth2Tokens = validateOauth2Tokens;
52
- const types_js_1 = require("./types.js");
53
- const oauth2_1 = require("oslo/oauth2");
54
- const oauth_js_1 = require("../../lib/oauth.js");
55
- const jose = __importStar(require("jose"));
56
- const utils_js_1 = require("../../utils.js");
57
- const UserSession_js_1 = require("../../shared/lib/UserSession.js");
58
- const jose_1 = require("jose");
59
- const constants_js_1 = require("../../constants.js");
60
- /**
61
- * Given a PKCE code verifier, derive the code challenge using SHA
62
- */
63
- async function deriveCodeChallenge(codeVerifier, method = "S256") {
64
- if (method === "Plain") {
65
- console.warn("Using insecure plain code challenge method");
66
- return codeVerifier;
67
- }
68
- const encoder = new TextEncoder();
69
- const data = encoder.encode(codeVerifier);
70
- const digest = await crypto.subtle.digest("SHA-256", data);
71
- return btoa(String.fromCharCode(...new Uint8Array(digest)))
72
- .replace(/\+/g, "-")
73
- .replace(/\//g, "_")
74
- .replace(/=+$/, "");
75
- }
76
- async function getEndpointsWithOverrides(oauthServer, endpointOverrides = {}) {
77
- const endpoints = await (0, oauth_js_1.getOauthEndpoints)(oauthServer);
78
- return {
79
- ...endpoints,
80
- ...endpointOverrides,
81
- };
82
- }
83
- async function generateOauthLoginUrl(config) {
84
- const endpoints = await getEndpointsWithOverrides(config.oauthServer, config.endpointOverrides);
85
- const oauth2Client = buildOauth2Client(config.clientId, config.redirectUrl, endpoints);
86
- const challenge = await config.pkceConsumer.getCodeChallenge();
87
- const oAuthUrl = await oauth2Client.createAuthorizationURL({
88
- state: config.state,
89
- scopes: config.scopes,
90
- });
91
- // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source
92
- // It only allows passing in a code verifier which it then hashes itself.
93
- oAuthUrl.searchParams.append("code_challenge", challenge);
94
- oAuthUrl.searchParams.append("code_challenge_method", "S256");
95
- if (config.nonce) {
96
- // nonce isn't supported by oslo, so we add it manually
97
- oAuthUrl.searchParams.append("nonce", config.nonce);
98
- }
99
- // Required by the auth server for offline_access scope
100
- oAuthUrl.searchParams.append("prompt", "consent");
101
- return oAuthUrl;
102
- }
103
- async function generateOauthLogoutUrl(config) {
104
- const endpoints = await getEndpointsWithOverrides(config.oauthServer, config.endpointOverrides);
105
- const endSessionUrl = new URL(endpoints.endsession);
106
- endSessionUrl.searchParams.append("client_id", config.clientId);
107
- endSessionUrl.searchParams.append("id_token_hint", config.idToken);
108
- endSessionUrl.searchParams.append("state", config.state);
109
- endSessionUrl.searchParams.append("post_logout_redirect_uri", config.redirectUrl);
110
- return endSessionUrl;
111
- }
112
- function buildOauth2Client(clientId, redirectUri, endpoints) {
113
- return new oauth2_1.OAuth2Client(clientId, endpoints.auth, endpoints.token, {
114
- redirectURI: redirectUri,
115
- });
116
- }
117
- async function exchangeTokens(code, state, pkceProducer, oauth2Client, oauthServer, endpoints) {
118
- const codeVerifier = await pkceProducer.getCodeVerifier();
119
- if (!codeVerifier)
120
- throw new Error("Code verifier not found in state");
121
- const tokens = await oauth2Client.validateAuthorizationCode(code, {
122
- codeVerifier,
123
- });
124
- // Validate relevant tokens
125
- try {
126
- await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);
127
- }
128
- catch (error) {
129
- console.error("tokenExchange error", { error, tokens });
130
- throw new Error(`OIDC tokens validation failed: ${error.message}`);
131
- }
132
- return tokens;
133
- }
134
- const getAccessTokenExpiresAt = (tokens) => {
135
- const parsedAccessToken = (0, jose_1.decodeJwt)(tokens.access_token);
136
- if (parsedAccessToken?.exp || false) {
137
- return parsedAccessToken.exp;
138
- }
139
- else if (tokens.expires_in) {
140
- const now = Math.floor(new Date().getTime() / 1000);
141
- return now + tokens.expires_in;
142
- }
143
- else {
144
- throw new Error("Cannot determine access token expiry!");
145
- }
146
- };
147
- exports.getAccessTokenExpiresAt = getAccessTokenExpiresAt;
148
- async function setAccessTokenExpiresAt(storage, tokens) {
149
- // try to extract absolute expiry time from access token but fallback to calculation if not possible
150
- const accessTokenExpiresAt = (0, exports.getAccessTokenExpiresAt)(tokens);
151
- await storage.set(types_js_1.OAuthTokens.ACCESS_TOKEN_EXPIRES_AT, accessTokenExpiresAt.toString());
152
- }
153
- async function storeTokens(storage, tokens) {
154
- await storage.set(types_js_1.OAuthTokens.ID_TOKEN, tokens.id_token);
155
- await storage.set(types_js_1.OAuthTokens.ACCESS_TOKEN, tokens.access_token);
156
- if (tokens.refresh_token) {
157
- await storage.set(types_js_1.OAuthTokens.REFRESH_TOKEN, tokens.refresh_token);
158
- }
159
- await setAccessTokenExpiresAt(storage, tokens);
160
- }
161
- async function storeServerTokens(storage, tokens) {
162
- const accessTokenExpiresAt = (0, exports.getAccessTokenExpiresAt)(tokens);
163
- const cookieStorage = storage;
164
- const now = Math.floor(Date.now() / 1000);
165
- const accessTokenMaxAge = accessTokenExpiresAt && accessTokenExpiresAt - now;
166
- console.log("storeServerTokens timestamps", {
167
- now,
168
- accessTokenMaxAge,
169
- accessTokenExpiresAt,
170
- });
171
- const cookiesOverride = {
172
- ...(accessTokenMaxAge ? { maxAge: accessTokenMaxAge } : {}),
173
- };
174
- // the refresh token must be longer-lived than the access token max age to allow time for automatic refresh
175
- // as it's not a JWT, we derive it from the access token max age and add a margin
176
- const refreshTokenMaxAge = accessTokenMaxAge && accessTokenMaxAge + 5 * 60;
177
- const refreshCookiesOverride = {
178
- ...(refreshTokenMaxAge ? { maxAge: refreshTokenMaxAge } : {}),
179
- };
180
- console.log("storeServerTokens overrides", {
181
- cookiesOverride,
182
- refreshCookiesOverride,
183
- });
184
- const idTokenExpiry = (0, jose_1.decodeJwt)(tokens.id_token)?.exp;
185
- const idTokenMaxAge = idTokenExpiry && idTokenExpiry - now;
186
- await cookieStorage.set(types_js_1.OAuthTokens.ID_TOKEN, tokens.id_token, {
187
- ...(idTokenMaxAge ? { maxAge: idTokenMaxAge } : {}),
188
- });
189
- await cookieStorage.set(types_js_1.OAuthTokens.ACCESS_TOKEN, tokens.access_token, cookiesOverride);
190
- if (tokens.refresh_token) {
191
- await cookieStorage.set(types_js_1.OAuthTokens.REFRESH_TOKEN, tokens.refresh_token, refreshCookiesOverride);
192
- }
193
- await storage.set(types_js_1.OAuthTokens.ACCESS_TOKEN_EXPIRES_AT, accessTokenExpiresAt.toString(), cookiesOverride);
194
- }
195
- async function clearTokens(storage) {
196
- console.log("clearTokens");
197
- // clear all local storage keys related to OAuth and CivicAuth SDK
198
- const clearOAuthPromises = [
199
- ...Object.values(types_js_1.OAuthTokens),
200
- constants_js_1.REFRESH_IN_PROGRESS,
201
- constants_js_1.AUTOREFRESH_TIMEOUT_NAME,
202
- constants_js_1.LOGOUT_STATE,
203
- ].map(async (key) => {
204
- await storage.delete(key);
205
- });
206
- await Promise.all([...clearOAuthPromises]);
207
- }
208
- async function clearAuthServerSession(storage) {
209
- await storage.delete(types_js_1.AUTH_SERVER_SESSION);
210
- await storage.delete(types_js_1.AUTH_SERVER_LEGACY_SESSION);
211
- }
212
- async function clearUser(storage) {
213
- const userSession = new UserSession_js_1.GenericUserSession(storage);
214
- await userSession.clear();
215
- }
216
- async function retrieveTokens(storage) {
217
- const idToken = await storage.get(types_js_1.OAuthTokens.ID_TOKEN);
218
- const accessToken = await storage.get(types_js_1.OAuthTokens.ACCESS_TOKEN);
219
- const refreshToken = await storage.get(types_js_1.OAuthTokens.REFRESH_TOKEN);
220
- const accessTokenExpiresAt = await storage.get(types_js_1.OAuthTokens.ACCESS_TOKEN_EXPIRES_AT);
221
- if (!idToken || !accessToken)
222
- return null;
223
- return {
224
- id_token: idToken,
225
- access_token: accessToken,
226
- refresh_token: refreshToken ?? undefined,
227
- access_token_expires_at: accessTokenExpiresAt !== null
228
- ? parseInt(accessTokenExpiresAt, 10)
229
- : undefined, // Convert string to number
230
- };
231
- }
232
- async function retrieveAccessTokenExpiresAt(storage) {
233
- return Number(await storage.get(types_js_1.OAuthTokens.ACCESS_TOKEN_EXPIRES_AT));
234
- }
235
- async function validateOauth2Tokens(tokens, endpoints, oauth2Client, issuer) {
236
- const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));
237
- // validate the ID token
238
- const idTokenResponse = await jose.jwtVerify(tokens.id_token, JWKS, {
239
- issuer: (0, oauth_js_1.getIssuerVariations)(issuer),
240
- audience: oauth2Client.clientId,
241
- });
242
- // validate the access token
243
- const accessTokenResponse = await jose.jwtVerify(tokens.access_token, JWKS, {
244
- issuer: (0, oauth_js_1.getIssuerVariations)(issuer),
245
- });
246
- return (0, utils_js_1.withoutUndefined)({
247
- id_token: idTokenResponse.payload,
248
- access_token: accessTokenResponse.payload,
249
- refresh_token: tokens.refresh_token,
250
- });
251
- }
252
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/shared/lib/util.ts"],"names":[],"mappings":"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","sourcesContent":["// Utility functions shared by auth server and client integrations\n// Typically these functions should be used inside AuthenticationInitiator and AuthenticationResolver implementations\nimport type {\n AuthStorage,\n Endpoints,\n OIDCTokenResponseBody,\n ParsedTokens,\n} from \"@/types.js\";\nimport {\n AUTH_SERVER_LEGACY_SESSION,\n AUTH_SERVER_SESSION,\n OAuthTokens,\n} from \"./types.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { getIssuerVariations, getOauthEndpoints } from \"@/lib/oauth.js\";\nimport * as jose from \"jose\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport type { PKCEConsumer, PKCEProducer } from \"@/services/types.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\nimport { decodeJwt, type JWTPayload } from \"jose\";\nimport type { CookieStorage } from \"./storage.js\";\nimport {\n AUTOREFRESH_TIMEOUT_NAME,\n LOGOUT_STATE,\n REFRESH_IN_PROGRESS,\n} from \"@/constants.js\";\n\n/**\n * Given a PKCE code verifier, derive the code challenge using SHA\n */\nexport async function deriveCodeChallenge(\n codeVerifier: string,\n method: \"Plain\" | \"S256\" = \"S256\",\n): Promise<string> {\n if (method === \"Plain\") {\n console.warn(\"Using insecure plain code challenge method\");\n return codeVerifier;\n }\n\n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await crypto.subtle.digest(\"SHA-256\", data);\n return btoa(String.fromCharCode(...new Uint8Array(digest)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n}\n\nexport async function getEndpointsWithOverrides(\n oauthServer: string,\n endpointOverrides: Partial<Endpoints> = {},\n): Promise<Endpoints> {\n const endpoints = await getOauthEndpoints(oauthServer);\n return {\n ...endpoints,\n ...endpointOverrides,\n };\n}\n\nexport async function generateOauthLoginUrl(config: {\n clientId: string;\n scopes: string[];\n state: string;\n redirectUrl: string;\n oauthServer: string;\n nonce?: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n const endpoints = await getEndpointsWithOverrides(\n config.oauthServer,\n config.endpointOverrides,\n );\n const oauth2Client = buildOauth2Client(\n config.clientId,\n config.redirectUrl,\n endpoints,\n );\n const challenge = await config.pkceConsumer.getCodeChallenge();\n const oAuthUrl = await oauth2Client.createAuthorizationURL({\n state: config.state,\n scopes: config.scopes,\n });\n // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source\n // It only allows passing in a code verifier which it then hashes itself.\n oAuthUrl.searchParams.append(\"code_challenge\", challenge);\n oAuthUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n if (config.nonce) {\n // nonce isn't supported by oslo, so we add it manually\n oAuthUrl.searchParams.append(\"nonce\", config.nonce);\n }\n // Required by the auth server for offline_access scope\n oAuthUrl.searchParams.append(\"prompt\", \"consent\");\n\n return oAuthUrl;\n}\n\nexport async function generateOauthLogoutUrl(config: {\n clientId: string;\n redirectUrl: string;\n idToken: string;\n state: string;\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n}): Promise<URL> {\n const endpoints = await getEndpointsWithOverrides(\n config.oauthServer,\n config.endpointOverrides,\n );\n const endSessionUrl = new URL(endpoints.endsession);\n endSessionUrl.searchParams.append(\"client_id\", config.clientId);\n endSessionUrl.searchParams.append(\"id_token_hint\", config.idToken);\n endSessionUrl.searchParams.append(\"state\", config.state);\n endSessionUrl.searchParams.append(\n \"post_logout_redirect_uri\",\n config.redirectUrl,\n );\n return endSessionUrl;\n}\n\nexport function buildOauth2Client(\n clientId: string,\n redirectUri: string,\n endpoints: Endpoints,\n): OAuth2Client {\n return new OAuth2Client(clientId, endpoints.auth, endpoints.token, {\n redirectURI: redirectUri,\n });\n}\n\nexport async function exchangeTokens(\n code: string,\n state: string,\n pkceProducer: PKCEProducer,\n oauth2Client: OAuth2Client,\n oauthServer: string,\n endpoints: Endpoints,\n) {\n const codeVerifier = await pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in state\");\n\n const tokens =\n await oauth2Client.validateAuthorizationCode<OIDCTokenResponseBody>(code, {\n codeVerifier,\n });\n\n // Validate relevant tokens\n try {\n await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);\n } catch (error) {\n console.error(\"tokenExchange error\", { error, tokens });\n throw new Error(\n `OIDC tokens validation failed: ${(error as Error).message}`,\n );\n }\n return tokens;\n}\n\nexport const getAccessTokenExpiresAt = (\n tokens: OIDCTokenResponseBody,\n): number => {\n const parsedAccessToken = decodeJwt(tokens.access_token);\n if (parsedAccessToken?.exp || false) {\n return parsedAccessToken.exp;\n } else if (tokens.expires_in) {\n const now = Math.floor(new Date().getTime() / 1000);\n return now + tokens.expires_in;\n } else {\n throw new Error(\"Cannot determine access token expiry!\");\n }\n};\nexport async function setAccessTokenExpiresAt(\n storage: AuthStorage | CookieStorage,\n tokens: OIDCTokenResponseBody,\n) {\n // try to extract absolute expiry time from access token but fallback to calculation if not possible\n const accessTokenExpiresAt = getAccessTokenExpiresAt(tokens);\n await storage.set(\n OAuthTokens.ACCESS_TOKEN_EXPIRES_AT,\n accessTokenExpiresAt.toString(),\n );\n}\n\nexport async function storeTokens(\n storage: AuthStorage,\n tokens: OIDCTokenResponseBody,\n) {\n await storage.set(OAuthTokens.ID_TOKEN, tokens.id_token);\n await storage.set(OAuthTokens.ACCESS_TOKEN, tokens.access_token);\n if (tokens.refresh_token) {\n await storage.set(OAuthTokens.REFRESH_TOKEN, tokens.refresh_token);\n }\n await setAccessTokenExpiresAt(storage, tokens);\n}\n\nexport async function storeServerTokens(\n storage: AuthStorage | CookieStorage,\n tokens: OIDCTokenResponseBody,\n) {\n const accessTokenExpiresAt = getAccessTokenExpiresAt(tokens);\n const cookieStorage = storage as CookieStorage;\n const now = Math.floor(Date.now() / 1000);\n const accessTokenMaxAge = accessTokenExpiresAt && accessTokenExpiresAt - now;\n console.log(\"storeServerTokens timestamps\", {\n now,\n accessTokenMaxAge,\n accessTokenExpiresAt,\n });\n const cookiesOverride = {\n ...(accessTokenMaxAge ? { maxAge: accessTokenMaxAge } : {}),\n };\n // the refresh token must be longer-lived than the access token max age to allow time for automatic refresh\n // as it's not a JWT, we derive it from the access token max age and add a margin\n const refreshTokenMaxAge = accessTokenMaxAge && accessTokenMaxAge + 5 * 60;\n const refreshCookiesOverride = {\n ...(refreshTokenMaxAge ? { maxAge: refreshTokenMaxAge } : {}),\n };\n console.log(\"storeServerTokens overrides\", {\n cookiesOverride,\n refreshCookiesOverride,\n });\n const idTokenExpiry = decodeJwt(tokens.id_token)?.exp;\n const idTokenMaxAge = idTokenExpiry && idTokenExpiry - now;\n await cookieStorage.set(OAuthTokens.ID_TOKEN, tokens.id_token, {\n ...(idTokenMaxAge ? { maxAge: idTokenMaxAge } : {}),\n });\n await cookieStorage.set(\n OAuthTokens.ACCESS_TOKEN,\n tokens.access_token,\n cookiesOverride,\n );\n if (tokens.refresh_token) {\n await cookieStorage.set(\n OAuthTokens.REFRESH_TOKEN,\n tokens.refresh_token,\n refreshCookiesOverride,\n );\n }\n await storage.set(\n OAuthTokens.ACCESS_TOKEN_EXPIRES_AT,\n accessTokenExpiresAt.toString(),\n cookiesOverride,\n );\n}\n\nexport async function clearTokens(storage: AuthStorage) {\n console.log(\"clearTokens\");\n // clear all local storage keys related to OAuth and CivicAuth SDK\n const clearOAuthPromises = [\n ...Object.values(OAuthTokens),\n REFRESH_IN_PROGRESS,\n AUTOREFRESH_TIMEOUT_NAME,\n LOGOUT_STATE,\n ].map(async (key) => {\n await storage.delete(key);\n });\n await Promise.all([...clearOAuthPromises]);\n}\n\nexport async function clearAuthServerSession(storage: AuthStorage) {\n await storage.delete(AUTH_SERVER_SESSION);\n await storage.delete(AUTH_SERVER_LEGACY_SESSION);\n}\n\nexport async function clearUser(storage: AuthStorage) {\n const userSession = new GenericUserSession(storage);\n await userSession.clear();\n}\n\nexport async function retrieveTokens(\n storage: AuthStorage,\n): Promise<OIDCTokenResponseBody | null> {\n const idToken = await storage.get(OAuthTokens.ID_TOKEN);\n const accessToken = await storage.get(OAuthTokens.ACCESS_TOKEN);\n const refreshToken = await storage.get(OAuthTokens.REFRESH_TOKEN);\n const accessTokenExpiresAt = await storage.get(\n OAuthTokens.ACCESS_TOKEN_EXPIRES_AT,\n );\n if (!idToken || !accessToken) return null;\n\n return {\n id_token: idToken,\n access_token: accessToken,\n refresh_token: refreshToken ?? undefined,\n access_token_expires_at:\n accessTokenExpiresAt !== null\n ? parseInt(accessTokenExpiresAt, 10)\n : undefined, // Convert string to number\n };\n}\n\nexport async function retrieveAccessTokenExpiresAt(\n storage: AuthStorage,\n): Promise<number> {\n return Number(await storage.get(OAuthTokens.ACCESS_TOKEN_EXPIRES_AT));\n}\n\nexport async function validateOauth2Tokens(\n tokens: OIDCTokenResponseBody,\n endpoints: Endpoints,\n oauth2Client: OAuth2Client,\n issuer: string,\n): Promise<ParsedTokens> {\n const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));\n\n // validate the ID token\n const idTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.id_token,\n JWKS,\n {\n issuer: getIssuerVariations(issuer),\n audience: oauth2Client.clientId,\n },\n );\n\n // validate the access token\n const accessTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.access_token,\n JWKS,\n {\n issuer: getIssuerVariations(issuer),\n },\n );\n\n return withoutUndefined({\n id_token: idTokenResponse.payload,\n access_token: accessTokenResponse.payload,\n refresh_token: tokens.refresh_token,\n });\n}\n"]}
@@ -1,12 +0,0 @@
1
- import type { AuthStatus, DisplayMode } from "../../types.js";
2
- export type AuthContextType = {
3
- signIn: (displayMode?: DisplayMode) => Promise<void>;
4
- isAuthenticated: boolean;
5
- isLoading: boolean;
6
- error: Error | null;
7
- signOut: () => Promise<void>;
8
- authStatus: AuthStatus;
9
- displayMode: DisplayMode;
10
- };
11
- export declare const AuthContext: import("react").Context<AuthContextType | null>;
12
- //# sourceMappingURL=AuthContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/AuthContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,eAAO,MAAM,WAAW,iDAA8C,CAAC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- "use client";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.AuthContext = void 0;
5
- const react_1 = require("react");
6
- exports.AuthContext = (0, react_1.createContext)(null);
7
- //# sourceMappingURL=AuthContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../../../src/shared/providers/AuthContext.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AACb,iCAAsC;AAYzB,QAAA,WAAW,GAAG,IAAA,qBAAa,EAAyB,IAAI,CAAC,CAAC","sourcesContent":["\"use client\";\nimport { createContext } from \"react\";\nimport type { AuthStatus, DisplayMode } from \"@/types.js\";\n\nexport type AuthContextType = {\n signIn: (displayMode?: DisplayMode) => Promise<void>;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: Error | null;\n signOut: () => Promise<void>;\n authStatus: AuthStatus;\n displayMode: DisplayMode;\n};\nexport const AuthContext = createContext<AuthContextType | null>(null);\n"]}
@@ -1,22 +0,0 @@
1
- import React, { type ReactNode } from "react";
2
- import type { Config, DisplayMode, SessionData } from "../../types.js";
3
- import type { PKCEConsumer } from "../../services/types.js";
4
- export type IframeMode = "embedded" | "modal";
5
- export type AuthProviderProps = {
6
- children: ReactNode;
7
- clientId: string;
8
- nonce?: string;
9
- onSignIn?: (error?: Error) => void;
10
- onSignOut?: () => Promise<void>;
11
- iframeMode?: IframeMode;
12
- config?: Config;
13
- redirectUrl?: string;
14
- displayMode?: DisplayMode;
15
- };
16
- export type InternalAuthProviderProps = AuthProviderProps & {
17
- sessionData?: SessionData;
18
- pkceConsumer?: PKCEConsumer;
19
- };
20
- declare const AuthProvider: ({ children, onSignIn, onSignOut, pkceConsumer, iframeMode, displayMode, }: InternalAuthProviderProps) => React.JSX.Element;
21
- export { AuthProvider };
22
- //# sourceMappingURL=AuthProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/AuthProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAkBxD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,YAAY,8EAOf,yBAAyB,sBAsE3B,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}