@civic/auth 0.0.1-beta.28 → 0.0.1-beta.3

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 (1035) hide show
  1. package/README.md +4 -26
  2. package/dist/chunk-4GIHS7LB.js +201 -0
  3. package/dist/chunk-4GIHS7LB.js.map +1 -0
  4. package/dist/chunk-CRTRMMJ7.js +59 -0
  5. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  6. package/dist/chunk-GNGLWGZJ.mjs +238 -0
  7. package/dist/chunk-GNGLWGZJ.mjs.map +1 -0
  8. package/dist/chunk-NQPMNXBL.mjs +154 -0
  9. package/dist/chunk-NQPMNXBL.mjs.map +1 -0
  10. package/dist/chunk-RGHW4PYM.mjs +59 -0
  11. package/dist/chunk-RGHW4PYM.mjs.map +1 -0
  12. package/dist/chunk-UV56GNIT.mjs +201 -0
  13. package/dist/chunk-UV56GNIT.mjs.map +1 -0
  14. package/dist/chunk-VXIWRZWU.js +238 -0
  15. package/dist/chunk-VXIWRZWU.js.map +1 -0
  16. package/dist/chunk-WPISYQG3.js +154 -0
  17. package/dist/chunk-WPISYQG3.js.map +1 -0
  18. package/dist/index-DoDoIY_K.d.mts +79 -0
  19. package/dist/index-DoDoIY_K.d.ts +79 -0
  20. package/dist/index.css +342 -0
  21. package/dist/index.css.map +1 -0
  22. package/dist/index.d.mts +3 -0
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/index.mjs +2 -0
  27. package/dist/index.mjs.map +1 -0
  28. package/dist/nextjs.d.mts +225 -0
  29. package/dist/nextjs.d.ts +225 -0
  30. package/dist/nextjs.js +253 -0
  31. package/dist/nextjs.js.map +1 -0
  32. package/dist/nextjs.mjs +253 -0
  33. package/dist/nextjs.mjs.map +1 -0
  34. package/dist/react.d.mts +119 -0
  35. package/dist/react.d.ts +119 -0
  36. package/dist/react.js +1178 -0
  37. package/dist/react.js.map +1 -0
  38. package/dist/react.mjs +1178 -0
  39. package/dist/react.mjs.map +1 -0
  40. package/dist/server.d.mts +55 -0
  41. package/dist/server.d.ts +55 -0
  42. package/dist/server.js +17 -0
  43. package/dist/server.js.map +1 -0
  44. package/dist/server.mjs +17 -0
  45. package/dist/server.mjs.map +1 -0
  46. package/package.json +43 -53
  47. package/.eslintignore +0 -3
  48. package/.eslintrc.json +0 -10
  49. package/.prettierignore +0 -3
  50. package/.prettierrc +0 -1
  51. package/.turbo/turbo-build.log +0 -13
  52. package/dist/cjs/src/browser/storage.d.ts +0 -6
  53. package/dist/cjs/src/browser/storage.d.ts.map +0 -1
  54. package/dist/cjs/src/browser/storage.js +0 -13
  55. package/dist/cjs/src/browser/storage.js.map +0 -1
  56. package/dist/cjs/src/config.d.ts +0 -3
  57. package/dist/cjs/src/config.d.ts.map +0 -1
  58. package/dist/cjs/src/config.js +0 -8
  59. package/dist/cjs/src/config.js.map +0 -1
  60. package/dist/cjs/src/constants.d.ts +0 -9
  61. package/dist/cjs/src/constants.d.ts.map +0 -1
  62. package/dist/cjs/src/constants.js +0 -26
  63. package/dist/cjs/src/constants.js.map +0 -1
  64. package/dist/cjs/src/index.d.ts +0 -4
  65. package/dist/cjs/src/index.d.ts.map +0 -1
  66. package/dist/cjs/src/index.js +0 -3
  67. package/dist/cjs/src/index.js.map +0 -1
  68. package/dist/cjs/src/lib/cookies.d.ts +0 -7
  69. package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
  70. package/dist/cjs/src/lib/cookies.js +0 -26
  71. package/dist/cjs/src/lib/cookies.js.map +0 -1
  72. package/dist/cjs/src/lib/jwt.d.ts +0 -3
  73. package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
  74. package/dist/cjs/src/lib/jwt.js +0 -13
  75. package/dist/cjs/src/lib/jwt.js.map +0 -1
  76. package/dist/cjs/src/lib/logger.d.ts +0 -26
  77. package/dist/cjs/src/lib/logger.d.ts.map +0 -1
  78. package/dist/cjs/src/lib/logger.js +0 -62
  79. package/dist/cjs/src/lib/logger.js.map +0 -1
  80. package/dist/cjs/src/lib/oauth.d.ts +0 -19
  81. package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
  82. package/dist/cjs/src/lib/oauth.js +0 -67
  83. package/dist/cjs/src/lib/oauth.js.map +0 -1
  84. package/dist/cjs/src/lib/postMessage.d.ts +0 -4
  85. package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
  86. package/dist/cjs/src/lib/postMessage.js +0 -18
  87. package/dist/cjs/src/lib/postMessage.js.map +0 -1
  88. package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
  89. package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
  90. package/dist/cjs/src/lib/windowUtil.js +0 -34
  91. package/dist/cjs/src/lib/windowUtil.js.map +0 -1
  92. package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
  93. package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
  94. package/dist/cjs/src/nextjs/GetUser.js +0 -22
  95. package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
  96. package/dist/cjs/src/nextjs/client/index.d.ts +0 -2
  97. package/dist/cjs/src/nextjs/client/index.d.ts.map +0 -1
  98. package/dist/cjs/src/nextjs/client/index.js +0 -6
  99. package/dist/cjs/src/nextjs/client/index.js.map +0 -1
  100. package/dist/cjs/src/nextjs/config.d.ts +0 -178
  101. package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
  102. package/dist/cjs/src/nextjs/config.js +0 -169
  103. package/dist/cjs/src/nextjs/config.js.map +0 -1
  104. package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
  105. package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
  106. package/dist/cjs/src/nextjs/cookies.js +0 -116
  107. package/dist/cjs/src/nextjs/cookies.js.map +0 -1
  108. package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
  109. package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
  110. package/dist/cjs/src/nextjs/hooks/index.js +0 -6
  111. package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
  112. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  113. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  114. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
  115. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  116. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  117. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  118. package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
  119. package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
  120. package/dist/cjs/src/nextjs/index.d.ts +0 -7
  121. package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
  122. package/dist/cjs/src/nextjs/index.js +0 -18
  123. package/dist/cjs/src/nextjs/index.js.map +0 -1
  124. package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
  125. package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
  126. package/dist/cjs/src/nextjs/middleware/index.js +0 -8
  127. package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
  128. package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
  129. package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
  130. package/dist/cjs/src/nextjs/middleware.js +0 -116
  131. package/dist/cjs/src/nextjs/middleware.js.map +0 -1
  132. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  133. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  134. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -76
  135. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  136. package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
  137. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
  138. package/dist/cjs/src/nextjs/routeHandler.js +0 -221
  139. package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
  140. package/dist/cjs/src/nextjs/utils.d.ts +0 -3
  141. package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
  142. package/dist/cjs/src/nextjs/utils.js +0 -9
  143. package/dist/cjs/src/nextjs/utils.js.map +0 -1
  144. package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
  145. package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
  146. package/dist/cjs/src/reactjs/components/SignInButton.js +0 -20
  147. package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
  148. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
  149. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  150. package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -20
  151. package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
  152. package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
  153. package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
  154. package/dist/cjs/src/reactjs/components/UserButton.js +0 -136
  155. package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
  156. package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
  157. package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
  158. package/dist/cjs/src/reactjs/components/index.js +0 -14
  159. package/dist/cjs/src/reactjs/components/index.js.map +0 -1
  160. package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -8
  161. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
  162. package/dist/cjs/src/reactjs/hooks/index.js +0 -18
  163. package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
  164. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
  165. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  166. package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
  167. package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
  168. package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
  169. package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
  170. package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
  171. package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
  172. package/dist/cjs/src/reactjs/index.d.ts +0 -6
  173. package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
  174. package/dist/cjs/src/reactjs/index.js +0 -30
  175. package/dist/cjs/src/reactjs/index.js.map +0 -1
  176. package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
  177. package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
  178. package/dist/cjs/src/reactjs/providers/index.js +0 -19
  179. package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
  180. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
  181. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  182. package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -66
  183. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
  184. package/dist/cjs/src/server/config.d.ts +0 -16
  185. package/dist/cjs/src/server/config.d.ts.map +0 -1
  186. package/dist/cjs/src/server/config.js +0 -3
  187. package/dist/cjs/src/server/config.js.map +0 -1
  188. package/dist/cjs/src/server/index.d.ts +0 -6
  189. package/dist/cjs/src/server/index.d.ts.map +0 -1
  190. package/dist/cjs/src/server/index.js +0 -14
  191. package/dist/cjs/src/server/index.js.map +0 -1
  192. package/dist/cjs/src/server/login.d.ts +0 -17
  193. package/dist/cjs/src/server/login.d.ts.map +0 -1
  194. package/dist/cjs/src/server/login.js +0 -42
  195. package/dist/cjs/src/server/login.js.map +0 -1
  196. package/dist/cjs/src/server/refresh.d.ts +0 -7
  197. package/dist/cjs/src/server/refresh.d.ts.map +0 -1
  198. package/dist/cjs/src/server/refresh.js +0 -16
  199. package/dist/cjs/src/server/refresh.js.map +0 -1
  200. package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
  201. package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
  202. package/dist/cjs/src/services/AuthenticationService.js +0 -228
  203. package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
  204. package/dist/cjs/src/services/PKCE.d.ts +0 -20
  205. package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
  206. package/dist/cjs/src/services/PKCE.js +0 -50
  207. package/dist/cjs/src/services/PKCE.js.map +0 -1
  208. package/dist/cjs/src/services/types.d.ts +0 -23
  209. package/dist/cjs/src/services/types.d.ts.map +0 -1
  210. package/dist/cjs/src/services/types.js +0 -11
  211. package/dist/cjs/src/services/types.js.map +0 -1
  212. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
  213. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  214. package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
  215. package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
  216. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  217. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  218. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -156
  219. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  220. package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
  221. package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
  222. package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
  223. package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
  224. package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
  225. package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
  226. package/dist/cjs/src/shared/components/LoadingIcon.js +0 -36
  227. package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
  228. package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
  229. package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
  230. package/dist/cjs/src/shared/hooks/index.js +0 -12
  231. package/dist/cjs/src/shared/hooks/index.js.map +0 -1
  232. package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
  233. package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
  234. package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
  235. package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
  236. package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
  237. package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
  238. package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
  239. package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
  240. package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
  241. package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
  242. package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
  243. package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
  244. package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
  245. package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
  246. package/dist/cjs/src/shared/hooks/useSession.js +0 -16
  247. package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
  248. package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
  249. package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
  250. package/dist/cjs/src/shared/hooks/useToken.js +0 -15
  251. package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
  252. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  253. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  254. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -47
  255. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  256. package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
  257. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
  258. package/dist/cjs/src/shared/lib/UserSession.js +0 -24
  259. package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
  260. package/dist/cjs/src/shared/lib/session.d.ts +0 -3
  261. package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
  262. package/dist/cjs/src/shared/lib/session.js +0 -13
  263. package/dist/cjs/src/shared/lib/session.js.map +0 -1
  264. package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
  265. package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
  266. package/dist/cjs/src/shared/lib/storage.js +0 -21
  267. package/dist/cjs/src/shared/lib/storage.js.map +0 -1
  268. package/dist/cjs/src/shared/lib/types.d.ts +0 -22
  269. package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
  270. package/dist/cjs/src/shared/lib/types.js +0 -19
  271. package/dist/cjs/src/shared/lib/types.js.map +0 -1
  272. package/dist/cjs/src/shared/lib/util.d.ts +0 -33
  273. package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
  274. package/dist/cjs/src/shared/lib/util.js +0 -162
  275. package/dist/cjs/src/shared/lib/util.js.map +0 -1
  276. package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
  277. package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
  278. package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
  279. package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
  280. package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -20
  281. package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
  282. package/dist/cjs/src/shared/providers/AuthProvider.js +0 -289
  283. package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
  284. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  285. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  286. package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -21
  287. package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
  288. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
  289. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  290. package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
  291. package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
  292. package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
  293. package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
  294. package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
  295. package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
  296. package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
  297. package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
  298. package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
  299. package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
  300. package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
  301. package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
  302. package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
  303. package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
  304. package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
  305. package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
  306. package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
  307. package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
  308. package/dist/cjs/src/styles.css +0 -387
  309. package/dist/cjs/src/types.d.ts +0 -146
  310. package/dist/cjs/src/types.d.ts.map +0 -1
  311. package/dist/cjs/src/types.js +0 -3
  312. package/dist/cjs/src/types.js.map +0 -1
  313. package/dist/cjs/src/utils.d.ts +0 -15
  314. package/dist/cjs/src/utils.d.ts.map +0 -1
  315. package/dist/cjs/src/utils.js +0 -47
  316. package/dist/cjs/src/utils.js.map +0 -1
  317. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  318. package/dist/esm/src/browser/storage.d.ts +0 -6
  319. package/dist/esm/src/browser/storage.d.ts.map +0 -1
  320. package/dist/esm/src/browser/storage.js +0 -9
  321. package/dist/esm/src/browser/storage.js.map +0 -1
  322. package/dist/esm/src/config.d.ts +0 -3
  323. package/dist/esm/src/config.d.ts.map +0 -1
  324. package/dist/esm/src/config.js +0 -5
  325. package/dist/esm/src/config.js.map +0 -1
  326. package/dist/esm/src/constants.d.ts +0 -9
  327. package/dist/esm/src/constants.d.ts.map +0 -1
  328. package/dist/esm/src/constants.js +0 -17
  329. package/dist/esm/src/constants.js.map +0 -1
  330. package/dist/esm/src/index.d.ts +0 -4
  331. package/dist/esm/src/index.d.ts.map +0 -1
  332. package/dist/esm/src/index.js +0 -2
  333. package/dist/esm/src/index.js.map +0 -1
  334. package/dist/esm/src/lib/cookies.d.ts +0 -7
  335. package/dist/esm/src/lib/cookies.d.ts.map +0 -1
  336. package/dist/esm/src/lib/cookies.js +0 -23
  337. package/dist/esm/src/lib/cookies.js.map +0 -1
  338. package/dist/esm/src/lib/jwt.d.ts +0 -3
  339. package/dist/esm/src/lib/jwt.d.ts.map +0 -1
  340. package/dist/esm/src/lib/jwt.js +0 -9
  341. package/dist/esm/src/lib/jwt.js.map +0 -1
  342. package/dist/esm/src/lib/logger.d.ts +0 -26
  343. package/dist/esm/src/lib/logger.d.ts.map +0 -1
  344. package/dist/esm/src/lib/logger.js +0 -55
  345. package/dist/esm/src/lib/logger.js.map +0 -1
  346. package/dist/esm/src/lib/oauth.d.ts +0 -19
  347. package/dist/esm/src/lib/oauth.d.ts.map +0 -1
  348. package/dist/esm/src/lib/oauth.js +0 -60
  349. package/dist/esm/src/lib/oauth.js.map +0 -1
  350. package/dist/esm/src/lib/postMessage.d.ts +0 -4
  351. package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
  352. package/dist/esm/src/lib/postMessage.js +0 -15
  353. package/dist/esm/src/lib/postMessage.js.map +0 -1
  354. package/dist/esm/src/lib/windowUtil.d.ts +0 -4
  355. package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
  356. package/dist/esm/src/lib/windowUtil.js +0 -30
  357. package/dist/esm/src/lib/windowUtil.js.map +0 -1
  358. package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
  359. package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
  360. package/dist/esm/src/nextjs/GetUser.js +0 -18
  361. package/dist/esm/src/nextjs/GetUser.js.map +0 -1
  362. package/dist/esm/src/nextjs/client/index.d.ts +0 -2
  363. package/dist/esm/src/nextjs/client/index.d.ts.map +0 -1
  364. package/dist/esm/src/nextjs/client/index.js +0 -2
  365. package/dist/esm/src/nextjs/client/index.js.map +0 -1
  366. package/dist/esm/src/nextjs/config.d.ts +0 -178
  367. package/dist/esm/src/nextjs/config.d.ts.map +0 -1
  368. package/dist/esm/src/nextjs/config.js +0 -164
  369. package/dist/esm/src/nextjs/config.js.map +0 -1
  370. package/dist/esm/src/nextjs/cookies.d.ts +0 -30
  371. package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
  372. package/dist/esm/src/nextjs/cookies.js +0 -109
  373. package/dist/esm/src/nextjs/cookies.js.map +0 -1
  374. package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
  375. package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
  376. package/dist/esm/src/nextjs/hooks/index.js +0 -2
  377. package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
  378. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  379. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  380. package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
  381. package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  382. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  383. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  384. package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
  385. package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
  386. package/dist/esm/src/nextjs/index.d.ts +0 -7
  387. package/dist/esm/src/nextjs/index.d.ts.map +0 -1
  388. package/dist/esm/src/nextjs/index.js +0 -6
  389. package/dist/esm/src/nextjs/index.js.map +0 -1
  390. package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
  391. package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
  392. package/dist/esm/src/nextjs/middleware/index.js +0 -2
  393. package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
  394. package/dist/esm/src/nextjs/middleware.d.ts +0 -59
  395. package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
  396. package/dist/esm/src/nextjs/middleware.js +0 -107
  397. package/dist/esm/src/nextjs/middleware.js.map +0 -1
  398. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  399. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  400. package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -50
  401. package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  402. package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
  403. package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
  404. package/dist/esm/src/nextjs/routeHandler.js +0 -216
  405. package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
  406. package/dist/esm/src/nextjs/utils.d.ts +0 -3
  407. package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
  408. package/dist/esm/src/nextjs/utils.js +0 -5
  409. package/dist/esm/src/nextjs/utils.js.map +0 -1
  410. package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
  411. package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
  412. package/dist/esm/src/reactjs/components/SignInButton.js +0 -14
  413. package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
  414. package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
  415. package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  416. package/dist/esm/src/reactjs/components/SignOutButton.js +0 -14
  417. package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
  418. package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
  419. package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
  420. package/dist/esm/src/reactjs/components/UserButton.js +0 -110
  421. package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
  422. package/dist/esm/src/reactjs/components/index.d.ts +0 -6
  423. package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
  424. package/dist/esm/src/reactjs/components/index.js +0 -6
  425. package/dist/esm/src/reactjs/components/index.js.map +0 -1
  426. package/dist/esm/src/reactjs/hooks/index.d.ts +0 -8
  427. package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
  428. package/dist/esm/src/reactjs/hooks/index.js +0 -8
  429. package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
  430. package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
  431. package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  432. package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
  433. package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
  434. package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
  435. package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
  436. package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
  437. package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
  438. package/dist/esm/src/reactjs/index.d.ts +0 -6
  439. package/dist/esm/src/reactjs/index.d.ts.map +0 -1
  440. package/dist/esm/src/reactjs/index.js +0 -8
  441. package/dist/esm/src/reactjs/index.js.map +0 -1
  442. package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
  443. package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
  444. package/dist/esm/src/reactjs/providers/index.js +0 -7
  445. package/dist/esm/src/reactjs/providers/index.js.map +0 -1
  446. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
  447. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  448. package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -62
  449. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
  450. package/dist/esm/src/server/config.d.ts +0 -16
  451. package/dist/esm/src/server/config.d.ts.map +0 -1
  452. package/dist/esm/src/server/config.js +0 -2
  453. package/dist/esm/src/server/config.js.map +0 -1
  454. package/dist/esm/src/server/index.d.ts +0 -6
  455. package/dist/esm/src/server/index.d.ts.map +0 -1
  456. package/dist/esm/src/server/index.js +0 -5
  457. package/dist/esm/src/server/index.js.map +0 -1
  458. package/dist/esm/src/server/login.d.ts +0 -17
  459. package/dist/esm/src/server/login.d.ts.map +0 -1
  460. package/dist/esm/src/server/login.js +0 -37
  461. package/dist/esm/src/server/login.js.map +0 -1
  462. package/dist/esm/src/server/refresh.d.ts +0 -7
  463. package/dist/esm/src/server/refresh.d.ts.map +0 -1
  464. package/dist/esm/src/server/refresh.js +0 -13
  465. package/dist/esm/src/server/refresh.js.map +0 -1
  466. package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
  467. package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
  468. package/dist/esm/src/services/AuthenticationService.js +0 -222
  469. package/dist/esm/src/services/AuthenticationService.js.map +0 -1
  470. package/dist/esm/src/services/PKCE.d.ts +0 -20
  471. package/dist/esm/src/services/PKCE.d.ts.map +0 -1
  472. package/dist/esm/src/services/PKCE.js +0 -44
  473. package/dist/esm/src/services/PKCE.js.map +0 -1
  474. package/dist/esm/src/services/types.d.ts +0 -23
  475. package/dist/esm/src/services/types.d.ts.map +0 -1
  476. package/dist/esm/src/services/types.js +0 -7
  477. package/dist/esm/src/services/types.js.map +0 -1
  478. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
  479. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  480. package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
  481. package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
  482. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  483. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  484. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -130
  485. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  486. package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
  487. package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
  488. package/dist/esm/src/shared/components/CloseIcon.js +0 -6
  489. package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
  490. package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
  491. package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
  492. package/dist/esm/src/shared/components/LoadingIcon.js +0 -30
  493. package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
  494. package/dist/esm/src/shared/hooks/index.d.ts +0 -5
  495. package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
  496. package/dist/esm/src/shared/hooks/index.js +0 -5
  497. package/dist/esm/src/shared/hooks/index.js.map +0 -1
  498. package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
  499. package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
  500. package/dist/esm/src/shared/hooks/useAuth.js +0 -12
  501. package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
  502. package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
  503. package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
  504. package/dist/esm/src/shared/hooks/useConfig.js +0 -13
  505. package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
  506. package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
  507. package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
  508. package/dist/esm/src/shared/hooks/useIframe.js +0 -13
  509. package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
  510. package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
  511. package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
  512. package/dist/esm/src/shared/hooks/useSession.js +0 -13
  513. package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
  514. package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
  515. package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
  516. package/dist/esm/src/shared/hooks/useToken.js +0 -12
  517. package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
  518. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  519. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  520. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  521. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  522. package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
  523. package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
  524. package/dist/esm/src/shared/lib/UserSession.js +0 -20
  525. package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
  526. package/dist/esm/src/shared/lib/session.d.ts +0 -3
  527. package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
  528. package/dist/esm/src/shared/lib/session.js +0 -10
  529. package/dist/esm/src/shared/lib/session.js.map +0 -1
  530. package/dist/esm/src/shared/lib/storage.d.ts +0 -25
  531. package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
  532. package/dist/esm/src/shared/lib/storage.js +0 -17
  533. package/dist/esm/src/shared/lib/storage.js.map +0 -1
  534. package/dist/esm/src/shared/lib/types.d.ts +0 -22
  535. package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
  536. package/dist/esm/src/shared/lib/types.js +0 -16
  537. package/dist/esm/src/shared/lib/types.js.map +0 -1
  538. package/dist/esm/src/shared/lib/util.d.ts +0 -33
  539. package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
  540. package/dist/esm/src/shared/lib/util.js +0 -126
  541. package/dist/esm/src/shared/lib/util.js.map +0 -1
  542. package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
  543. package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
  544. package/dist/esm/src/shared/providers/AuthContext.js +0 -3
  545. package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
  546. package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -20
  547. package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
  548. package/dist/esm/src/shared/providers/AuthProvider.js +0 -263
  549. package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
  550. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  551. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  552. package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -15
  553. package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
  554. package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
  555. package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  556. package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
  557. package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
  558. package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
  559. package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
  560. package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
  561. package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
  562. package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
  563. package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
  564. package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
  565. package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
  566. package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
  567. package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
  568. package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
  569. package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
  570. package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
  571. package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
  572. package/dist/esm/src/shared/providers/UserProvider.js +0 -38
  573. package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
  574. package/dist/esm/src/styles.css +0 -387
  575. package/dist/esm/src/types.d.ts +0 -146
  576. package/dist/esm/src/types.d.ts.map +0 -1
  577. package/dist/esm/src/types.js +0 -2
  578. package/dist/esm/src/types.js.map +0 -1
  579. package/dist/esm/src/utils.d.ts +0 -15
  580. package/dist/esm/src/utils.d.ts.map +0 -1
  581. package/dist/esm/src/utils.js +0 -43
  582. package/dist/esm/src/utils.js.map +0 -1
  583. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  584. package/dist/src/browser/storage.d.ts +0 -6
  585. package/dist/src/browser/storage.d.ts.map +0 -1
  586. package/dist/src/browser/storage.js +0 -9
  587. package/dist/src/browser/storage.js.map +0 -1
  588. package/dist/src/config.d.ts +0 -3
  589. package/dist/src/config.d.ts.map +0 -1
  590. package/dist/src/config.js +0 -5
  591. package/dist/src/config.js.map +0 -1
  592. package/dist/src/constants.d.ts +0 -9
  593. package/dist/src/constants.d.ts.map +0 -1
  594. package/dist/src/constants.js +0 -17
  595. package/dist/src/constants.js.map +0 -1
  596. package/dist/src/index.d.ts +0 -4
  597. package/dist/src/index.d.ts.map +0 -1
  598. package/dist/src/index.js +0 -2
  599. package/dist/src/index.js.map +0 -1
  600. package/dist/src/lib/cookies.d.ts +0 -7
  601. package/dist/src/lib/cookies.d.ts.map +0 -1
  602. package/dist/src/lib/cookies.js +0 -23
  603. package/dist/src/lib/cookies.js.map +0 -1
  604. package/dist/src/lib/jwt.d.ts +0 -3
  605. package/dist/src/lib/jwt.d.ts.map +0 -1
  606. package/dist/src/lib/jwt.js +0 -9
  607. package/dist/src/lib/jwt.js.map +0 -1
  608. package/dist/src/lib/logger.d.ts +0 -26
  609. package/dist/src/lib/logger.d.ts.map +0 -1
  610. package/dist/src/lib/logger.js +0 -55
  611. package/dist/src/lib/logger.js.map +0 -1
  612. package/dist/src/lib/oauth.d.ts +0 -19
  613. package/dist/src/lib/oauth.d.ts.map +0 -1
  614. package/dist/src/lib/oauth.js +0 -60
  615. package/dist/src/lib/oauth.js.map +0 -1
  616. package/dist/src/lib/postMessage.d.ts +0 -4
  617. package/dist/src/lib/postMessage.d.ts.map +0 -1
  618. package/dist/src/lib/postMessage.js +0 -15
  619. package/dist/src/lib/postMessage.js.map +0 -1
  620. package/dist/src/lib/windowUtil.d.ts +0 -4
  621. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  622. package/dist/src/lib/windowUtil.js +0 -30
  623. package/dist/src/lib/windowUtil.js.map +0 -1
  624. package/dist/src/nextjs/GetUser.d.ts +0 -6
  625. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  626. package/dist/src/nextjs/GetUser.js +0 -18
  627. package/dist/src/nextjs/GetUser.js.map +0 -1
  628. package/dist/src/nextjs/client/index.d.ts +0 -2
  629. package/dist/src/nextjs/client/index.d.ts.map +0 -1
  630. package/dist/src/nextjs/client/index.js +0 -2
  631. package/dist/src/nextjs/client/index.js.map +0 -1
  632. package/dist/src/nextjs/config.d.ts +0 -178
  633. package/dist/src/nextjs/config.d.ts.map +0 -1
  634. package/dist/src/nextjs/config.js +0 -164
  635. package/dist/src/nextjs/config.js.map +0 -1
  636. package/dist/src/nextjs/cookies.d.ts +0 -30
  637. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  638. package/dist/src/nextjs/cookies.js +0 -109
  639. package/dist/src/nextjs/cookies.js.map +0 -1
  640. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  641. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  642. package/dist/src/nextjs/hooks/index.js +0 -2
  643. package/dist/src/nextjs/hooks/index.js.map +0 -1
  644. package/dist/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  645. package/dist/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  646. package/dist/src/nextjs/hooks/useTokenCookie.js +0 -37
  647. package/dist/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  648. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  649. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  650. package/dist/src/nextjs/hooks/useUserCookie.js +0 -36
  651. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  652. package/dist/src/nextjs/index.d.ts +0 -7
  653. package/dist/src/nextjs/index.d.ts.map +0 -1
  654. package/dist/src/nextjs/index.js +0 -6
  655. package/dist/src/nextjs/index.js.map +0 -1
  656. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  657. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  658. package/dist/src/nextjs/middleware/index.js +0 -2
  659. package/dist/src/nextjs/middleware/index.js.map +0 -1
  660. package/dist/src/nextjs/middleware.d.ts +0 -59
  661. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  662. package/dist/src/nextjs/middleware.js +0 -107
  663. package/dist/src/nextjs/middleware.js.map +0 -1
  664. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  665. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  666. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -50
  667. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  668. package/dist/src/nextjs/routeHandler.d.ts +0 -18
  669. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  670. package/dist/src/nextjs/routeHandler.js +0 -216
  671. package/dist/src/nextjs/routeHandler.js.map +0 -1
  672. package/dist/src/nextjs/utils.d.ts +0 -3
  673. package/dist/src/nextjs/utils.d.ts.map +0 -1
  674. package/dist/src/nextjs/utils.js +0 -5
  675. package/dist/src/nextjs/utils.js.map +0 -1
  676. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  677. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  678. package/dist/src/reactjs/components/SignInButton.js +0 -14
  679. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  680. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  681. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  682. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  683. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  684. package/dist/src/reactjs/components/UserButton.d.ts +0 -8
  685. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  686. package/dist/src/reactjs/components/UserButton.js +0 -110
  687. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  688. package/dist/src/reactjs/components/index.d.ts +0 -6
  689. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  690. package/dist/src/reactjs/components/index.js +0 -6
  691. package/dist/src/reactjs/components/index.js.map +0 -1
  692. package/dist/src/reactjs/hooks/index.d.ts +0 -8
  693. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  694. package/dist/src/reactjs/hooks/index.js +0 -8
  695. package/dist/src/reactjs/hooks/index.js.map +0 -1
  696. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  697. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  698. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  699. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  700. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  701. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  702. package/dist/src/reactjs/hooks/useUser.js +0 -12
  703. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  704. package/dist/src/reactjs/index.d.ts +0 -6
  705. package/dist/src/reactjs/index.d.ts.map +0 -1
  706. package/dist/src/reactjs/index.js +0 -8
  707. package/dist/src/reactjs/index.js.map +0 -1
  708. package/dist/src/reactjs/providers/index.d.ts +0 -8
  709. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  710. package/dist/src/reactjs/providers/index.js +0 -7
  711. package/dist/src/reactjs/providers/index.js.map +0 -1
  712. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -18
  713. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  714. package/dist/src/server/ServerAuthenticationResolver.js +0 -62
  715. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  716. package/dist/src/server/config.d.ts +0 -16
  717. package/dist/src/server/config.d.ts.map +0 -1
  718. package/dist/src/server/config.js +0 -2
  719. package/dist/src/server/config.js.map +0 -1
  720. package/dist/src/server/index.d.ts +0 -6
  721. package/dist/src/server/index.d.ts.map +0 -1
  722. package/dist/src/server/index.js +0 -5
  723. package/dist/src/server/index.js.map +0 -1
  724. package/dist/src/server/login.d.ts +0 -17
  725. package/dist/src/server/login.d.ts.map +0 -1
  726. package/dist/src/server/login.js +0 -37
  727. package/dist/src/server/login.js.map +0 -1
  728. package/dist/src/server/refresh.d.ts +0 -7
  729. package/dist/src/server/refresh.d.ts.map +0 -1
  730. package/dist/src/server/refresh.js +0 -13
  731. package/dist/src/server/refresh.js.map +0 -1
  732. package/dist/src/services/AuthenticationService.d.ts +0 -87
  733. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  734. package/dist/src/services/AuthenticationService.js +0 -222
  735. package/dist/src/services/AuthenticationService.js.map +0 -1
  736. package/dist/src/services/PKCE.d.ts +0 -20
  737. package/dist/src/services/PKCE.d.ts.map +0 -1
  738. package/dist/src/services/PKCE.js +0 -44
  739. package/dist/src/services/PKCE.js.map +0 -1
  740. package/dist/src/services/types.d.ts +0 -23
  741. package/dist/src/services/types.d.ts.map +0 -1
  742. package/dist/src/services/types.js +0 -7
  743. package/dist/src/services/types.js.map +0 -1
  744. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -8
  745. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  746. package/dist/src/shared/components/CivicAuthIframe.js +0 -9
  747. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  748. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  749. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  750. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -130
  751. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  752. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  753. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  754. package/dist/src/shared/components/CloseIcon.js +0 -6
  755. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  756. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  757. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  758. package/dist/src/shared/components/LoadingIcon.js +0 -30
  759. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  760. package/dist/src/shared/hooks/index.d.ts +0 -5
  761. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  762. package/dist/src/shared/hooks/index.js +0 -5
  763. package/dist/src/shared/hooks/index.js.map +0 -1
  764. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  765. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  766. package/dist/src/shared/hooks/useAuth.js +0 -12
  767. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  768. package/dist/src/shared/hooks/useConfig.d.ts +0 -3
  769. package/dist/src/shared/hooks/useConfig.d.ts.map +0 -1
  770. package/dist/src/shared/hooks/useConfig.js +0 -13
  771. package/dist/src/shared/hooks/useConfig.js.map +0 -1
  772. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  773. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  774. package/dist/src/shared/hooks/useIframe.js +0 -13
  775. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  776. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  777. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  778. package/dist/src/shared/hooks/useSession.js +0 -13
  779. package/dist/src/shared/hooks/useSession.js.map +0 -1
  780. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  781. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  782. package/dist/src/shared/hooks/useToken.js +0 -12
  783. package/dist/src/shared/hooks/useToken.js.map +0 -1
  784. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  785. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  786. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  787. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  788. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  789. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  790. package/dist/src/shared/lib/UserSession.js +0 -20
  791. package/dist/src/shared/lib/UserSession.js.map +0 -1
  792. package/dist/src/shared/lib/session.d.ts +0 -3
  793. package/dist/src/shared/lib/session.d.ts.map +0 -1
  794. package/dist/src/shared/lib/session.js +0 -10
  795. package/dist/src/shared/lib/session.js.map +0 -1
  796. package/dist/src/shared/lib/storage.d.ts +0 -25
  797. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  798. package/dist/src/shared/lib/storage.js +0 -17
  799. package/dist/src/shared/lib/storage.js.map +0 -1
  800. package/dist/src/shared/lib/types.d.ts +0 -22
  801. package/dist/src/shared/lib/types.d.ts.map +0 -1
  802. package/dist/src/shared/lib/types.js +0 -16
  803. package/dist/src/shared/lib/types.js.map +0 -1
  804. package/dist/src/shared/lib/util.d.ts +0 -33
  805. package/dist/src/shared/lib/util.d.ts.map +0 -1
  806. package/dist/src/shared/lib/util.js +0 -126
  807. package/dist/src/shared/lib/util.js.map +0 -1
  808. package/dist/src/shared/providers/AuthContext.d.ts +0 -10
  809. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  810. package/dist/src/shared/providers/AuthContext.js +0 -3
  811. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  812. package/dist/src/shared/providers/AuthProvider.d.ts +0 -20
  813. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  814. package/dist/src/shared/providers/AuthProvider.js +0 -263
  815. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  816. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  817. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  818. package/dist/src/shared/providers/CivicAuthProvider.js +0 -15
  819. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  820. package/dist/src/shared/providers/ConfigProvider.d.ts +0 -21
  821. package/dist/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  822. package/dist/src/shared/providers/ConfigProvider.js +0 -19
  823. package/dist/src/shared/providers/ConfigProvider.js.map +0 -1
  824. package/dist/src/shared/providers/IframeProvider.d.ts +0 -16
  825. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  826. package/dist/src/shared/providers/IframeProvider.js +0 -11
  827. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  828. package/dist/src/shared/providers/SessionProvider.d.ts +0 -13
  829. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  830. package/dist/src/shared/providers/SessionProvider.js +0 -13
  831. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  832. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  833. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  834. package/dist/src/shared/providers/TokenProvider.js +0 -53
  835. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  836. package/dist/src/shared/providers/UserProvider.d.ts +0 -18
  837. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  838. package/dist/src/shared/providers/UserProvider.js +0 -38
  839. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  840. package/dist/src/types.d.ts +0 -146
  841. package/dist/src/types.d.ts.map +0 -1
  842. package/dist/src/types.js +0 -2
  843. package/dist/src/types.js.map +0 -1
  844. package/dist/src/utils.d.ts +0 -15
  845. package/dist/src/utils.d.ts.map +0 -1
  846. package/dist/src/utils.js +0 -43
  847. package/dist/src/utils.js.map +0 -1
  848. package/dist/test/integration/sdk.test.d.ts +0 -2
  849. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  850. package/dist/test/integration/sdk.test.js +0 -183
  851. package/dist/test/integration/sdk.test.js.map +0 -1
  852. package/dist/test/support/fixtures.d.ts +0 -26
  853. package/dist/test/support/fixtures.d.ts.map +0 -1
  854. package/dist/test/support/fixtures.js +0 -55
  855. package/dist/test/support/fixtures.js.map +0 -1
  856. package/dist/test/support/tokens.json +0 -26
  857. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  858. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  859. package/dist/test/unit/lib/oauth.test.js +0 -55
  860. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  861. package/dist/test/unit/logger.test.d.ts +0 -2
  862. package/dist/test/unit/logger.test.d.ts.map +0 -1
  863. package/dist/test/unit/logger.test.js +0 -141
  864. package/dist/test/unit/logger.test.js.map +0 -1
  865. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  866. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  867. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -29
  868. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  869. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  870. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  871. package/dist/test/unit/nextjs/config.test.js +0 -189
  872. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  873. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  874. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  875. package/dist/test/unit/nextjs/getUser.test.js +0 -36
  876. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  877. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  878. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  879. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  880. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  881. package/dist/test/unit/nextjs/routeHandler.test.d.ts +0 -2
  882. package/dist/test/unit/nextjs/routeHandler.test.d.ts.map +0 -1
  883. package/dist/test/unit/nextjs/routeHandler.test.js +0 -271
  884. package/dist/test/unit/nextjs/routeHandler.test.js.map +0 -1
  885. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  886. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  887. package/dist/test/unit/nextjs/utils.test.js +0 -13
  888. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  889. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  890. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  891. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  892. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  893. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  894. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  895. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  896. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  897. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  898. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  899. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  900. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  901. package/dist/test/unit/server/login.test.d.ts +0 -2
  902. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  903. package/dist/test/unit/server/login.test.js +0 -127
  904. package/dist/test/unit/server/login.test.js.map +0 -1
  905. package/dist/test/unit/server/session.test.d.ts +0 -2
  906. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  907. package/dist/test/unit/server/session.test.js +0 -41
  908. package/dist/test/unit/server/session.test.js.map +0 -1
  909. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  910. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  911. package/dist/test/unit/services/AuthenticationService.test.js +0 -104
  912. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  913. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  914. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  915. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -74
  916. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  917. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  918. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  919. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -61
  920. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  921. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  922. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  923. package/dist/test/unit/shared/UserSession.test.js +0 -37
  924. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  925. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  926. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  927. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -120
  928. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  929. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  930. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  931. package/dist/test/unit/shared/storage.test.js +0 -53
  932. package/dist/test/unit/shared/storage.test.js.map +0 -1
  933. package/dist/test/unit/utils.test.d.ts +0 -2
  934. package/dist/test/unit/utils.test.d.ts.map +0 -1
  935. package/dist/test/unit/utils.test.js +0 -40
  936. package/dist/test/unit/utils.test.js.map +0 -1
  937. package/dist/tsconfig.tsbuildinfo +0 -1
  938. package/dist/vitest.config.d.ts +0 -3
  939. package/dist/vitest.config.d.ts.map +0 -1
  940. package/dist/vitest.config.js +0 -40
  941. package/dist/vitest.config.js.map +0 -1
  942. package/src/browser/storage.ts +0 -11
  943. package/src/config.ts +0 -6
  944. package/src/constants.ts +0 -29
  945. package/src/index.ts +0 -16
  946. package/src/lib/cookies.ts +0 -28
  947. package/src/lib/jwt.ts +0 -15
  948. package/src/lib/logger.ts +0 -72
  949. package/src/lib/oauth.ts +0 -83
  950. package/src/lib/postMessage.ts +0 -22
  951. package/src/lib/windowUtil.ts +0 -29
  952. package/src/nextjs/GetUser.ts +0 -22
  953. package/src/nextjs/config.ts +0 -207
  954. package/src/nextjs/cookies.ts +0 -166
  955. package/src/nextjs/hooks/index.ts +0 -1
  956. package/src/nextjs/hooks/useTokenCookie.ts +0 -41
  957. package/src/nextjs/hooks/useUserCookie.ts +0 -41
  958. package/src/nextjs/index.ts +0 -20
  959. package/src/nextjs/middleware/index.ts +0 -1
  960. package/src/nextjs/middleware.ts +0 -155
  961. package/src/nextjs/providers/NextAuthProvider.tsx +0 -87
  962. package/src/nextjs/routeHandler.ts +0 -301
  963. package/src/nextjs/utils.ts +0 -9
  964. package/src/reactjs/components/SignInButton.tsx +0 -32
  965. package/src/reactjs/components/SignOutButton.tsx +0 -24
  966. package/src/reactjs/components/UserButton.tsx +0 -215
  967. package/src/reactjs/components/index.ts +0 -5
  968. package/src/reactjs/hooks/index.ts +0 -7
  969. package/src/reactjs/hooks/useAuth.ts +0 -15
  970. package/src/reactjs/hooks/useUser.ts +0 -20
  971. package/src/reactjs/index.ts +0 -19
  972. package/src/reactjs/providers/index.ts +0 -27
  973. package/src/server/ServerAuthenticationResolver.ts +0 -107
  974. package/src/server/config.ts +0 -17
  975. package/src/server/index.ts +0 -12
  976. package/src/server/login.ts +0 -59
  977. package/src/server/refresh.ts +0 -23
  978. package/src/services/AuthenticationService.ts +0 -334
  979. package/src/services/PKCE.ts +0 -45
  980. package/src/services/types.ts +0 -54
  981. package/src/shared/components/CivicAuthIframe.tsx +0 -26
  982. package/src/shared/components/CivicAuthIframeContainer.tsx +0 -194
  983. package/src/shared/components/CloseIcon.tsx +0 -21
  984. package/src/shared/components/LoadingIcon.tsx +0 -53
  985. package/src/shared/hooks/index.ts +0 -4
  986. package/src/shared/hooks/useAuth.ts +0 -15
  987. package/src/shared/hooks/useConfig.ts +0 -14
  988. package/src/shared/hooks/useIframe.ts +0 -14
  989. package/src/shared/hooks/useSession.ts +0 -14
  990. package/src/shared/hooks/useToken.ts +0 -15
  991. package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -75
  992. package/src/shared/lib/UserSession.ts +0 -25
  993. package/src/shared/lib/session.ts +0 -11
  994. package/src/shared/lib/storage.ts +0 -40
  995. package/src/shared/lib/types.ts +0 -26
  996. package/src/shared/lib/util.ts +0 -214
  997. package/src/shared/providers/AuthContext.tsx +0 -11
  998. package/src/shared/providers/AuthProvider.tsx +0 -390
  999. package/src/shared/providers/CivicAuthProvider.tsx +0 -31
  1000. package/src/shared/providers/ConfigProvider.tsx +0 -50
  1001. package/src/shared/providers/IframeProvider.tsx +0 -34
  1002. package/src/shared/providers/SessionProvider.tsx +0 -29
  1003. package/src/shared/providers/TokenProvider.tsx +0 -78
  1004. package/src/shared/providers/UserProvider.tsx +0 -80
  1005. package/src/types.ts +0 -227
  1006. package/src/utils.ts +0 -58
  1007. package/test/integration/sdk.test.tsx +0 -266
  1008. package/test/support/fixtures.ts +0 -56
  1009. package/test/support/tokens.json +0 -26
  1010. package/test/unit/lib/oauth.test.ts +0 -72
  1011. package/test/unit/logger.test.ts +0 -175
  1012. package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
  1013. package/test/unit/nextjs/config.test.ts +0 -218
  1014. package/test/unit/nextjs/getUser.test.ts +0 -41
  1015. package/test/unit/nextjs/middleware.test.ts +0 -138
  1016. package/test/unit/nextjs/routeHandler.test.ts.skipped +0 -369
  1017. package/test/unit/nextjs/utils.test.ts +0 -17
  1018. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -24
  1019. package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
  1020. package/test/unit/react/components/SignInButton.test.tsx +0 -50
  1021. package/test/unit/react/components/SignOutButton.test.tsx +0 -49
  1022. package/test/unit/server/login.test.ts +0 -179
  1023. package/test/unit/server/session.test.ts +0 -51
  1024. package/test/unit/services/AuthenticationService.test.ts +0 -152
  1025. package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -110
  1026. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
  1027. package/test/unit/shared/UserSession.test.ts +0 -42
  1028. package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
  1029. package/test/unit/shared/storage.test.ts +0 -67
  1030. package/test/unit/utils.test.ts +0 -48
  1031. package/tsconfig.build.json +0 -5
  1032. package/tsconfig.cjs.json +0 -8
  1033. package/tsconfig.esm.json +0 -7
  1034. package/tsconfig.json +0 -42
  1035. package/vitest.config.ts +0 -41
@@ -1,22 +0,0 @@
1
- export declare enum OAuthTokens {
2
- ID_TOKEN = "id_token",
3
- ACCESS_TOKEN = "access_token",
4
- REFRESH_TOKEN = "refresh_token"
5
- }
6
- export declare enum CodeVerifier {
7
- COOKIE_NAME = "code_verifier",
8
- APP_URL = "app_url"
9
- }
10
- export declare enum UserStorage {
11
- USER = "user"
12
- }
13
- export interface CookieConfig {
14
- secure?: boolean;
15
- sameSite?: "strict" | "lax" | "none";
16
- domain?: string;
17
- path?: string;
18
- maxAge?: number;
19
- httpOnly?: boolean;
20
- }
21
- export type TokensCookieConfig = Record<OAuthTokens | CodeVerifier, CookieConfig>;
22
- //# 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,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAChC;AAED,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;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC,WAAW,GAAG,YAAY,EAC1B,YAAY,CACb,CAAC"}
@@ -1,16 +0,0 @@
1
- export var OAuthTokens;
2
- (function (OAuthTokens) {
3
- OAuthTokens["ID_TOKEN"] = "id_token";
4
- OAuthTokens["ACCESS_TOKEN"] = "access_token";
5
- OAuthTokens["REFRESH_TOKEN"] = "refresh_token";
6
- })(OAuthTokens || (OAuthTokens = {}));
7
- export var CodeVerifier;
8
- (function (CodeVerifier) {
9
- CodeVerifier["COOKIE_NAME"] = "code_verifier";
10
- CodeVerifier["APP_URL"] = "app_url";
11
- })(CodeVerifier || (CodeVerifier = {}));
12
- export var UserStorage;
13
- (function (UserStorage) {
14
- UserStorage["USER"] = "user";
15
- })(UserStorage || (UserStorage = {}));
16
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/shared/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4CAA6B,CAAA;IAC7B,8CAA+B,CAAA;AACjC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AACD,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,4BAAa,CAAA;AACf,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB","sourcesContent":["export enum OAuthTokens {\n ID_TOKEN = \"id_token\",\n ACCESS_TOKEN = \"access_token\",\n REFRESH_TOKEN = \"refresh_token\",\n}\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}\n\nexport type TokensCookieConfig = Record<\n OAuthTokens | CodeVerifier,\n CookieConfig\n>;\n"]}
@@ -1,33 +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
- /**
5
- * Given a PKCE code verifier, derive the code challenge using SHA
6
- */
7
- export declare function deriveCodeChallenge(codeVerifier: string, method?: "Plain" | "S256"): Promise<string>;
8
- export declare function getEndpointsWithOverrides(oauthServer: string, endpointOverrides?: Partial<Endpoints>): Promise<Endpoints>;
9
- export declare function generateOauthLoginUrl(config: {
10
- clientId: string;
11
- scopes: string[];
12
- state: string;
13
- redirectUrl: string;
14
- oauthServer: string;
15
- nonce?: string;
16
- endpointOverrides?: Partial<Endpoints>;
17
- pkceConsumer: PKCEConsumer;
18
- }): Promise<URL>;
19
- export declare function generateOauthLogoutUrl(config: {
20
- clientId: string;
21
- scopes: string[];
22
- oauthServer: string;
23
- endpointOverrides?: Partial<Endpoints>;
24
- pkceConsumer: PKCEConsumer;
25
- }): Promise<URL>;
26
- export declare function buildOauth2Client(clientId: string, redirectUri: string, endpoints: Endpoints): OAuth2Client;
27
- export declare function exchangeTokens(code: string, state: string, pkceProducer: PKCEProducer, oauth2Client: OAuth2Client, oauthServer: string, endpoints: Endpoints): Promise<OIDCTokenResponseBody>;
28
- export declare function storeTokens(storage: AuthStorage, tokens: OIDCTokenResponseBody): void;
29
- export declare function clearTokens(storage: AuthStorage): void;
30
- export declare function clearUser(storage: AuthStorage): void;
31
- export declare function retrieveTokens(storage: AuthStorage): OIDCTokenResponseBody | null;
32
- export declare function validateOauth2Tokens(tokens: OIDCTokenResponseBody, endpoints: Endpoints, oauth2Client: OAuth2Client, issuer: string): Promise<ParsedTokens>;
33
- //# 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,EAET,qBAAqB,EACrB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGtE;;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,CA4Bf;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,CAIf;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,kCAqBrB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,qBAAqB,QAO9B;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,QAO/C;AACD,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,QAG7C;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,GACnB,qBAAqB,GAAG,IAAI,CAY9B;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,126 +0,0 @@
1
- import { CodeVerifier, OAuthTokens } from "./types.js";
2
- import { OAuth2Client } from "oslo/oauth2";
3
- import { getIssuerVariations, getOauthEndpoints } from "../../lib/oauth.js";
4
- import * as jose from "jose";
5
- import { withoutUndefined } from "../../utils.js";
6
- import { GenericUserSession } from "../../shared/lib/UserSession.js";
7
- /**
8
- * Given a PKCE code verifier, derive the code challenge using SHA
9
- */
10
- export async function deriveCodeChallenge(codeVerifier, method = "S256") {
11
- if (method === "Plain") {
12
- console.warn("Using insecure plain code challenge method");
13
- return codeVerifier;
14
- }
15
- const encoder = new TextEncoder();
16
- const data = encoder.encode(codeVerifier);
17
- const digest = await crypto.subtle.digest("SHA-256", data);
18
- return btoa(String.fromCharCode(...new Uint8Array(digest)))
19
- .replace(/\+/g, "-")
20
- .replace(/\//g, "_")
21
- .replace(/=+$/, "");
22
- }
23
- export async function getEndpointsWithOverrides(oauthServer, endpointOverrides = {}) {
24
- const endpoints = await getOauthEndpoints(oauthServer);
25
- return {
26
- ...endpoints,
27
- ...endpointOverrides,
28
- };
29
- }
30
- export async function generateOauthLoginUrl(config) {
31
- const endpoints = await getEndpointsWithOverrides(config.oauthServer, config.endpointOverrides);
32
- const oauth2Client = buildOauth2Client(config.clientId, config.redirectUrl, endpoints);
33
- const challenge = await config.pkceConsumer.getCodeChallenge();
34
- const oAuthUrl = await oauth2Client.createAuthorizationURL({
35
- state: config.state,
36
- scopes: config.scopes,
37
- });
38
- // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source
39
- // It only allows passing in a code verifier which it then hashes itself.
40
- oAuthUrl.searchParams.append("code_challenge", challenge);
41
- oAuthUrl.searchParams.append("code_challenge_method", "S256");
42
- if (config.nonce) {
43
- // nonce isn't supported by oslo, so we add it manually
44
- oAuthUrl.searchParams.append("nonce", config.nonce);
45
- }
46
- // Required by the auth server for offline_access scope
47
- oAuthUrl.searchParams.append("prompt", "consent");
48
- console.log("Generated OAuth URL", oAuthUrl.toString());
49
- return oAuthUrl;
50
- }
51
- export async function generateOauthLogoutUrl(config) {
52
- // TODO TECH-676: Implement logout
53
- console.log("generateOauthLogoutUrl not implemented", config);
54
- return new URL("http://localhost");
55
- }
56
- export function buildOauth2Client(clientId, redirectUri, endpoints) {
57
- return new OAuth2Client(clientId, endpoints.auth, endpoints.token, {
58
- redirectURI: redirectUri,
59
- });
60
- }
61
- export async function exchangeTokens(code, state, pkceProducer, oauth2Client, oauthServer, endpoints) {
62
- const codeVerifier = await pkceProducer.getCodeVerifier();
63
- if (!codeVerifier)
64
- throw new Error("Code verifier not found in state");
65
- const tokens = await oauth2Client.validateAuthorizationCode(code, {
66
- codeVerifier,
67
- });
68
- // Validate relevant tokens
69
- try {
70
- await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);
71
- }
72
- catch (error) {
73
- console.error("tokenExchange error", { error, tokens });
74
- throw new Error(`OIDC tokens validation failed: ${error.message}`);
75
- }
76
- return tokens;
77
- }
78
- export function storeTokens(storage, tokens) {
79
- // store tokens in storage ( TODO we should probably store them against the state to allow multiple logins )
80
- storage.set(OAuthTokens.ID_TOKEN, tokens.id_token);
81
- storage.set(OAuthTokens.ACCESS_TOKEN, tokens.access_token);
82
- if (tokens.refresh_token)
83
- storage.set(OAuthTokens.REFRESH_TOKEN, tokens.refresh_token);
84
- }
85
- export function clearTokens(storage) {
86
- Object.values(OAuthTokens).forEach((cookie) => {
87
- storage.set(cookie, "");
88
- });
89
- Object.values(CodeVerifier.COOKIE_NAME).forEach((cookie) => {
90
- storage.set(cookie, "");
91
- });
92
- }
93
- export function clearUser(storage) {
94
- const userSession = new GenericUserSession(storage);
95
- userSession.set(null);
96
- }
97
- export function retrieveTokens(storage) {
98
- const idToken = storage.get(OAuthTokens.ID_TOKEN);
99
- const accessToken = storage.get(OAuthTokens.ACCESS_TOKEN);
100
- const refreshToken = storage.get(OAuthTokens.REFRESH_TOKEN);
101
- if (!idToken || !accessToken)
102
- return null;
103
- return {
104
- id_token: idToken,
105
- access_token: accessToken,
106
- refresh_token: refreshToken ?? undefined,
107
- };
108
- }
109
- export async function validateOauth2Tokens(tokens, endpoints, oauth2Client, issuer) {
110
- const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));
111
- // validate the ID token
112
- const idTokenResponse = await jose.jwtVerify(tokens.id_token, JWKS, {
113
- issuer: getIssuerVariations(issuer),
114
- audience: oauth2Client.clientId,
115
- });
116
- // validate the access token
117
- const accessTokenResponse = await jose.jwtVerify(tokens.access_token, JWKS, {
118
- issuer: getIssuerVariations(issuer),
119
- });
120
- return withoutUndefined({
121
- id_token: idTokenResponse.payload,
122
- access_token: accessTokenResponse.payload,
123
- refresh_token: tokens.refresh_token,
124
- });
125
- }
126
- //# 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 JWTPayload,\n OIDCTokenResponseBody,\n ParsedTokens,\n} from \"@/types.js\";\nimport { CodeVerifier, OAuthTokens } 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\";\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 console.log(\"Generated OAuth URL\", oAuthUrl.toString());\n return oAuthUrl;\n}\n\nexport async function generateOauthLogoutUrl(config: {\n clientId: string;\n scopes: string[];\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n // TODO TECH-676: Implement logout\n console.log(\"generateOauthLogoutUrl not implemented\", config);\n return new URL(\"http://localhost\");\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\n return tokens;\n}\n\nexport function storeTokens(\n storage: AuthStorage,\n tokens: OIDCTokenResponseBody,\n) {\n // store tokens in storage ( TODO we should probably store them against the state to allow multiple logins )\n storage.set(OAuthTokens.ID_TOKEN, tokens.id_token);\n storage.set(OAuthTokens.ACCESS_TOKEN, tokens.access_token);\n if (tokens.refresh_token)\n storage.set(OAuthTokens.REFRESH_TOKEN, tokens.refresh_token);\n}\n\nexport function clearTokens(storage: AuthStorage) {\n Object.values(OAuthTokens).forEach((cookie) => {\n storage.set(cookie, \"\");\n });\n Object.values(CodeVerifier.COOKIE_NAME).forEach((cookie) => {\n storage.set(cookie, \"\");\n });\n}\nexport function clearUser(storage: AuthStorage) {\n const userSession = new GenericUserSession(storage);\n userSession.set(null);\n}\n\nexport function retrieveTokens(\n storage: AuthStorage,\n): OIDCTokenResponseBody | null {\n const idToken = storage.get(OAuthTokens.ID_TOKEN);\n const accessToken = storage.get(OAuthTokens.ACCESS_TOKEN);\n const refreshToken = storage.get(OAuthTokens.REFRESH_TOKEN);\n\n if (!idToken || !accessToken) return null;\n\n return {\n id_token: idToken,\n access_token: accessToken,\n refresh_token: refreshToken ?? undefined,\n };\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,10 +0,0 @@
1
- import type { 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
- };
9
- export declare const AuthContext: import("react").Context<AuthContextType | null>;
10
- //# sourceMappingURL=AuthContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/AuthContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,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;CAC9B,CAAC;AACF,eAAO,MAAM,WAAW,iDAA8C,CAAC"}
@@ -1,3 +0,0 @@
1
- import { createContext } from "react";
2
- export const AuthContext = createContext(null);
3
- //# sourceMappingURL=AuthContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../../../../src/shared/providers/AuthContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAUtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAC","sourcesContent":["import { createContext } from \"react\";\nimport type { 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};\nexport const AuthContext = createContext<AuthContextType | null>(null);\n"]}
@@ -1,20 +0,0 @@
1
- import React, { type ReactNode } from "react";
2
- import type { Config, SessionData } from "../../types.js";
3
- import type { PKCEConsumer } from "../../services/types.js";
4
- export type AuthProviderProps = {
5
- children: ReactNode;
6
- clientId: string;
7
- nonce?: string;
8
- onSignIn?: (error?: Error) => void;
9
- onSignOut?: () => Promise<void>;
10
- modalIframe?: boolean;
11
- config?: Config;
12
- redirectUrl?: string;
13
- };
14
- export type InternalAuthProviderProps = AuthProviderProps & {
15
- sessionData?: SessionData;
16
- pkceConsumer?: PKCEConsumer;
17
- };
18
- declare const AuthProvider: ({ children, clientId, redirectUrl: inputRedirectUrl, config, onSignIn, onSignOut, pkceConsumer, nonce, modalIframe, sessionData: inputSessionData, }: InternalAuthProviderProps) => React.JSX.Element | null;
19
- export { AuthProvider };
20
- //# 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,EACZ,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,MAAM,EAAe,WAAW,EAAE,MAAM,YAAY,CAAC;AAanE,OAAO,KAAK,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAqBhF,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,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAkCF,QAAA,MAAM,YAAY,yJAWf,yBAAyB,6BA2R3B,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,263 +0,0 @@
1
- "use client";
2
- import React, { useCallback, useEffect, useMemo, useRef, useState, } from "react";
3
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
4
- import { CivicAuthIframeContainer } from "../../shared/components/CivicAuthIframeContainer.js";
5
- import { TokenProvider } from "../../shared/providers/TokenProvider.js";
6
- import { SessionProvider } from "../../shared/providers/SessionProvider.js";
7
- import { DEFAULT_SCOPES } from "../../constants.js";
8
- import { authConfig } from "../../config.js";
9
- import { LoadingIcon } from "../../shared/components/LoadingIcon.js";
10
- import { isWindowInIframe } from "../../lib/windowUtil.js";
11
- import { AuthContext } from "../../shared/providers/AuthContext.js";
12
- import { BrowserAuthenticationInitiator, BrowserAuthenticationService, } from "../../services/AuthenticationService.js";
13
- import { PopupError } from "../../services/types.js";
14
- import { ConfidentialClientPKCEConsumer } from "../../services/PKCE.js";
15
- import { generateState } from "../../lib/oauth.js";
16
- import { LocalStorageAdapter } from "../../browser/storage.js";
17
- import { ConfigProvider } from "../../shared/providers/ConfigProvider.js";
18
- import { getUser } from "../lib/session.js";
19
- import { GenericUserSession } from "../lib/UserSession.js";
20
- import { IframeProvider } from "../../shared/providers/IframeProvider.js";
21
- // Global this object setup
22
- let globalThisObject;
23
- if (typeof window !== "undefined") {
24
- globalThisObject = window;
25
- }
26
- else if (typeof global !== "undefined") {
27
- globalThisObject = global;
28
- }
29
- else {
30
- globalThisObject = Function("return this")();
31
- }
32
- globalThisObject.globalThis = globalThisObject;
33
- function BlockDisplay({ children }) {
34
- return (React.createElement("div", { style: {
35
- position: "relative",
36
- left: 0,
37
- top: 0,
38
- zIndex: 50,
39
- display: "flex",
40
- height: "100vh",
41
- width: "100vw",
42
- alignItems: "center",
43
- justifyContent: "center",
44
- backgroundColor: "white",
45
- } },
46
- React.createElement("div", { style: {
47
- position: "absolute",
48
- inset: 0,
49
- display: "flex",
50
- alignItems: "center",
51
- justifyContent: "center",
52
- backgroundColor: "white",
53
- } }, children)));
54
- }
55
- const AuthProvider = ({ children, clientId, redirectUrl: inputRedirectUrl, config = authConfig, onSignIn, onSignOut, pkceConsumer, nonce, modalIframe = true, sessionData: inputSessionData, }) => {
56
- const [iframeUrl, setIframeUrl] = useState(null);
57
- const [currentUrl, setCurrentUrl] = useState(null);
58
- const [isInIframe, setIsInIframe] = useState(false);
59
- const [authResponseUrl, setAuthResponseUrl] = useState(null);
60
- const [tokenExchangeError, setTokenExchangeError] = useState();
61
- const [displayMode, setDisplayMode] = useState("iframe");
62
- const [browserAuthenticationInitiator, setBrowserAuthenticationInitiator] = useState();
63
- const [showIFrame, setShowIFrame] = useState(false);
64
- const [isRedirecting, setIsRedirecting] = useState(false);
65
- const queryClient = useQueryClient();
66
- const iframeRef = useRef(null);
67
- // TODO maybe we want to support or derive serverTokenExchange another way?
68
- const serverTokenExchange = pkceConsumer instanceof ConfidentialClientPKCEConsumer;
69
- // check if the current window is in an iframe with the iframe id, and set an isInIframe state
70
- useEffect(() => {
71
- if (typeof globalThis.window !== "undefined") {
72
- setCurrentUrl(globalThis.window.location.href);
73
- const isInIframeVal = isWindowInIframe(globalThis.window);
74
- setIsInIframe(isInIframeVal);
75
- }
76
- }, []);
77
- const redirectUrl = useMemo(() => (inputRedirectUrl || currentUrl || "").split("?")[0], [currentUrl, inputRedirectUrl]);
78
- const [authService, setAuthService] = useState();
79
- useEffect(() => {
80
- if (!currentUrl || !redirectUrl)
81
- return;
82
- BrowserAuthenticationService.build({
83
- clientId,
84
- redirectUrl,
85
- oauthServer: config.oauthServer,
86
- scopes: DEFAULT_SCOPES,
87
- displayMode,
88
- }).then(setAuthService);
89
- }, [currentUrl, clientId, redirectUrl, config, displayMode]);
90
- const { data: session, isLoading, error, } = useQuery({
91
- queryKey: [
92
- "session",
93
- authResponseUrl,
94
- iframeUrl,
95
- currentUrl,
96
- isInIframe,
97
- authService,
98
- ],
99
- queryFn: async () => {
100
- if (!authService) {
101
- return { authenticated: false };
102
- }
103
- if (inputSessionData) {
104
- return inputSessionData;
105
- }
106
- const url = new URL(authResponseUrl
107
- ? authResponseUrl
108
- : globalThis.window.location.href || "");
109
- // if we have existing tokens, then validate them and return the session data
110
- // otherwise check if we have a code in the url and exchange it for tokens
111
- // if we have neither, return undefined
112
- const existingSessionData = await authService.validateExistingSession();
113
- if (existingSessionData.authenticated) {
114
- return existingSessionData;
115
- }
116
- const code = url.searchParams.get("code");
117
- const state = url.searchParams.get("state");
118
- if (!serverTokenExchange && code && state && !isInIframe) {
119
- try {
120
- await authService.tokenExchange(code, state);
121
- const clientStorage = new LocalStorageAdapter();
122
- const user = await getUser(clientStorage);
123
- if (!user) {
124
- throw new Error("Failed to get user info");
125
- }
126
- const userSession = new GenericUserSession(clientStorage);
127
- userSession.set(user);
128
- onSignIn?.(); // Call onSignIn without an error if successful
129
- return authService.getSessionData();
130
- }
131
- catch (error) {
132
- setTokenExchangeError(error);
133
- onSignIn?.(error instanceof Error ? error : new Error("Failed to sign in")); // Pass the error to onSignIn
134
- return { authenticated: false };
135
- }
136
- }
137
- return existingSessionData;
138
- },
139
- });
140
- const signOutMutation = useMutation({
141
- mutationFn: async () => {
142
- await onSignOut?.();
143
- // Implement signOut logic here
144
- const authInitiator = getAuthInitiator();
145
- await authInitiator?.signOut();
146
- setIframeUrl(null);
147
- setShowIFrame(false);
148
- setAuthResponseUrl(null);
149
- },
150
- onSuccess: () => {
151
- queryClient.setQueryData([
152
- "session",
153
- authResponseUrl,
154
- iframeUrl,
155
- currentUrl,
156
- isInIframe,
157
- authService,
158
- ], null);
159
- },
160
- });
161
- const getAuthInitiator = useCallback((overrideDisplayMode) => {
162
- const useDisplayMode = overrideDisplayMode || displayMode;
163
- if (!pkceConsumer || !redirectUrl) {
164
- return null;
165
- }
166
- return (browserAuthenticationInitiator ||
167
- new BrowserAuthenticationInitiator({
168
- pkceConsumer, // generate and retrieve the challenge client-side
169
- clientId,
170
- redirectUrl,
171
- state: generateState(useDisplayMode, serverTokenExchange),
172
- scopes: DEFAULT_SCOPES,
173
- displayMode: useDisplayMode,
174
- oauthServer: config.oauthServer,
175
- // the endpoints to use for the login (if not obtained from the auth server
176
- endpointOverrides: config.endpoints,
177
- nonce,
178
- }));
179
- }, [
180
- serverTokenExchange,
181
- displayMode,
182
- browserAuthenticationInitiator,
183
- clientId,
184
- redirectUrl,
185
- config.oauthServer,
186
- config.endpoints,
187
- pkceConsumer,
188
- nonce,
189
- ]);
190
- const signIn = useCallback(async (overrideDisplayMode = "iframe") => {
191
- setDisplayMode(overrideDisplayMode);
192
- const authInitiator = getAuthInitiator(overrideDisplayMode);
193
- setBrowserAuthenticationInitiator(authInitiator);
194
- if (overrideDisplayMode === "iframe") {
195
- setShowIFrame(true);
196
- }
197
- else if (overrideDisplayMode === "redirect") {
198
- setIsRedirecting(true);
199
- }
200
- authInitiator?.signIn(iframeRef.current).catch((error) => {
201
- console.log("signIn error", {
202
- error,
203
- isPopupError: error instanceof PopupError,
204
- });
205
- // if we've tried to open a popup and it has failed, then fallback to redirect mode
206
- if (error instanceof PopupError) {
207
- signIn("redirect");
208
- }
209
- });
210
- }, [getAuthInitiator]);
211
- // remove event listeners when the component unmounts
212
- useEffect(() => {
213
- return () => {
214
- if (browserAuthenticationInitiator) {
215
- browserAuthenticationInitiator.cleanup();
216
- }
217
- };
218
- }, [browserAuthenticationInitiator]);
219
- const isAuthenticated = useMemo(() => (session ? session.authenticated : false), [session]);
220
- useQuery({
221
- queryKey: ["autoSignIn", modalIframe, redirectUrl, isAuthenticated],
222
- queryFn: async () => {
223
- if (!modalIframe &&
224
- redirectUrl &&
225
- !isAuthenticated &&
226
- iframeRef.current) {
227
- signIn("iframe");
228
- }
229
- return true;
230
- },
231
- refetchOnWindowFocus: false,
232
- });
233
- const value = useMemo(() => ({
234
- isLoading,
235
- error: error,
236
- signOut: async () => {
237
- await signOutMutation.mutateAsync();
238
- },
239
- isAuthenticated,
240
- signIn,
241
- }), [isLoading, error, signOutMutation, isAuthenticated, signIn]);
242
- if (!redirectUrl)
243
- return null;
244
- return (React.createElement(AuthContext.Provider, { value: value },
245
- React.createElement(ConfigProvider, { config: config, redirectUrl: redirectUrl, modalIframe: modalIframe, serverTokenExchange: serverTokenExchange },
246
- React.createElement(IframeProvider, { setAuthResponseUrl: setAuthResponseUrl, iframeRef: iframeRef },
247
- React.createElement(SessionProvider, { session: session },
248
- React.createElement(TokenProvider, null,
249
- modalIframe && !isInIframe && !session?.authenticated && (React.createElement("div", { style: showIFrame ? { display: "block" } : { display: "none" } },
250
- React.createElement(CivicAuthIframeContainer, { onClose: () => setShowIFrame(false) }))),
251
- modalIframe &&
252
- (isInIframe ||
253
- isRedirecting ||
254
- (isLoading && !serverTokenExchange)) && (React.createElement(BlockDisplay, null,
255
- React.createElement(LoadingIcon, null))),
256
- (tokenExchangeError || error) && (React.createElement(BlockDisplay, null,
257
- React.createElement("div", null,
258
- "Error: ",
259
- (tokenExchangeError || error).message))),
260
- children))))));
261
- };
262
- export { AuthProvider };
263
- //# sourceMappingURL=AuthProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../../../../src/shared/providers/AuthProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, {\n type ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport type { Config, DisplayMode, SessionData } from \"@/types.js\";\nimport { CivicAuthIframeContainer } from \"@/shared/components/CivicAuthIframeContainer.js\";\nimport { TokenProvider } from \"@/shared/providers/TokenProvider.js\";\nimport { SessionProvider } from \"@/shared/providers/SessionProvider.js\";\nimport { DEFAULT_SCOPES } from \"@/constants.js\";\nimport { authConfig } from \"@/config.js\";\nimport { LoadingIcon } from \"@/shared/components/LoadingIcon.js\";\nimport { isWindowInIframe } from \"@/lib/windowUtil.js\";\nimport { AuthContext } from \"@/shared/providers/AuthContext.js\";\nimport {\n BrowserAuthenticationInitiator,\n BrowserAuthenticationService,\n} from \"@/services/AuthenticationService.js\";\nimport type { AuthenticationResolver, PKCEConsumer } from \"@/services/types.js\";\nimport { PopupError } from \"@/services/types.js\";\nimport { ConfidentialClientPKCEConsumer } from \"@/services/PKCE.js\";\nimport { generateState } from \"@/lib/oauth.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { ConfigProvider } from \"@/shared/providers/ConfigProvider.js\";\nimport { getUser } from \"../lib/session.js\";\nimport { GenericUserSession } from \"../lib/UserSession.js\";\nimport { IframeProvider } from \"@/shared/providers/IframeProvider.js\";\n\n// Global this object setup\nlet globalThisObject;\nif (typeof window !== \"undefined\") {\n globalThisObject = window;\n} else if (typeof global !== \"undefined\") {\n globalThisObject = global;\n} else {\n globalThisObject = Function(\"return this\")();\n}\nglobalThisObject.globalThis = globalThisObject;\n\nexport type AuthProviderProps = {\n children: ReactNode;\n clientId: string;\n nonce?: string;\n onSignIn?: (error?: Error) => void;\n onSignOut?: () => Promise<void>;\n modalIframe?: boolean; // set to false if the iframe is being embedded in the client app\n config?: Config;\n redirectUrl?: string;\n};\n\nexport type InternalAuthProviderProps = AuthProviderProps & {\n sessionData?: SessionData;\n pkceConsumer?: PKCEConsumer;\n};\n\nfunction BlockDisplay({ children }: { children: ReactNode }) {\n return (\n <div\n style={{\n position: \"relative\",\n left: 0,\n top: 0,\n zIndex: 50,\n display: \"flex\",\n height: \"100vh\",\n width: \"100vw\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"white\",\n }}\n >\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"white\",\n }}\n >\n {children}\n </div>\n </div>\n );\n}\n\nconst AuthProvider = ({\n children,\n clientId,\n redirectUrl: inputRedirectUrl,\n config = authConfig,\n onSignIn,\n onSignOut,\n pkceConsumer,\n nonce,\n modalIframe = true,\n sessionData: inputSessionData,\n}: InternalAuthProviderProps) => {\n const [iframeUrl, setIframeUrl] = useState<string | null>(null);\n const [currentUrl, setCurrentUrl] = useState<string | null>(null);\n const [isInIframe, setIsInIframe] = useState(false);\n const [authResponseUrl, setAuthResponseUrl] = useState<string | null>(null);\n const [tokenExchangeError, setTokenExchangeError] = useState<Error>();\n const [displayMode, setDisplayMode] = useState<DisplayMode>(\"iframe\");\n const [browserAuthenticationInitiator, setBrowserAuthenticationInitiator] =\n useState<BrowserAuthenticationInitiator | null>();\n const [showIFrame, setShowIFrame] = useState(false);\n const [isRedirecting, setIsRedirecting] = useState(false);\n const queryClient = useQueryClient();\n const iframeRef = useRef<HTMLIFrameElement>(null);\n\n // TODO maybe we want to support or derive serverTokenExchange another way?\n const serverTokenExchange =\n pkceConsumer instanceof ConfidentialClientPKCEConsumer;\n // check if the current window is in an iframe with the iframe id, and set an isInIframe state\n useEffect(() => {\n if (typeof globalThis.window !== \"undefined\") {\n setCurrentUrl(globalThis.window.location.href);\n const isInIframeVal = isWindowInIframe(globalThis.window);\n setIsInIframe(isInIframeVal);\n }\n }, []);\n\n const redirectUrl = useMemo(\n () => (inputRedirectUrl || currentUrl || \"\").split(\"?\")[0],\n [currentUrl, inputRedirectUrl],\n );\n\n const [authService, setAuthService] = useState<AuthenticationResolver>();\n\n useEffect(() => {\n if (!currentUrl || !redirectUrl) return;\n BrowserAuthenticationService.build({\n clientId,\n redirectUrl,\n oauthServer: config.oauthServer,\n scopes: DEFAULT_SCOPES,\n displayMode,\n }).then(setAuthService);\n }, [currentUrl, clientId, redirectUrl, config, displayMode]);\n\n const {\n data: session,\n isLoading,\n error,\n } = useQuery({\n queryKey: [\n \"session\",\n authResponseUrl,\n iframeUrl,\n currentUrl,\n isInIframe,\n authService,\n ],\n queryFn: async () => {\n if (!authService) {\n return { authenticated: false };\n }\n if (inputSessionData) {\n return inputSessionData;\n }\n const url = new URL(\n authResponseUrl\n ? authResponseUrl\n : globalThis.window.location.href || \"\",\n );\n // if we have existing tokens, then validate them and return the session data\n // otherwise check if we have a code in the url and exchange it for tokens\n // if we have neither, return undefined\n const existingSessionData = await authService.validateExistingSession();\n if (existingSessionData.authenticated) {\n return existingSessionData;\n }\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n if (!serverTokenExchange && code && state && !isInIframe) {\n try {\n await authService.tokenExchange(code, state);\n const clientStorage = new LocalStorageAdapter();\n const user = await getUser(clientStorage);\n if (!user) {\n throw new Error(\"Failed to get user info\");\n }\n\n const userSession = new GenericUserSession(clientStorage);\n userSession.set(user);\n\n onSignIn?.(); // Call onSignIn without an error if successful\n return authService.getSessionData();\n } catch (error) {\n setTokenExchangeError(error as Error);\n onSignIn?.(\n error instanceof Error ? error : new Error(\"Failed to sign in\"),\n ); // Pass the error to onSignIn\n return { authenticated: false };\n }\n }\n\n return existingSessionData;\n },\n });\n\n const signOutMutation = useMutation({\n mutationFn: async () => {\n await onSignOut?.();\n // Implement signOut logic here\n const authInitiator = getAuthInitiator();\n await authInitiator?.signOut();\n setIframeUrl(null);\n setShowIFrame(false);\n setAuthResponseUrl(null);\n },\n onSuccess: () => {\n queryClient.setQueryData(\n [\n \"session\",\n authResponseUrl,\n iframeUrl,\n currentUrl,\n isInIframe,\n authService,\n ],\n null,\n );\n },\n });\n\n const getAuthInitiator = useCallback(\n (overrideDisplayMode?: DisplayMode) => {\n const useDisplayMode = overrideDisplayMode || displayMode;\n if (!pkceConsumer || !redirectUrl) {\n return null;\n }\n return (\n browserAuthenticationInitiator ||\n new BrowserAuthenticationInitiator({\n pkceConsumer, // generate and retrieve the challenge client-side\n clientId,\n redirectUrl,\n state: generateState(useDisplayMode, serverTokenExchange),\n scopes: DEFAULT_SCOPES,\n displayMode: useDisplayMode,\n oauthServer: config.oauthServer,\n // the endpoints to use for the login (if not obtained from the auth server\n endpointOverrides: config.endpoints,\n nonce,\n })\n );\n },\n [\n serverTokenExchange,\n displayMode,\n browserAuthenticationInitiator,\n clientId,\n redirectUrl,\n config.oauthServer,\n config.endpoints,\n pkceConsumer,\n nonce,\n ],\n );\n\n const signIn = useCallback(\n async (overrideDisplayMode: DisplayMode = \"iframe\") => {\n setDisplayMode(overrideDisplayMode);\n const authInitiator = getAuthInitiator(overrideDisplayMode);\n setBrowserAuthenticationInitiator(authInitiator);\n if (overrideDisplayMode === \"iframe\") {\n setShowIFrame(true);\n } else if (overrideDisplayMode === \"redirect\") {\n setIsRedirecting(true);\n }\n authInitiator?.signIn(iframeRef.current).catch((error) => {\n console.log(\"signIn error\", {\n error,\n isPopupError: error instanceof PopupError,\n });\n // if we've tried to open a popup and it has failed, then fallback to redirect mode\n if (error instanceof PopupError) {\n signIn(\"redirect\");\n }\n });\n },\n [getAuthInitiator],\n );\n\n // remove event listeners when the component unmounts\n useEffect(() => {\n return () => {\n if (browserAuthenticationInitiator) {\n browserAuthenticationInitiator.cleanup();\n }\n };\n }, [browserAuthenticationInitiator]);\n\n const isAuthenticated = useMemo(\n () => (session ? session.authenticated : false),\n [session],\n );\n\n useQuery({\n queryKey: [\"autoSignIn\", modalIframe, redirectUrl, isAuthenticated],\n queryFn: async () => {\n if (\n !modalIframe &&\n redirectUrl &&\n !isAuthenticated &&\n iframeRef.current\n ) {\n signIn(\"iframe\");\n }\n return true;\n },\n refetchOnWindowFocus: false,\n });\n\n const value = useMemo(\n () => ({\n isLoading,\n error: error as Error | null,\n signOut: async () => {\n await signOutMutation.mutateAsync();\n },\n isAuthenticated,\n signIn,\n }),\n [isLoading, error, signOutMutation, isAuthenticated, signIn],\n );\n\n if (!redirectUrl) return null;\n\n return (\n <AuthContext.Provider value={value}>\n <ConfigProvider\n config={config}\n redirectUrl={redirectUrl}\n modalIframe={modalIframe}\n serverTokenExchange={serverTokenExchange}\n >\n <IframeProvider\n setAuthResponseUrl={setAuthResponseUrl}\n iframeRef={iframeRef}\n >\n <SessionProvider session={session}>\n <TokenProvider>\n {modalIframe && !isInIframe && !session?.authenticated && (\n <div\n style={\n showIFrame ? { display: \"block\" } : { display: \"none\" }\n }\n >\n <CivicAuthIframeContainer\n onClose={() => setShowIFrame(false)}\n />\n </div>\n )}\n\n {modalIframe &&\n (isInIframe ||\n isRedirecting ||\n (isLoading && !serverTokenExchange)) && (\n <BlockDisplay>\n <LoadingIcon />\n </BlockDisplay>\n )}\n\n {(tokenExchangeError || error) && (\n <BlockDisplay>\n <div>\n Error: {(tokenExchangeError || (error as Error)).message}\n </div>\n </BlockDisplay>\n )}\n {children}\n </TokenProvider>\n </SessionProvider>\n </IframeProvider>\n </ConfigProvider>\n </AuthContext.Provider>\n );\n};\n\nexport { AuthProvider };\n"]}
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- import { type AuthProviderProps } from "../../shared/providers/AuthProvider.js";
3
- type CivicAuthProviderProps = Omit<AuthProviderProps, "pkceConsumer">;
4
- declare const CivicAuthProvider: ({ children, ...props }: CivicAuthProviderProps) => React.JSX.Element;
5
- export { CivicAuthProvider, type CivicAuthProviderProps };
6
- //# sourceMappingURL=CivicAuthProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthProvider.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/CivicAuthProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAQ5C,KAAK,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAEtE,QAAA,MAAM,iBAAiB,2BAA4B,sBAAsB,sBAaxE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- "use client";
2
- import React from "react";
3
- import { AuthProvider, } from "../../shared/providers/AuthProvider.js";
4
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
5
- import { BrowserPublicClientPKCEProducer } from "../../services/PKCE.js";
6
- import { UserProvider } from "./UserProvider.js";
7
- import { LocalStorageAdapter } from "../../browser/storage.js";
8
- const queryClient = new QueryClient();
9
- const CivicAuthProvider = ({ children, ...props }) => {
10
- return (React.createElement(QueryClientProvider, { client: queryClient },
11
- React.createElement(AuthProvider, { ...props, pkceConsumer: new BrowserPublicClientPKCEProducer() },
12
- React.createElement(UserProvider, { storage: new LocalStorageAdapter() }, children))));
13
- };
14
- export { CivicAuthProvider };
15
- //# sourceMappingURL=CivicAuthProvider.js.map