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

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 (1080) hide show
  1. package/README.md +4 -26
  2. package/dist/{chunk-63YGK3A7.mjs → chunk-3UIVD6NR.mjs} +69 -24
  3. package/dist/chunk-3UIVD6NR.mjs.map +1 -0
  4. package/dist/chunk-CRTRMMJ7.js.map +1 -1
  5. package/dist/chunk-KBDRDCE5.mjs +239 -0
  6. package/dist/chunk-KBDRDCE5.mjs.map +1 -0
  7. package/dist/{chunk-O3WGNLRO.mjs → chunk-NQPMNXBL.mjs} +31 -50
  8. package/dist/chunk-NQPMNXBL.mjs.map +1 -0
  9. package/dist/chunk-OLT5HB3G.js +239 -0
  10. package/dist/chunk-OLT5HB3G.js.map +1 -0
  11. package/dist/{chunk-6RFRDWIP.js → chunk-T47HULF6.js} +75 -30
  12. package/dist/chunk-T47HULF6.js.map +1 -0
  13. package/dist/{chunk-JDZPCA3P.js → chunk-WPISYQG3.js} +32 -51
  14. package/dist/chunk-WPISYQG3.js.map +1 -0
  15. package/dist/index-DoDoIY_K.d.mts +79 -0
  16. package/dist/index-DoDoIY_K.d.ts +79 -0
  17. package/dist/index.css +11 -12
  18. package/dist/index.css.map +1 -1
  19. package/dist/index.d.mts +1 -3
  20. package/dist/index.d.ts +1 -3
  21. package/dist/index.js +1 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +0 -1
  24. package/dist/nextjs.d.mts +18 -60
  25. package/dist/nextjs.d.ts +18 -60
  26. package/dist/nextjs.js +94 -156
  27. package/dist/nextjs.js.map +1 -1
  28. package/dist/nextjs.mjs +85 -147
  29. package/dist/nextjs.mjs.map +1 -1
  30. package/dist/react.d.mts +84 -30
  31. package/dist/react.d.ts +84 -30
  32. package/dist/react.js +975 -22
  33. package/dist/react.js.map +1 -1
  34. package/dist/react.mjs +1008 -55
  35. package/dist/react.mjs.map +1 -1
  36. package/dist/server.d.mts +29 -3
  37. package/dist/server.d.ts +29 -3
  38. package/dist/server.js +3 -4
  39. package/dist/server.js.map +1 -1
  40. package/dist/server.mjs +3 -4
  41. package/package.json +42 -52
  42. package/.eslintignore +0 -3
  43. package/.eslintrc.json +0 -10
  44. package/.prettierignore +0 -3
  45. package/.prettierrc +0 -1
  46. package/.turbo/turbo-build.log +0 -13
  47. package/.turbo/turbo-lint.log +0 -14
  48. package/.turbo/turbo-test.log +0 -1678
  49. package/civic-auth-0.0.1-beta.15.tgz +0 -0
  50. package/civic-auth-0.0.1-beta.17.tgz +0 -0
  51. package/dist/AuthProvider-BYZ8w92b.d.mts +0 -15
  52. package/dist/AuthProvider-BgOwv9h8.d.ts +0 -15
  53. package/dist/AuthProvider-Bj_Prt1x.d.ts +0 -21
  54. package/dist/AuthProvider-DUAoX4G9.d.mts +0 -21
  55. package/dist/UserProvider-BA2uflVB.d.ts +0 -16
  56. package/dist/UserProvider-Bl3j1PUO.d.mts +0 -16
  57. package/dist/UserProvider-CMLaYOUD.d.ts +0 -16
  58. package/dist/UserProvider-Cbm8MZkJ.d.mts +0 -16
  59. package/dist/chunk-4PLCDPEN.mjs +0 -599
  60. package/dist/chunk-4PLCDPEN.mjs.map +0 -1
  61. package/dist/chunk-5UQQYXCX.js +0 -1
  62. package/dist/chunk-5UQQYXCX.js.map +0 -1
  63. package/dist/chunk-63YGK3A7.mjs.map +0 -1
  64. package/dist/chunk-6RFRDWIP.js.map +0 -1
  65. package/dist/chunk-7K3QN2AT.js +0 -599
  66. package/dist/chunk-7K3QN2AT.js.map +0 -1
  67. package/dist/chunk-AM2Y662I.js +0 -601
  68. package/dist/chunk-AM2Y662I.js.map +0 -1
  69. package/dist/chunk-AP4627CS.mjs +0 -223
  70. package/dist/chunk-AP4627CS.mjs.map +0 -1
  71. package/dist/chunk-CTVJJBBA.js +0 -118
  72. package/dist/chunk-CTVJJBBA.js.map +0 -1
  73. package/dist/chunk-EKLYHP2D.mjs +0 -711
  74. package/dist/chunk-EKLYHP2D.mjs.map +0 -1
  75. package/dist/chunk-FHRZSX3C.js +0 -710
  76. package/dist/chunk-FHRZSX3C.js.map +0 -1
  77. package/dist/chunk-GB3H3I47.js +0 -711
  78. package/dist/chunk-GB3H3I47.js.map +0 -1
  79. package/dist/chunk-JDZPCA3P.js.map +0 -1
  80. package/dist/chunk-JEOPLLWO.js +0 -223
  81. package/dist/chunk-JEOPLLWO.js.map +0 -1
  82. package/dist/chunk-MK7557NR.mjs +0 -118
  83. package/dist/chunk-MK7557NR.mjs.map +0 -1
  84. package/dist/chunk-NLRREFOX.mjs +0 -710
  85. package/dist/chunk-NLRREFOX.mjs.map +0 -1
  86. package/dist/chunk-O3WGNLRO.mjs.map +0 -1
  87. package/dist/chunk-OXXUQ36U.mjs +0 -283
  88. package/dist/chunk-OXXUQ36U.mjs.map +0 -1
  89. package/dist/chunk-PMJAV4JJ.mjs +0 -1
  90. package/dist/chunk-PMJAV4JJ.mjs.map +0 -1
  91. package/dist/chunk-Q7DSPTUG.mjs +0 -601
  92. package/dist/chunk-Q7DSPTUG.mjs.map +0 -1
  93. package/dist/chunk-TH6FI2XI.js +0 -283
  94. package/dist/chunk-TH6FI2XI.js.map +0 -1
  95. package/dist/cjs/src/browser/storage.d.ts +0 -6
  96. package/dist/cjs/src/browser/storage.d.ts.map +0 -1
  97. package/dist/cjs/src/browser/storage.js +0 -13
  98. package/dist/cjs/src/browser/storage.js.map +0 -1
  99. package/dist/cjs/src/config.d.ts +0 -3
  100. package/dist/cjs/src/config.d.ts.map +0 -1
  101. package/dist/cjs/src/config.js +0 -8
  102. package/dist/cjs/src/config.js.map +0 -1
  103. package/dist/cjs/src/constants.d.ts +0 -9
  104. package/dist/cjs/src/constants.d.ts.map +0 -1
  105. package/dist/cjs/src/constants.js +0 -26
  106. package/dist/cjs/src/constants.js.map +0 -1
  107. package/dist/cjs/src/index.d.ts +0 -4
  108. package/dist/cjs/src/index.d.ts.map +0 -1
  109. package/dist/cjs/src/index.js +0 -3
  110. package/dist/cjs/src/index.js.map +0 -1
  111. package/dist/cjs/src/lib/cookies.d.ts +0 -7
  112. package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
  113. package/dist/cjs/src/lib/cookies.js +0 -26
  114. package/dist/cjs/src/lib/cookies.js.map +0 -1
  115. package/dist/cjs/src/lib/jwt.d.ts +0 -3
  116. package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
  117. package/dist/cjs/src/lib/jwt.js +0 -13
  118. package/dist/cjs/src/lib/jwt.js.map +0 -1
  119. package/dist/cjs/src/lib/logger.d.ts +0 -26
  120. package/dist/cjs/src/lib/logger.d.ts.map +0 -1
  121. package/dist/cjs/src/lib/logger.js +0 -62
  122. package/dist/cjs/src/lib/logger.js.map +0 -1
  123. package/dist/cjs/src/lib/oauth.d.ts +0 -19
  124. package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
  125. package/dist/cjs/src/lib/oauth.js +0 -67
  126. package/dist/cjs/src/lib/oauth.js.map +0 -1
  127. package/dist/cjs/src/lib/postMessage.d.ts +0 -4
  128. package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
  129. package/dist/cjs/src/lib/postMessage.js +0 -18
  130. package/dist/cjs/src/lib/postMessage.js.map +0 -1
  131. package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
  132. package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
  133. package/dist/cjs/src/lib/windowUtil.js +0 -34
  134. package/dist/cjs/src/lib/windowUtil.js.map +0 -1
  135. package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
  136. package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
  137. package/dist/cjs/src/nextjs/GetUser.js +0 -22
  138. package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
  139. package/dist/cjs/src/nextjs/config.d.ts +0 -178
  140. package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
  141. package/dist/cjs/src/nextjs/config.js +0 -167
  142. package/dist/cjs/src/nextjs/config.js.map +0 -1
  143. package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
  144. package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
  145. package/dist/cjs/src/nextjs/cookies.js +0 -119
  146. package/dist/cjs/src/nextjs/cookies.js.map +0 -1
  147. package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
  148. package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
  149. package/dist/cjs/src/nextjs/hooks/index.js +0 -6
  150. package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
  151. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  152. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  153. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
  154. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  155. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  156. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  157. package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
  158. package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
  159. package/dist/cjs/src/nextjs/index.d.ts +0 -7
  160. package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
  161. package/dist/cjs/src/nextjs/index.js +0 -18
  162. package/dist/cjs/src/nextjs/index.js.map +0 -1
  163. package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
  164. package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
  165. package/dist/cjs/src/nextjs/middleware/index.js +0 -8
  166. package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
  167. package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
  168. package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
  169. package/dist/cjs/src/nextjs/middleware.js +0 -116
  170. package/dist/cjs/src/nextjs/middleware.js.map +0 -1
  171. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  172. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  173. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -76
  174. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  175. package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
  176. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
  177. package/dist/cjs/src/nextjs/routeHandler.js +0 -217
  178. package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
  179. package/dist/cjs/src/nextjs/utils.d.ts +0 -3
  180. package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
  181. package/dist/cjs/src/nextjs/utils.js +0 -9
  182. package/dist/cjs/src/nextjs/utils.js.map +0 -1
  183. package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
  184. package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
  185. package/dist/cjs/src/reactjs/components/SignInButton.js +0 -20
  186. package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
  187. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
  188. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  189. package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -20
  190. package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
  191. package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
  192. package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
  193. package/dist/cjs/src/reactjs/components/UserButton.js +0 -136
  194. package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
  195. package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
  196. package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
  197. package/dist/cjs/src/reactjs/components/index.js +0 -14
  198. package/dist/cjs/src/reactjs/components/index.js.map +0 -1
  199. package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -7
  200. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
  201. package/dist/cjs/src/reactjs/hooks/index.js +0 -16
  202. package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
  203. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
  204. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  205. package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
  206. package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
  207. package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
  208. package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
  209. package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
  210. package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
  211. package/dist/cjs/src/reactjs/index.d.ts +0 -6
  212. package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
  213. package/dist/cjs/src/reactjs/index.js +0 -30
  214. package/dist/cjs/src/reactjs/index.js.map +0 -1
  215. package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
  216. package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
  217. package/dist/cjs/src/reactjs/providers/index.js +0 -19
  218. package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
  219. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
  220. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  221. package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -61
  222. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
  223. package/dist/cjs/src/server/config.d.ts +0 -16
  224. package/dist/cjs/src/server/config.d.ts.map +0 -1
  225. package/dist/cjs/src/server/config.js +0 -3
  226. package/dist/cjs/src/server/config.js.map +0 -1
  227. package/dist/cjs/src/server/index.d.ts +0 -6
  228. package/dist/cjs/src/server/index.d.ts.map +0 -1
  229. package/dist/cjs/src/server/index.js +0 -14
  230. package/dist/cjs/src/server/index.js.map +0 -1
  231. package/dist/cjs/src/server/login.d.ts +0 -17
  232. package/dist/cjs/src/server/login.d.ts.map +0 -1
  233. package/dist/cjs/src/server/login.js +0 -42
  234. package/dist/cjs/src/server/login.js.map +0 -1
  235. package/dist/cjs/src/server/refresh.d.ts +0 -7
  236. package/dist/cjs/src/server/refresh.d.ts.map +0 -1
  237. package/dist/cjs/src/server/refresh.js +0 -16
  238. package/dist/cjs/src/server/refresh.js.map +0 -1
  239. package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
  240. package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
  241. package/dist/cjs/src/services/AuthenticationService.js +0 -218
  242. package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
  243. package/dist/cjs/src/services/PKCE.d.ts +0 -20
  244. package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
  245. package/dist/cjs/src/services/PKCE.js +0 -50
  246. package/dist/cjs/src/services/PKCE.js.map +0 -1
  247. package/dist/cjs/src/services/types.d.ts +0 -23
  248. package/dist/cjs/src/services/types.d.ts.map +0 -1
  249. package/dist/cjs/src/services/types.js +0 -11
  250. package/dist/cjs/src/services/types.js.map +0 -1
  251. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
  252. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  253. package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
  254. package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
  255. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  256. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  257. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -154
  258. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  259. package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
  260. package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
  261. package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
  262. package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
  263. package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
  264. package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
  265. package/dist/cjs/src/shared/components/LoadingIcon.js +0 -36
  266. package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
  267. package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
  268. package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
  269. package/dist/cjs/src/shared/hooks/index.js +0 -12
  270. package/dist/cjs/src/shared/hooks/index.js.map +0 -1
  271. package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
  272. package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
  273. package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
  274. package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
  275. package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
  276. package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
  277. package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
  278. package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
  279. package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
  280. package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
  281. package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
  282. package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
  283. package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
  284. package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
  285. package/dist/cjs/src/shared/hooks/useSession.js +0 -16
  286. package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
  287. package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
  288. package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
  289. package/dist/cjs/src/shared/hooks/useToken.js +0 -15
  290. package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
  291. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  292. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  293. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  294. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  295. package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
  296. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
  297. package/dist/cjs/src/shared/lib/UserSession.js +0 -24
  298. package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
  299. package/dist/cjs/src/shared/lib/session.d.ts +0 -3
  300. package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
  301. package/dist/cjs/src/shared/lib/session.js +0 -13
  302. package/dist/cjs/src/shared/lib/session.js.map +0 -1
  303. package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
  304. package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
  305. package/dist/cjs/src/shared/lib/storage.js +0 -21
  306. package/dist/cjs/src/shared/lib/storage.js.map +0 -1
  307. package/dist/cjs/src/shared/lib/types.d.ts +0 -22
  308. package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
  309. package/dist/cjs/src/shared/lib/types.js +0 -19
  310. package/dist/cjs/src/shared/lib/types.js.map +0 -1
  311. package/dist/cjs/src/shared/lib/util.d.ts +0 -33
  312. package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
  313. package/dist/cjs/src/shared/lib/util.js +0 -163
  314. package/dist/cjs/src/shared/lib/util.js.map +0 -1
  315. package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
  316. package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
  317. package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
  318. package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
  319. package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -20
  320. package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
  321. package/dist/cjs/src/shared/providers/AuthProvider.js +0 -289
  322. package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
  323. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  324. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  325. package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -21
  326. package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
  327. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
  328. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  329. package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
  330. package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
  331. package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
  332. package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
  333. package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
  334. package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
  335. package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
  336. package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
  337. package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
  338. package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
  339. package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
  340. package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
  341. package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
  342. package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
  343. package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
  344. package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
  345. package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
  346. package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
  347. package/dist/cjs/src/types.d.ts +0 -146
  348. package/dist/cjs/src/types.d.ts.map +0 -1
  349. package/dist/cjs/src/types.js +0 -3
  350. package/dist/cjs/src/types.js.map +0 -1
  351. package/dist/cjs/src/utils.d.ts +0 -15
  352. package/dist/cjs/src/utils.d.ts.map +0 -1
  353. package/dist/cjs/src/utils.js +0 -47
  354. package/dist/cjs/src/utils.js.map +0 -1
  355. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  356. package/dist/esm/src/browser/storage.d.ts +0 -6
  357. package/dist/esm/src/browser/storage.d.ts.map +0 -1
  358. package/dist/esm/src/browser/storage.js +0 -9
  359. package/dist/esm/src/browser/storage.js.map +0 -1
  360. package/dist/esm/src/config.d.ts +0 -3
  361. package/dist/esm/src/config.d.ts.map +0 -1
  362. package/dist/esm/src/config.js +0 -5
  363. package/dist/esm/src/config.js.map +0 -1
  364. package/dist/esm/src/constants.d.ts +0 -9
  365. package/dist/esm/src/constants.d.ts.map +0 -1
  366. package/dist/esm/src/constants.js +0 -17
  367. package/dist/esm/src/constants.js.map +0 -1
  368. package/dist/esm/src/index.d.ts +0 -4
  369. package/dist/esm/src/index.d.ts.map +0 -1
  370. package/dist/esm/src/index.js +0 -2
  371. package/dist/esm/src/index.js.map +0 -1
  372. package/dist/esm/src/lib/cookies.d.ts +0 -7
  373. package/dist/esm/src/lib/cookies.d.ts.map +0 -1
  374. package/dist/esm/src/lib/cookies.js +0 -23
  375. package/dist/esm/src/lib/cookies.js.map +0 -1
  376. package/dist/esm/src/lib/jwt.d.ts +0 -3
  377. package/dist/esm/src/lib/jwt.d.ts.map +0 -1
  378. package/dist/esm/src/lib/jwt.js +0 -9
  379. package/dist/esm/src/lib/jwt.js.map +0 -1
  380. package/dist/esm/src/lib/logger.d.ts +0 -26
  381. package/dist/esm/src/lib/logger.d.ts.map +0 -1
  382. package/dist/esm/src/lib/logger.js +0 -55
  383. package/dist/esm/src/lib/logger.js.map +0 -1
  384. package/dist/esm/src/lib/oauth.d.ts +0 -19
  385. package/dist/esm/src/lib/oauth.d.ts.map +0 -1
  386. package/dist/esm/src/lib/oauth.js +0 -60
  387. package/dist/esm/src/lib/oauth.js.map +0 -1
  388. package/dist/esm/src/lib/postMessage.d.ts +0 -4
  389. package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
  390. package/dist/esm/src/lib/postMessage.js +0 -15
  391. package/dist/esm/src/lib/postMessage.js.map +0 -1
  392. package/dist/esm/src/lib/windowUtil.d.ts +0 -4
  393. package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
  394. package/dist/esm/src/lib/windowUtil.js +0 -30
  395. package/dist/esm/src/lib/windowUtil.js.map +0 -1
  396. package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
  397. package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
  398. package/dist/esm/src/nextjs/GetUser.js +0 -18
  399. package/dist/esm/src/nextjs/GetUser.js.map +0 -1
  400. package/dist/esm/src/nextjs/config.d.ts +0 -178
  401. package/dist/esm/src/nextjs/config.d.ts.map +0 -1
  402. package/dist/esm/src/nextjs/config.js +0 -162
  403. package/dist/esm/src/nextjs/config.js.map +0 -1
  404. package/dist/esm/src/nextjs/cookies.d.ts +0 -30
  405. package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
  406. package/dist/esm/src/nextjs/cookies.js +0 -112
  407. package/dist/esm/src/nextjs/cookies.js.map +0 -1
  408. package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
  409. package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
  410. package/dist/esm/src/nextjs/hooks/index.js +0 -2
  411. package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
  412. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  413. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  414. package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
  415. package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  416. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  417. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  418. package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
  419. package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
  420. package/dist/esm/src/nextjs/index.d.ts +0 -7
  421. package/dist/esm/src/nextjs/index.d.ts.map +0 -1
  422. package/dist/esm/src/nextjs/index.js +0 -6
  423. package/dist/esm/src/nextjs/index.js.map +0 -1
  424. package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
  425. package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
  426. package/dist/esm/src/nextjs/middleware/index.js +0 -2
  427. package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
  428. package/dist/esm/src/nextjs/middleware.d.ts +0 -59
  429. package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
  430. package/dist/esm/src/nextjs/middleware.js +0 -107
  431. package/dist/esm/src/nextjs/middleware.js.map +0 -1
  432. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  433. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  434. package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -50
  435. package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  436. package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
  437. package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
  438. package/dist/esm/src/nextjs/routeHandler.js +0 -212
  439. package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
  440. package/dist/esm/src/nextjs/utils.d.ts +0 -3
  441. package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
  442. package/dist/esm/src/nextjs/utils.js +0 -5
  443. package/dist/esm/src/nextjs/utils.js.map +0 -1
  444. package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
  445. package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
  446. package/dist/esm/src/reactjs/components/SignInButton.js +0 -14
  447. package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
  448. package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
  449. package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  450. package/dist/esm/src/reactjs/components/SignOutButton.js +0 -14
  451. package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
  452. package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
  453. package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
  454. package/dist/esm/src/reactjs/components/UserButton.js +0 -110
  455. package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
  456. package/dist/esm/src/reactjs/components/index.d.ts +0 -6
  457. package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
  458. package/dist/esm/src/reactjs/components/index.js +0 -6
  459. package/dist/esm/src/reactjs/components/index.js.map +0 -1
  460. package/dist/esm/src/reactjs/hooks/index.d.ts +0 -7
  461. package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
  462. package/dist/esm/src/reactjs/hooks/index.js +0 -7
  463. package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
  464. package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
  465. package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  466. package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
  467. package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
  468. package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
  469. package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
  470. package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
  471. package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
  472. package/dist/esm/src/reactjs/index.d.ts +0 -6
  473. package/dist/esm/src/reactjs/index.d.ts.map +0 -1
  474. package/dist/esm/src/reactjs/index.js +0 -8
  475. package/dist/esm/src/reactjs/index.js.map +0 -1
  476. package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
  477. package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
  478. package/dist/esm/src/reactjs/providers/index.js +0 -7
  479. package/dist/esm/src/reactjs/providers/index.js.map +0 -1
  480. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
  481. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  482. package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -57
  483. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
  484. package/dist/esm/src/server/config.d.ts +0 -16
  485. package/dist/esm/src/server/config.d.ts.map +0 -1
  486. package/dist/esm/src/server/config.js +0 -2
  487. package/dist/esm/src/server/config.js.map +0 -1
  488. package/dist/esm/src/server/index.d.ts +0 -6
  489. package/dist/esm/src/server/index.d.ts.map +0 -1
  490. package/dist/esm/src/server/index.js +0 -5
  491. package/dist/esm/src/server/index.js.map +0 -1
  492. package/dist/esm/src/server/login.d.ts +0 -17
  493. package/dist/esm/src/server/login.d.ts.map +0 -1
  494. package/dist/esm/src/server/login.js +0 -37
  495. package/dist/esm/src/server/login.js.map +0 -1
  496. package/dist/esm/src/server/refresh.d.ts +0 -7
  497. package/dist/esm/src/server/refresh.d.ts.map +0 -1
  498. package/dist/esm/src/server/refresh.js +0 -13
  499. package/dist/esm/src/server/refresh.js.map +0 -1
  500. package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
  501. package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
  502. package/dist/esm/src/services/AuthenticationService.js +0 -212
  503. package/dist/esm/src/services/AuthenticationService.js.map +0 -1
  504. package/dist/esm/src/services/PKCE.d.ts +0 -20
  505. package/dist/esm/src/services/PKCE.d.ts.map +0 -1
  506. package/dist/esm/src/services/PKCE.js +0 -44
  507. package/dist/esm/src/services/PKCE.js.map +0 -1
  508. package/dist/esm/src/services/types.d.ts +0 -23
  509. package/dist/esm/src/services/types.d.ts.map +0 -1
  510. package/dist/esm/src/services/types.js +0 -7
  511. package/dist/esm/src/services/types.js.map +0 -1
  512. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
  513. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  514. package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
  515. package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
  516. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  517. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  518. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -128
  519. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  520. package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
  521. package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
  522. package/dist/esm/src/shared/components/CloseIcon.js +0 -6
  523. package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
  524. package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
  525. package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
  526. package/dist/esm/src/shared/components/LoadingIcon.js +0 -30
  527. package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
  528. package/dist/esm/src/shared/hooks/index.d.ts +0 -5
  529. package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
  530. package/dist/esm/src/shared/hooks/index.js +0 -5
  531. package/dist/esm/src/shared/hooks/index.js.map +0 -1
  532. package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
  533. package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
  534. package/dist/esm/src/shared/hooks/useAuth.js +0 -12
  535. package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
  536. package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
  537. package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
  538. package/dist/esm/src/shared/hooks/useConfig.js +0 -13
  539. package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
  540. package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
  541. package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
  542. package/dist/esm/src/shared/hooks/useIframe.js +0 -13
  543. package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
  544. package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
  545. package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
  546. package/dist/esm/src/shared/hooks/useSession.js +0 -13
  547. package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
  548. package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
  549. package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
  550. package/dist/esm/src/shared/hooks/useToken.js +0 -12
  551. package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
  552. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  553. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  554. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -39
  555. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  556. package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
  557. package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
  558. package/dist/esm/src/shared/lib/UserSession.js +0 -20
  559. package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
  560. package/dist/esm/src/shared/lib/session.d.ts +0 -3
  561. package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
  562. package/dist/esm/src/shared/lib/session.js +0 -10
  563. package/dist/esm/src/shared/lib/session.js.map +0 -1
  564. package/dist/esm/src/shared/lib/storage.d.ts +0 -25
  565. package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
  566. package/dist/esm/src/shared/lib/storage.js +0 -17
  567. package/dist/esm/src/shared/lib/storage.js.map +0 -1
  568. package/dist/esm/src/shared/lib/types.d.ts +0 -22
  569. package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
  570. package/dist/esm/src/shared/lib/types.js +0 -16
  571. package/dist/esm/src/shared/lib/types.js.map +0 -1
  572. package/dist/esm/src/shared/lib/util.d.ts +0 -33
  573. package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
  574. package/dist/esm/src/shared/lib/util.js +0 -127
  575. package/dist/esm/src/shared/lib/util.js.map +0 -1
  576. package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
  577. package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
  578. package/dist/esm/src/shared/providers/AuthContext.js +0 -3
  579. package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
  580. package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -20
  581. package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
  582. package/dist/esm/src/shared/providers/AuthProvider.js +0 -263
  583. package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
  584. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  585. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  586. package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -15
  587. package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
  588. package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
  589. package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  590. package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
  591. package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
  592. package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
  593. package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
  594. package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
  595. package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
  596. package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
  597. package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
  598. package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
  599. package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
  600. package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
  601. package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
  602. package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
  603. package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
  604. package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
  605. package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
  606. package/dist/esm/src/shared/providers/UserProvider.js +0 -38
  607. package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
  608. package/dist/esm/src/types.d.ts +0 -146
  609. package/dist/esm/src/types.d.ts.map +0 -1
  610. package/dist/esm/src/types.js +0 -2
  611. package/dist/esm/src/types.js.map +0 -1
  612. package/dist/esm/src/utils.d.ts +0 -15
  613. package/dist/esm/src/utils.d.ts.map +0 -1
  614. package/dist/esm/src/utils.js +0 -43
  615. package/dist/esm/src/utils.js.map +0 -1
  616. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  617. package/dist/nextjs/client.css +0 -340
  618. package/dist/nextjs/client.css.map +0 -1
  619. package/dist/nextjs/client.d.mts +0 -10
  620. package/dist/nextjs/client.d.ts +0 -10
  621. package/dist/nextjs/client.js +0 -185
  622. package/dist/nextjs/client.js.map +0 -1
  623. package/dist/nextjs/client.mjs +0 -185
  624. package/dist/nextjs/client.mjs.map +0 -1
  625. package/dist/src/browser/storage.d.ts +0 -6
  626. package/dist/src/browser/storage.d.ts.map +0 -1
  627. package/dist/src/browser/storage.js +0 -9
  628. package/dist/src/browser/storage.js.map +0 -1
  629. package/dist/src/config.d.ts +0 -3
  630. package/dist/src/config.d.ts.map +0 -1
  631. package/dist/src/config.js +0 -5
  632. package/dist/src/config.js.map +0 -1
  633. package/dist/src/constants.d.ts +0 -9
  634. package/dist/src/constants.d.ts.map +0 -1
  635. package/dist/src/constants.js +0 -17
  636. package/dist/src/constants.js.map +0 -1
  637. package/dist/src/index.d.ts +0 -4
  638. package/dist/src/index.d.ts.map +0 -1
  639. package/dist/src/index.js +0 -2
  640. package/dist/src/index.js.map +0 -1
  641. package/dist/src/lib/cookies.d.ts +0 -7
  642. package/dist/src/lib/cookies.d.ts.map +0 -1
  643. package/dist/src/lib/cookies.js +0 -23
  644. package/dist/src/lib/cookies.js.map +0 -1
  645. package/dist/src/lib/jwt.d.ts +0 -3
  646. package/dist/src/lib/jwt.d.ts.map +0 -1
  647. package/dist/src/lib/jwt.js +0 -9
  648. package/dist/src/lib/jwt.js.map +0 -1
  649. package/dist/src/lib/logger.d.ts +0 -26
  650. package/dist/src/lib/logger.d.ts.map +0 -1
  651. package/dist/src/lib/logger.js +0 -55
  652. package/dist/src/lib/logger.js.map +0 -1
  653. package/dist/src/lib/oauth.d.ts +0 -19
  654. package/dist/src/lib/oauth.d.ts.map +0 -1
  655. package/dist/src/lib/oauth.js +0 -60
  656. package/dist/src/lib/oauth.js.map +0 -1
  657. package/dist/src/lib/postMessage.d.ts +0 -4
  658. package/dist/src/lib/postMessage.d.ts.map +0 -1
  659. package/dist/src/lib/postMessage.js +0 -15
  660. package/dist/src/lib/postMessage.js.map +0 -1
  661. package/dist/src/lib/windowUtil.d.ts +0 -4
  662. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  663. package/dist/src/lib/windowUtil.js +0 -30
  664. package/dist/src/lib/windowUtil.js.map +0 -1
  665. package/dist/src/nextjs/GetUser.d.ts +0 -6
  666. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  667. package/dist/src/nextjs/GetUser.js +0 -18
  668. package/dist/src/nextjs/GetUser.js.map +0 -1
  669. package/dist/src/nextjs/config.d.ts +0 -178
  670. package/dist/src/nextjs/config.d.ts.map +0 -1
  671. package/dist/src/nextjs/config.js +0 -164
  672. package/dist/src/nextjs/config.js.map +0 -1
  673. package/dist/src/nextjs/cookies.d.ts +0 -30
  674. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  675. package/dist/src/nextjs/cookies.js +0 -109
  676. package/dist/src/nextjs/cookies.js.map +0 -1
  677. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  678. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  679. package/dist/src/nextjs/hooks/index.js +0 -2
  680. package/dist/src/nextjs/hooks/index.js.map +0 -1
  681. package/dist/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  682. package/dist/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  683. package/dist/src/nextjs/hooks/useTokenCookie.js +0 -37
  684. package/dist/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  685. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  686. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  687. package/dist/src/nextjs/hooks/useUserCookie.js +0 -36
  688. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  689. package/dist/src/nextjs/index.d.ts +0 -7
  690. package/dist/src/nextjs/index.d.ts.map +0 -1
  691. package/dist/src/nextjs/index.js +0 -6
  692. package/dist/src/nextjs/index.js.map +0 -1
  693. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  694. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  695. package/dist/src/nextjs/middleware/index.js +0 -2
  696. package/dist/src/nextjs/middleware/index.js.map +0 -1
  697. package/dist/src/nextjs/middleware.d.ts +0 -59
  698. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  699. package/dist/src/nextjs/middleware.js +0 -107
  700. package/dist/src/nextjs/middleware.js.map +0 -1
  701. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  702. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  703. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -50
  704. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  705. package/dist/src/nextjs/routeHandler.d.ts +0 -18
  706. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  707. package/dist/src/nextjs/routeHandler.js +0 -216
  708. package/dist/src/nextjs/routeHandler.js.map +0 -1
  709. package/dist/src/nextjs/utils.d.ts +0 -3
  710. package/dist/src/nextjs/utils.d.ts.map +0 -1
  711. package/dist/src/nextjs/utils.js +0 -5
  712. package/dist/src/nextjs/utils.js.map +0 -1
  713. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  714. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  715. package/dist/src/reactjs/components/SignInButton.js +0 -14
  716. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  717. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  718. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  719. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  720. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  721. package/dist/src/reactjs/components/UserButton.d.ts +0 -8
  722. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  723. package/dist/src/reactjs/components/UserButton.js +0 -110
  724. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  725. package/dist/src/reactjs/components/index.d.ts +0 -6
  726. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  727. package/dist/src/reactjs/components/index.js +0 -6
  728. package/dist/src/reactjs/components/index.js.map +0 -1
  729. package/dist/src/reactjs/hooks/index.d.ts +0 -8
  730. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  731. package/dist/src/reactjs/hooks/index.js +0 -8
  732. package/dist/src/reactjs/hooks/index.js.map +0 -1
  733. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  734. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  735. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  736. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  737. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  738. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  739. package/dist/src/reactjs/hooks/useUser.js +0 -12
  740. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  741. package/dist/src/reactjs/index.d.ts +0 -6
  742. package/dist/src/reactjs/index.d.ts.map +0 -1
  743. package/dist/src/reactjs/index.js +0 -8
  744. package/dist/src/reactjs/index.js.map +0 -1
  745. package/dist/src/reactjs/providers/index.d.ts +0 -8
  746. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  747. package/dist/src/reactjs/providers/index.js +0 -7
  748. package/dist/src/reactjs/providers/index.js.map +0 -1
  749. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -18
  750. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  751. package/dist/src/server/ServerAuthenticationResolver.js +0 -62
  752. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  753. package/dist/src/server/config.d.ts +0 -16
  754. package/dist/src/server/config.d.ts.map +0 -1
  755. package/dist/src/server/config.js +0 -2
  756. package/dist/src/server/config.js.map +0 -1
  757. package/dist/src/server/index.d.ts +0 -6
  758. package/dist/src/server/index.d.ts.map +0 -1
  759. package/dist/src/server/index.js +0 -5
  760. package/dist/src/server/index.js.map +0 -1
  761. package/dist/src/server/login.d.ts +0 -17
  762. package/dist/src/server/login.d.ts.map +0 -1
  763. package/dist/src/server/login.js +0 -37
  764. package/dist/src/server/login.js.map +0 -1
  765. package/dist/src/server/refresh.d.ts +0 -7
  766. package/dist/src/server/refresh.d.ts.map +0 -1
  767. package/dist/src/server/refresh.js +0 -13
  768. package/dist/src/server/refresh.js.map +0 -1
  769. package/dist/src/services/AuthenticationService.d.ts +0 -87
  770. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  771. package/dist/src/services/AuthenticationService.js +0 -222
  772. package/dist/src/services/AuthenticationService.js.map +0 -1
  773. package/dist/src/services/PKCE.d.ts +0 -20
  774. package/dist/src/services/PKCE.d.ts.map +0 -1
  775. package/dist/src/services/PKCE.js +0 -44
  776. package/dist/src/services/PKCE.js.map +0 -1
  777. package/dist/src/services/types.d.ts +0 -23
  778. package/dist/src/services/types.d.ts.map +0 -1
  779. package/dist/src/services/types.js +0 -7
  780. package/dist/src/services/types.js.map +0 -1
  781. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -8
  782. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  783. package/dist/src/shared/components/CivicAuthIframe.js +0 -9
  784. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  785. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  786. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  787. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -130
  788. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  789. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  790. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  791. package/dist/src/shared/components/CloseIcon.js +0 -6
  792. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  793. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  794. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  795. package/dist/src/shared/components/LoadingIcon.js +0 -24
  796. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  797. package/dist/src/shared/hooks/index.d.ts +0 -5
  798. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  799. package/dist/src/shared/hooks/index.js +0 -5
  800. package/dist/src/shared/hooks/index.js.map +0 -1
  801. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  802. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  803. package/dist/src/shared/hooks/useAuth.js +0 -12
  804. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  805. package/dist/src/shared/hooks/useConfig.d.ts +0 -3
  806. package/dist/src/shared/hooks/useConfig.d.ts.map +0 -1
  807. package/dist/src/shared/hooks/useConfig.js +0 -13
  808. package/dist/src/shared/hooks/useConfig.js.map +0 -1
  809. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  810. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  811. package/dist/src/shared/hooks/useIframe.js +0 -13
  812. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  813. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  814. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  815. package/dist/src/shared/hooks/useSession.js +0 -13
  816. package/dist/src/shared/hooks/useSession.js.map +0 -1
  817. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  818. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  819. package/dist/src/shared/hooks/useToken.js +0 -12
  820. package/dist/src/shared/hooks/useToken.js.map +0 -1
  821. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  822. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  823. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  824. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  825. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  826. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  827. package/dist/src/shared/lib/UserSession.js +0 -20
  828. package/dist/src/shared/lib/UserSession.js.map +0 -1
  829. package/dist/src/shared/lib/session.d.ts +0 -3
  830. package/dist/src/shared/lib/session.d.ts.map +0 -1
  831. package/dist/src/shared/lib/session.js +0 -10
  832. package/dist/src/shared/lib/session.js.map +0 -1
  833. package/dist/src/shared/lib/storage.d.ts +0 -25
  834. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  835. package/dist/src/shared/lib/storage.js +0 -17
  836. package/dist/src/shared/lib/storage.js.map +0 -1
  837. package/dist/src/shared/lib/types.d.ts +0 -22
  838. package/dist/src/shared/lib/types.d.ts.map +0 -1
  839. package/dist/src/shared/lib/types.js +0 -16
  840. package/dist/src/shared/lib/types.js.map +0 -1
  841. package/dist/src/shared/lib/util.d.ts +0 -33
  842. package/dist/src/shared/lib/util.d.ts.map +0 -1
  843. package/dist/src/shared/lib/util.js +0 -126
  844. package/dist/src/shared/lib/util.js.map +0 -1
  845. package/dist/src/shared/providers/AuthContext.d.ts +0 -10
  846. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  847. package/dist/src/shared/providers/AuthContext.js +0 -3
  848. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  849. package/dist/src/shared/providers/AuthProvider.d.ts +0 -20
  850. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  851. package/dist/src/shared/providers/AuthProvider.js +0 -263
  852. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  853. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  854. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  855. package/dist/src/shared/providers/CivicAuthProvider.js +0 -15
  856. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  857. package/dist/src/shared/providers/ConfigProvider.d.ts +0 -21
  858. package/dist/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  859. package/dist/src/shared/providers/ConfigProvider.js +0 -19
  860. package/dist/src/shared/providers/ConfigProvider.js.map +0 -1
  861. package/dist/src/shared/providers/IframeProvider.d.ts +0 -16
  862. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  863. package/dist/src/shared/providers/IframeProvider.js +0 -11
  864. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  865. package/dist/src/shared/providers/SessionProvider.d.ts +0 -13
  866. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  867. package/dist/src/shared/providers/SessionProvider.js +0 -13
  868. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  869. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  870. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  871. package/dist/src/shared/providers/TokenProvider.js +0 -53
  872. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  873. package/dist/src/shared/providers/UserProvider.d.ts +0 -18
  874. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  875. package/dist/src/shared/providers/UserProvider.js +0 -38
  876. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  877. package/dist/src/types.d.ts +0 -146
  878. package/dist/src/types.d.ts.map +0 -1
  879. package/dist/src/types.js +0 -2
  880. package/dist/src/types.js.map +0 -1
  881. package/dist/src/utils.d.ts +0 -15
  882. package/dist/src/utils.d.ts.map +0 -1
  883. package/dist/src/utils.js +0 -43
  884. package/dist/src/utils.js.map +0 -1
  885. package/dist/storage-ANmRwpZ3.d.ts +0 -25
  886. package/dist/storage-B2eAQNdv.d.ts +0 -25
  887. package/dist/storage-BJPUpxhm.d.mts +0 -25
  888. package/dist/storage-BJyqsZwC.d.mts +0 -25
  889. package/dist/test/integration/sdk.test.d.ts +0 -2
  890. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  891. package/dist/test/integration/sdk.test.js +0 -183
  892. package/dist/test/integration/sdk.test.js.map +0 -1
  893. package/dist/test/support/fixtures.d.ts +0 -26
  894. package/dist/test/support/fixtures.d.ts.map +0 -1
  895. package/dist/test/support/fixtures.js +0 -55
  896. package/dist/test/support/fixtures.js.map +0 -1
  897. package/dist/test/support/tokens.json +0 -26
  898. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  899. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  900. package/dist/test/unit/lib/oauth.test.js +0 -55
  901. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  902. package/dist/test/unit/logger.test.d.ts +0 -2
  903. package/dist/test/unit/logger.test.d.ts.map +0 -1
  904. package/dist/test/unit/logger.test.js +0 -141
  905. package/dist/test/unit/logger.test.js.map +0 -1
  906. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  907. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  908. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -29
  909. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  910. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  911. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  912. package/dist/test/unit/nextjs/config.test.js +0 -189
  913. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  914. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  915. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  916. package/dist/test/unit/nextjs/getUser.test.js +0 -36
  917. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  918. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  919. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  920. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  921. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  922. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  923. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  924. package/dist/test/unit/nextjs/utils.test.js +0 -13
  925. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  926. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  927. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  928. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  929. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  930. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  931. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  932. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  933. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  934. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  935. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  936. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  937. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  938. package/dist/test/unit/server/login.test.d.ts +0 -2
  939. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  940. package/dist/test/unit/server/login.test.js +0 -127
  941. package/dist/test/unit/server/login.test.js.map +0 -1
  942. package/dist/test/unit/server/session.test.d.ts +0 -2
  943. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  944. package/dist/test/unit/server/session.test.js +0 -41
  945. package/dist/test/unit/server/session.test.js.map +0 -1
  946. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  947. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  948. package/dist/test/unit/services/AuthenticationService.test.js +0 -104
  949. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  950. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  951. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  952. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -74
  953. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  954. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  955. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  956. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -61
  957. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  958. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  959. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  960. package/dist/test/unit/shared/UserSession.test.js +0 -37
  961. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  962. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  963. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  964. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -120
  965. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  966. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  967. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  968. package/dist/test/unit/shared/storage.test.js +0 -53
  969. package/dist/test/unit/shared/storage.test.js.map +0 -1
  970. package/dist/test/unit/utils.test.d.ts +0 -2
  971. package/dist/test/unit/utils.test.d.ts.map +0 -1
  972. package/dist/test/unit/utils.test.js +0 -40
  973. package/dist/test/unit/utils.test.js.map +0 -1
  974. package/dist/tsconfig.tsbuildinfo +0 -1
  975. package/dist/types-Bqm9OCZN.d.mts +0 -22
  976. package/dist/types-Bqm9OCZN.d.ts +0 -22
  977. package/dist/types-BxAubCqO.d.mts +0 -58
  978. package/dist/types-BxAubCqO.d.ts +0 -58
  979. package/dist/types-DOfl9w7j.d.mts +0 -23
  980. package/dist/types-DOfl9w7j.d.ts +0 -23
  981. package/dist/types-HdCjGldB.d.mts +0 -58
  982. package/dist/types-HdCjGldB.d.ts +0 -58
  983. package/dist/vitest.config.d.ts +0 -3
  984. package/dist/vitest.config.d.ts.map +0 -1
  985. package/dist/vitest.config.js +0 -40
  986. package/dist/vitest.config.js.map +0 -1
  987. package/src/browser/storage.ts +0 -11
  988. package/src/config.ts +0 -6
  989. package/src/constants.ts +0 -29
  990. package/src/index.ts +0 -16
  991. package/src/lib/cookies.ts +0 -28
  992. package/src/lib/jwt.ts +0 -15
  993. package/src/lib/logger.ts +0 -72
  994. package/src/lib/oauth.ts +0 -83
  995. package/src/lib/postMessage.ts +0 -22
  996. package/src/lib/windowUtil.ts +0 -29
  997. package/src/nextjs/GetUser.ts +0 -22
  998. package/src/nextjs/config.ts +0 -205
  999. package/src/nextjs/cookies.ts +0 -162
  1000. package/src/nextjs/hooks/index.ts +0 -1
  1001. package/src/nextjs/hooks/useTokenCookie.ts +0 -41
  1002. package/src/nextjs/hooks/useUserCookie.ts +0 -41
  1003. package/src/nextjs/index.ts +0 -20
  1004. package/src/nextjs/middleware/index.ts +0 -1
  1005. package/src/nextjs/middleware.ts +0 -155
  1006. package/src/nextjs/providers/NextAuthProvider.tsx +0 -87
  1007. package/src/nextjs/routeHandler.ts +0 -297
  1008. package/src/nextjs/utils.ts +0 -9
  1009. package/src/reactjs/components/SignInButton.tsx +0 -32
  1010. package/src/reactjs/components/SignOutButton.tsx +0 -24
  1011. package/src/reactjs/components/UserButton.tsx +0 -215
  1012. package/src/reactjs/components/index.ts +0 -5
  1013. package/src/reactjs/hooks/index.ts +0 -6
  1014. package/src/reactjs/hooks/useAuth.ts +0 -15
  1015. package/src/reactjs/hooks/useUser.ts +0 -20
  1016. package/src/reactjs/index.ts +0 -19
  1017. package/src/reactjs/providers/index.ts +0 -27
  1018. package/src/server/ServerAuthenticationResolver.ts +0 -102
  1019. package/src/server/config.ts +0 -17
  1020. package/src/server/index.ts +0 -12
  1021. package/src/server/login.ts +0 -59
  1022. package/src/server/refresh.ts +0 -23
  1023. package/src/services/AuthenticationService.ts +0 -324
  1024. package/src/services/PKCE.ts +0 -45
  1025. package/src/services/types.ts +0 -54
  1026. package/src/shared/components/CivicAuthIframe.tsx +0 -26
  1027. package/src/shared/components/CivicAuthIframeContainer.tsx +0 -190
  1028. package/src/shared/components/CloseIcon.tsx +0 -21
  1029. package/src/shared/components/LoadingIcon.tsx +0 -53
  1030. package/src/shared/hooks/index.ts +0 -4
  1031. package/src/shared/hooks/useAuth.ts +0 -15
  1032. package/src/shared/hooks/useConfig.ts +0 -14
  1033. package/src/shared/hooks/useIframe.ts +0 -14
  1034. package/src/shared/hooks/useSession.ts +0 -14
  1035. package/src/shared/hooks/useToken.ts +0 -15
  1036. package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -70
  1037. package/src/shared/lib/UserSession.ts +0 -25
  1038. package/src/shared/lib/session.ts +0 -11
  1039. package/src/shared/lib/storage.ts +0 -40
  1040. package/src/shared/lib/types.ts +0 -26
  1041. package/src/shared/lib/util.ts +0 -217
  1042. package/src/shared/providers/AuthContext.tsx +0 -11
  1043. package/src/shared/providers/AuthProvider.tsx +0 -390
  1044. package/src/shared/providers/CivicAuthProvider.tsx +0 -31
  1045. package/src/shared/providers/ConfigProvider.tsx +0 -50
  1046. package/src/shared/providers/IframeProvider.tsx +0 -34
  1047. package/src/shared/providers/SessionProvider.tsx +0 -29
  1048. package/src/shared/providers/TokenProvider.tsx +0 -78
  1049. package/src/shared/providers/UserProvider.tsx +0 -80
  1050. package/src/types.ts +0 -227
  1051. package/src/utils.ts +0 -58
  1052. package/test/integration/sdk.test.tsx +0 -266
  1053. package/test/support/fixtures.ts +0 -56
  1054. package/test/support/tokens.json +0 -26
  1055. package/test/unit/lib/oauth.test.ts +0 -72
  1056. package/test/unit/logger.test.ts +0 -175
  1057. package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
  1058. package/test/unit/nextjs/config.test.ts +0 -218
  1059. package/test/unit/nextjs/getUser.test.ts +0 -41
  1060. package/test/unit/nextjs/middleware.test.ts +0 -138
  1061. package/test/unit/nextjs/routeHandler.test.ts.skipped +0 -369
  1062. package/test/unit/nextjs/utils.test.ts +0 -17
  1063. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -17
  1064. package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
  1065. package/test/unit/react/components/SignInButton.test.tsx +0 -50
  1066. package/test/unit/react/components/SignOutButton.test.tsx +0 -49
  1067. package/test/unit/server/login.test.ts +0 -181
  1068. package/test/unit/server/session.test.ts +0 -51
  1069. package/test/unit/services/AuthenticationService.test.ts +0 -152
  1070. package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -115
  1071. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
  1072. package/test/unit/shared/UserSession.test.ts +0 -42
  1073. package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
  1074. package/test/unit/shared/storage.test.ts +0 -67
  1075. package/test/unit/utils.test.ts +0 -48
  1076. package/tsconfig.build.json +0 -5
  1077. package/tsconfig.cjs.json +0 -8
  1078. package/tsconfig.esm.json +0 -7
  1079. package/tsconfig.json +0 -42
  1080. package/vitest.config.ts +0 -41
package/README.md CHANGED
@@ -29,6 +29,10 @@ yarn add @civic/auth
29
29
 
30
30
  First, import the CSS styles in your main application file (e.g., `_app.tsx` for Next.js):
31
31
 
32
+ ```tsx
33
+ import "@civic/auth/styles.css";
34
+ ```
35
+
32
36
  ### Setup CivicAuthProvider
33
37
 
34
38
  To use the Civic Auth Client SDK, wrap your application with the `CivicAuthProvider` component. This will allow the authentication context to be accessible throughout your app.
@@ -114,32 +118,6 @@ function Header() {
114
118
  }
115
119
  ```
116
120
 
117
- ### Embedding the login iframe in your page
118
-
119
- The default displayMode for user login is 'iframe' which will show a modal containing the login page for users, when the `signIn` hook is called. If you want to customize where this page is shown and embed it into your page instead i.e. in the case where you have a landing page and don't want users to have to click on a 'sign-in' button, you can embed the login iframe directly inside your page and it will work just like in the modal, as long as it is a child of a <CivicAuthProvider>. In this mode, the iframe auto-loads the login page.
120
-
121
- To enable this mode, you need to set the parameter 'modalIframe' to `false` (it defaults to `true` in normal operation).
122
-
123
- The example below shows the iframe centered inside a div embedded on the page:
124
- ```tsx
125
- import { CivicAuthProvider } from "@civic/auth/react";
126
-
127
- function App({ children }) {
128
- return (
129
- <CivicAuthProvider
130
- clientId="your-client-id"
131
- redirectUrl="https://your-app.com/callback"
132
- modalIframe={false}
133
- >
134
- {children}
135
- <div className="flex min-h-[200px] items-center justify-center">
136
- <CivicAuthIframeContainer />
137
- </div>
138
- </CivicAuthProvider>
139
- );
140
- }
141
- ```
142
-
143
121
  ### Token Management with useToken Hook
144
122
 
145
123
  The `useToken` hook can be used to access and manage tokens within your application. This hook provides the current access and ID tokens, a refresh function, and token loading/error states.
@@ -1,13 +1,14 @@
1
1
  import {
2
- DEFAULT_AUTH_SERVER,
2
+ AUTH_SERVER,
3
3
  DEFAULT_SCOPES,
4
- GenericAuthenticationInitiator,
5
- GenericPublicClientPKCEProducer,
4
+ deriveCodeChallenge,
6
5
  exchangeTokens,
6
+ generateOauthLoginUrl,
7
+ generateOauthLogoutUrl,
7
8
  getEndpointsWithOverrides,
8
9
  retrieveTokens,
9
10
  storeTokens
10
- } from "./chunk-Q7DSPTUG.mjs";
11
+ } from "./chunk-KBDRDCE5.mjs";
11
12
  import {
12
13
  __async,
13
14
  __spreadProps,
@@ -31,30 +32,65 @@ var CookieStorage = class {
31
32
  }
32
33
  };
33
34
 
34
- // src/server/ServerAuthenticationResolver.ts
35
+ // src/services/PKCE.ts
36
+ import { generateCodeVerifier } from "oslo/oauth2";
37
+ var GenericPublicClientPKCEProducer = class {
38
+ constructor(storage) {
39
+ this.storage = storage;
40
+ }
41
+ // if there is already a verifier, return it,
42
+ // If not, create a new one and store it
43
+ getCodeChallenge() {
44
+ return __async(this, null, function* () {
45
+ const verifier = generateCodeVerifier();
46
+ this.storage.set("code_verifier", verifier);
47
+ return deriveCodeChallenge(verifier);
48
+ });
49
+ }
50
+ // if there is already a verifier, return it,
51
+ getCodeVerifier() {
52
+ return __async(this, null, function* () {
53
+ return this.storage.get("code_verifier");
54
+ });
55
+ }
56
+ };
57
+
58
+ // src/services/AuthenticationService.ts
35
59
  import { OAuth2Client } from "oslo/oauth2";
60
+ var GenericAuthenticationInitiator = class {
61
+ constructor(config) {
62
+ this.config = config;
63
+ }
64
+ // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url
65
+ // and simply return the url
66
+ signIn() {
67
+ return __async(this, null, function* () {
68
+ return generateOauthLoginUrl(this.config);
69
+ });
70
+ }
71
+ signOut() {
72
+ return __async(this, null, function* () {
73
+ return generateOauthLogoutUrl(this.config);
74
+ });
75
+ }
76
+ };
77
+
78
+ // src/server/ServerAuthenticationResolver.ts
79
+ import { OAuth2Client as OAuth2Client2 } from "oslo/oauth2";
36
80
  var ServerAuthenticationResolver = class _ServerAuthenticationResolver {
37
81
  constructor(authConfig, storage, endpointOverrides) {
38
82
  this.authConfig = authConfig;
39
83
  this.storage = storage;
40
84
  this.endpointOverrides = endpointOverrides;
41
- console.log("ServerAuthenticationResolver constructor", {
42
- authConfig,
43
- storage,
44
- endpointOverrides
45
- });
46
85
  this.pkceProducer = new GenericPublicClientPKCEProducer(storage);
47
86
  }
48
- validateExistingSession() {
49
- throw new Error("Method not implemented.");
50
- }
51
87
  init() {
52
88
  return __async(this, null, function* () {
53
89
  this.endpoints = yield getEndpointsWithOverrides(
54
90
  this.authConfig.oauthServer,
55
91
  this.endpointOverrides
56
92
  );
57
- this.oauth2client = new OAuth2Client(
93
+ this.oauth2client = new OAuth2Client2(
58
94
  this.authConfig.clientId,
59
95
  this.endpoints.auth,
60
96
  this.endpoints.token,
@@ -115,7 +151,7 @@ function resolveOAuthAccessCode(code, state, storage, config) {
115
151
  var _a;
116
152
  const authSessionService = yield ServerAuthenticationResolver.build(
117
153
  __spreadProps(__spreadValues({}, config), {
118
- oauthServer: (_a = config.oauthServer) != null ? _a : DEFAULT_AUTH_SERVER
154
+ oauthServer: (_a = config.oauthServer) != null ? _a : AUTH_SERVER
119
155
  }),
120
156
  storage,
121
157
  config.endpointOverrides
@@ -135,7 +171,7 @@ function buildLoginUrl(config, storage) {
135
171
  const authInitiator = new GenericAuthenticationInitiator(__spreadProps(__spreadValues({}, config), {
136
172
  state,
137
173
  scopes,
138
- oauthServer: (_c = config.oauthServer) != null ? _c : DEFAULT_AUTH_SERVER,
174
+ oauthServer: (_c = config.oauthServer) != null ? _c : AUTH_SERVER,
139
175
  // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session
140
176
  pkceConsumer: pkceProducer
141
177
  }));
@@ -143,17 +179,24 @@ function buildLoginUrl(config, storage) {
143
179
  });
144
180
  }
145
181
 
182
+ // src/server/session.ts
183
+ import { parseJWT } from "oslo/jwt";
184
+ function getUser(storage) {
185
+ return __async(this, null, function* () {
186
+ var _a, _b;
187
+ const tokens = retrieveTokens(storage);
188
+ if (!tokens) return null;
189
+ return (_b = (_a = parseJWT(tokens.id_token)) == null ? void 0 : _a.payload) != null ? _b : null;
190
+ });
191
+ }
192
+
146
193
  // src/shared/GenericAuthenticationRefresher.ts
147
- import { OAuth2Client as OAuth2Client2 } from "oslo/oauth2";
194
+ import { OAuth2Client as OAuth2Client3 } from "oslo/oauth2";
148
195
  var GenericAuthenticationRefresher = class _GenericAuthenticationRefresher {
149
196
  constructor(authConfig, storage, endpointOverrides) {
150
197
  this.authConfig = authConfig;
151
198
  this.storage = storage;
152
199
  this.endpointOverrides = endpointOverrides;
153
- console.log("GenericAuthenticationRefresher constructor", {
154
- authConfig,
155
- endpointOverrides
156
- });
157
200
  }
158
201
  init() {
159
202
  return __async(this, null, function* () {
@@ -161,7 +204,7 @@ var GenericAuthenticationRefresher = class _GenericAuthenticationRefresher {
161
204
  this.authConfig.oauthServer,
162
205
  this.endpointOverrides
163
206
  );
164
- this.oauth2client = new OAuth2Client2(
207
+ this.oauth2client = new OAuth2Client3(
165
208
  this.authConfig.clientId,
166
209
  this.endpoints.auth,
167
210
  this.endpoints.token,
@@ -204,7 +247,7 @@ function refreshTokens(storage, config) {
204
247
  var _a;
205
248
  const refresher = yield GenericAuthenticationRefresher.build(
206
249
  __spreadProps(__spreadValues({}, config), {
207
- oauthServer: (_a = config.oauthServer) != null ? _a : DEFAULT_AUTH_SERVER
250
+ oauthServer: (_a = config.oauthServer) != null ? _a : AUTH_SERVER
208
251
  }),
209
252
  storage,
210
253
  config.endpointOverrides
@@ -215,9 +258,11 @@ function refreshTokens(storage, config) {
215
258
 
216
259
  export {
217
260
  CookieStorage,
261
+ GenericPublicClientPKCEProducer,
218
262
  resolveOAuthAccessCode,
219
263
  isLoggedIn,
220
264
  buildLoginUrl,
265
+ getUser,
221
266
  refreshTokens
222
267
  };
223
- //# sourceMappingURL=chunk-63YGK3A7.mjs.map
268
+ //# sourceMappingURL=chunk-3UIVD6NR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/storage.ts","../src/services/PKCE.ts","../src/services/AuthenticationService.ts","../src/server/ServerAuthenticationResolver.ts","../src/server/login.ts","../src/server/session.ts","../src/shared/GenericAuthenticationRefresher.ts","../src/server/refresh.ts"],"sourcesContent":["import { SessionData, UnknownObject, User } from \"@/types.js\";\n\ntype SameSiteOption = \"strict\" | \"lax\" | \"none\";\n\nexport interface SessionStorage {\n get(): SessionData;\n getUser(): User<UnknownObject> | null;\n set(data: Partial<SessionData>): void;\n setUser(data: User<UnknownObject> | null): void;\n clear(): void;\n}\n\nexport interface AuthStorage {\n get(key: string): string | null;\n set(key: string, value: string): void;\n}\n\nexport type CookieStorageSettings = {\n httpOnly: boolean;\n secure: boolean;\n sameSite: SameSiteOption;\n expires: Date;\n path: string;\n};\n\nexport const DEFAULT_COOKIE_DURATION = 60 * 15; // 15 minutes\n\nexport abstract class CookieStorage implements AuthStorage {\n protected settings: CookieStorageSettings;\n protected constructor(settings: Partial<CookieStorageSettings> = {}) {\n this.settings = {\n httpOnly: settings.httpOnly ?? true,\n secure: settings.secure ?? true,\n // the callback request comes the auth server\n // 'lax' ensures the code_verifier cookie is sent with the request\n sameSite: settings.sameSite ?? \"lax\",\n expires:\n settings.expires ??\n new Date(Date.now() + 1000 * DEFAULT_COOKIE_DURATION),\n path: settings.path ?? \"/\",\n };\n }\n abstract get(key: string): string | null;\n abstract set(key: string, value: string): void;\n}\n","import { deriveCodeChallenge } from \"@/shared/util.js\";\nimport { generateCodeVerifier } from \"oslo/oauth2\";\nimport { AuthStorage } from \"@/shared/storage.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { PKCEConsumer, PKCEProducer } from \"@/services/types.ts\";\n\n/** A PKCE consumer that retrieves the challenge from a server endpoint */\nexport class ConfidentialClientPKCEConsumer implements PKCEConsumer {\n constructor(private pkceChallengeEndpoint: string) {}\n async getCodeChallenge(): Promise<string> {\n const response = await fetch(this.pkceChallengeEndpoint);\n const data = (await response.json()) as { challenge: string };\n return data.challenge;\n }\n}\n\n/** A PKCE Producer that can generate and store a code verifier, but is agnostic as to the storage location */\nexport class GenericPublicClientPKCEProducer implements PKCEProducer {\n constructor(private storage: AuthStorage) {}\n\n // if there is already a verifier, return it,\n // If not, create a new one and store it\n async getCodeChallenge(): Promise<string> {\n // let verifier = await this.getCodeVerifier();\n // if (!verifier) {\n const verifier = generateCodeVerifier();\n this.storage.set(\"code_verifier\", verifier);\n // }\n return deriveCodeChallenge(verifier);\n }\n // if there is already a verifier, return it,\n async getCodeVerifier(): Promise<string | null> {\n return this.storage.get(\"code_verifier\");\n }\n}\n\n/** A PKCE Producer that is expected to run on a browser, and does not need a backend */\nexport class BrowserPublicClientPKCEProducer extends GenericPublicClientPKCEProducer {\n constructor() {\n super(new LocalStorageAdapter());\n }\n}\n","// Proposals for revised versions of the SessionService AKA AuthSessionService\n\nimport {\n DisplayMode,\n Endpoints,\n OIDCTokenResponseBody,\n SessionData,\n} from \"@/types.js\";\nimport { BrowserPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport {\n exchangeTokens,\n generateOauthLoginUrl,\n generateOauthLogoutUrl,\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/util.js\";\nimport { generateState } from \"@/lib/oauth.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport {\n AuthenticationInitiator,\n AuthenticationResolver,\n PKCEConsumer,\n} from \"@/services/types.js\";\n\n/**\n * An authentication initiator that works on a browser. Since this is just triggering\n * login and logout, session data is not stored here.\n * An associated AuthenticationResolver would be needed to get the session data.\n * Storage is needed for the code verifier, this is the domain of the PKCEConsumer\n * The storage used by the PKCEConsumer should be available to the AuthenticationResolver.\n *\n * Example usage:\n *\n * 1) Client-only SPA -eg a react app with no server:\n * new BrowserAuthenticationInitiator({\n * pkceConsumer: new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side\n * ... other config\n * })\n *\n * 2) Client-side of a client/server app - eg a react app with a backend:\n * new BrowserAuthenticationInitiator({\n * pkceConsumer: new ConfidentialClientPKCEConsumer(\"https://myserver.com/pkce\"), // get the challenge from the server\n * ... other config\n * })\n */\nexport class BrowserAuthenticationInitiator implements AuthenticationInitiator {\n protected config: {\n clientId: string;\n redirectUrl: string;\n state: string;\n scopes: string[];\n // determines whether to trigger the login/logout in an iframe, a new browser window, or redirect the current one.\n displayMode: DisplayMode;\n oauthServer: string;\n // the endpoints to use for the login (if not obtained from the auth server\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n };\n\n constructor(config: typeof this.config) {\n this.config = config;\n }\n\n // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url\n // and then use the display mode to decide how to send the user there\n async signIn(): Promise<URL> {\n const url = await generateOauthLoginUrl(this.config);\n // TODO open the iframe or new tab etc\n\n return url;\n }\n\n async signOut(): Promise<URL> {\n const url = await generateOauthLogoutUrl(this.config);\n // TODO open the iframe or new tab etc\n\n return url;\n }\n}\n\n/** A general-purpose authentication initiator, that just generates urls, but lets\n * the caller decide how to use them. This is useful for server-side applications\n * that may serve this URL to their front-ends or just call them directly\n */\nexport class GenericAuthenticationInitiator implements AuthenticationInitiator {\n protected config: {\n clientId: string;\n redirectUrl: string;\n state: string;\n scopes: string[];\n oauthServer: string;\n nonce?: string;\n // the endpoints to use for the login (if not obtained from the auth server)\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n };\n\n constructor(config: typeof this.config) {\n this.config = config;\n }\n\n // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url\n // and simply return the url\n async signIn(): Promise<URL> {\n return generateOauthLoginUrl(this.config);\n }\n\n async signOut(): Promise<URL> {\n return generateOauthLogoutUrl(this.config);\n }\n}\n\ntype BrowserAuthenticationConfig = {\n clientId: string;\n redirectUrl: string;\n scopes: string[];\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n displayMode: DisplayMode;\n};\n\n/**\n * An authentication resolver that can run on the browser (i.e. a public client)\n * It uses PKCE for security. PKCE and Session data are stored in local storage\n */\nexport class BrowserAuthenticationService extends BrowserAuthenticationInitiator {\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n // TODO WIP - perhaps we want to keep resolver and initiator separate here\n constructor(\n config: BrowserAuthenticationConfig,\n // Since we are running fully on the client, we produce as well as consume the PKCE challenge\n protected pkceProducer = new BrowserPublicClientPKCEProducer(),\n ) {\n super({\n ...config,\n state: generateState(config.displayMode),\n // Store and retrieve the PKCE challenge in local storage\n pkceConsumer: pkceProducer,\n });\n }\n\n // TODO too much code duplication here between the browser and the server variant.\n // Suggestion for refactor: Standardise the config for AuthenticationResolvers and create a one-shot\n // function for generating an oauth2client from it\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.config.oauthServer,\n this.config.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.config.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.config.redirectUrl,\n },\n );\n\n return this;\n }\n\n // Two responsibilities:\n // 1. resolve the auth code to get the tokens (should use library code)\n // 2. store the tokens in local storage\n async tokenExchange(\n code: string,\n state: string,\n ): Promise<OIDCTokenResponseBody> {\n if (!this.oauth2client) await this.init();\n const codeVerifier = await this.pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in storage\");\n\n // exchange auth code for tokens\n const tokens = await exchangeTokens(\n code,\n state,\n this.pkceProducer,\n this.oauth2client!, // clean up types here to avoid the ! operator\n this.config.oauthServer,\n this.endpoints!, // clean up types here to avoid the ! operator\n );\n\n storeTokens(new LocalStorageAdapter(), tokens);\n\n return tokens;\n }\n\n // Get the session data from local storage\n async getSessionData(): Promise<SessionData | null> {\n const storageData = retrieveTokens(new LocalStorageAdapter());\n\n if (!storageData) return null;\n\n return {\n authenticated: !!storageData.id_token,\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n };\n }\n\n static async build(\n config: BrowserAuthenticationConfig,\n ): Promise<AuthenticationResolver> {\n const resolver = new BrowserAuthenticationService(config);\n await resolver.init();\n\n return resolver;\n }\n}\n","import { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { Endpoints, OIDCTokenResponseBody, SessionData } from \"@/types.js\";\nimport { AuthConfig } from \"@/server/config.js\";\nimport { AuthStorage } from \"@/shared/storage.js\";\nimport {\n exchangeTokens,\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/util.js\";\nimport { AuthenticationResolver, PKCEProducer } from \"@/services/types.ts\";\n\nexport class ServerAuthenticationResolver implements AuthenticationResolver {\n private pkceProducer: PKCEProducer;\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n private constructor(\n readonly authConfig: AuthConfig,\n readonly storage: AuthStorage,\n readonly endpointOverrides?: Partial<Endpoints>,\n ) {\n this.pkceProducer = new GenericPublicClientPKCEProducer(storage);\n }\n\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.authConfig.oauthServer,\n this.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.authConfig.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.authConfig.redirectUrl,\n },\n );\n\n return this;\n }\n\n async tokenExchange(\n code: string,\n state: string,\n ): Promise<OIDCTokenResponseBody> {\n if (!this.oauth2client) await this.init();\n const codeVerifier = await this.pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in storage\");\n\n // exchange auth code for tokens\n const tokens = await exchangeTokens(\n code,\n state,\n this.pkceProducer,\n this.oauth2client!, // clean up types here to avoid the ! operator\n this.authConfig.oauthServer,\n this.endpoints!, // clean up types here to avoid the ! operator\n );\n\n storeTokens(this.storage, tokens);\n\n return tokens;\n }\n\n async getSessionData(): Promise<SessionData | null> {\n const storageData = retrieveTokens(this.storage);\n\n if (!storageData) return null;\n\n return {\n authenticated: !!storageData.id_token,\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n };\n }\n\n static async build(\n authConfig: AuthConfig,\n storage: AuthStorage,\n endpointOverrides?: Partial<Endpoints>,\n ): Promise<AuthenticationResolver> {\n const resolver = new ServerAuthenticationResolver(\n authConfig,\n storage,\n endpointOverrides,\n );\n await resolver.init();\n\n return resolver;\n }\n}\n","import { AuthStorage } from \"@/shared/storage.js\";\nimport { OIDCTokenResponseBody } from \"@/types.js\";\nimport { AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { ServerAuthenticationResolver } from \"@/server/ServerAuthenticationResolver.js\";\nimport { AuthConfig } from \"@/server/config.ts\";\n/**\n * Resolve an OAuth access code to a set of OIDC tokens\n * @param code The access code, typically from a query parameter in the redirect url\n * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url\n * @param storage The place that this server uses to store session data (e.g. a cookie store)\n * @param config Oauth Server configuration\n */\nexport async function resolveOAuthAccessCode(\n code: string,\n state: string,\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const authSessionService = await ServerAuthenticationResolver.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return authSessionService.tokenExchange(code, state);\n}\n\nexport function isLoggedIn(storage: AuthStorage): boolean {\n return !!storage.get(\"id_token\");\n}\n\nexport async function buildLoginUrl(\n config: Pick<AuthConfig, \"oauthServer\" | \"clientId\" | \"redirectUrl\"> & {\n scopes?: string[];\n state?: string;\n nonce?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? AUTH_SERVER,\n // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session\n pkceConsumer: pkceProducer,\n });\n\n return authInitiator.signIn();\n}\n","import { retrieveTokens } from \"@/shared/util.js\";\nimport { parseJWT } from \"oslo/jwt\";\nimport { User } from \"@/types.js\";\nimport { AuthStorage } from \"@/shared/storage.js\";\n\nexport async function getUser(storage: AuthStorage): Promise<User | null> {\n const tokens = retrieveTokens(storage);\n if (!tokens) return null;\n\n // Assumes all information is in the ID token\n return (parseJWT(tokens.id_token)?.payload as User) ?? null;\n}\n","import { AuthenticationRefresher } from \"@/services/types.ts\";\nimport { Endpoints, OIDCTokenResponseBody } from \"@/types\";\nimport {\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/util.ts\";\nimport { AuthStorage } from \"@/shared/storage.ts\";\nimport { AuthConfig } from \"@/server/config.ts\";\nimport { OAuth2Client } from \"oslo/oauth2\";\n\nexport class GenericAuthenticationRefresher implements AuthenticationRefresher {\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n private constructor(\n private authConfig: AuthConfig,\n private storage: AuthStorage,\n private endpointOverrides?: Partial<Endpoints>,\n ) {}\n\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.authConfig.oauthServer,\n this.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.authConfig.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.authConfig.redirectUrl,\n },\n );\n\n return this;\n }\n\n static async build(\n authConfig: AuthConfig,\n storage: AuthStorage,\n endpointOverrides?: Partial<Endpoints>,\n ): Promise<GenericAuthenticationRefresher> {\n const refresher = new GenericAuthenticationRefresher(\n authConfig,\n storage,\n endpointOverrides,\n );\n await refresher.init();\n\n return refresher;\n }\n\n async refreshTokens() {\n if (!this.oauth2client) await this.init();\n\n const tokens = retrieveTokens(this.storage);\n if (!tokens?.refresh_token) throw new Error(\"No refresh token available\");\n\n const oauth2Client = this.oauth2client!;\n const refreshedTokens =\n await oauth2Client.refreshAccessToken<OIDCTokenResponseBody>(\n tokens.refresh_token,\n );\n\n storeTokens(this.storage, refreshedTokens);\n\n return tokens;\n }\n}\n","import { AuthStorage } from \"@/shared/storage.js\";\nimport { OIDCTokenResponseBody } from \"@/types.js\";\nimport { AUTH_SERVER } from \"@/constants.js\";\nimport { GenericAuthenticationRefresher } from \"@/shared/GenericAuthenticationRefresher.ts\";\nimport { AuthConfig } from \"@/server/config.ts\";\n\n/**\n * Refresh the current set of OIDC tokens\n */\nexport async function refreshTokens(\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const refresher = await GenericAuthenticationRefresher.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return refresher.refreshTokens();\n}\n"],"mappings":"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","names":["OAuth2Client","OAuth2Client","OAuth2Client","OAuth2Client"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/patrick/Code/civic-auth/packages/civic-auth-client/dist/chunk-CRTRMMJ7.js"],"names":[],"mappings":"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","file":"/Users/patrick/Code/civic-auth/packages/civic-auth-client/dist/chunk-CRTRMMJ7.js"}
1
+ {"version":3,"sources":["/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/chunk-CRTRMMJ7.js"],"names":[],"mappings":"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","file":"/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/chunk-CRTRMMJ7.js"}
@@ -0,0 +1,239 @@
1
+ import {
2
+ __async,
3
+ __spreadValues
4
+ } from "./chunk-RGHW4PYM.mjs";
5
+
6
+ // src/utils.ts
7
+ import { clsx } from "clsx";
8
+ import { twMerge } from "tailwind-merge";
9
+ var isPopupBlocked = () => {
10
+ const popup = window.open("", "", "width=1,height=1");
11
+ if (!popup) {
12
+ return true;
13
+ }
14
+ try {
15
+ if (typeof popup.closed === "undefined") {
16
+ throw new Error("Popup is blocked");
17
+ }
18
+ } catch (e) {
19
+ return true;
20
+ }
21
+ popup.close();
22
+ return false;
23
+ };
24
+ var cn = (...inputs) => {
25
+ return twMerge(clsx(inputs));
26
+ };
27
+ var withoutUndefined = (obj) => {
28
+ const result = {};
29
+ for (const key in obj) {
30
+ if (obj[key] !== void 0) {
31
+ result[key] = obj[key];
32
+ }
33
+ }
34
+ return result;
35
+ };
36
+
37
+ // src/shared/types.ts
38
+ var NextjsServerCookies = /* @__PURE__ */ ((NextjsServerCookies2) => {
39
+ NextjsServerCookies2["ID_TOKEN"] = "id_token";
40
+ NextjsServerCookies2["ACCESS_TOKEN"] = "access_token";
41
+ NextjsServerCookies2["REFRESH_TOKEN"] = "refresh_token";
42
+ return NextjsServerCookies2;
43
+ })(NextjsServerCookies || {});
44
+
45
+ // src/shared/util.ts
46
+ import { OAuth2Client } from "oslo/oauth2";
47
+
48
+ // src/lib/oauth.ts
49
+ import { v4 as uuid } from "uuid";
50
+ var getIssuerVariations = (issuer) => {
51
+ const issuerWithoutSlash = issuer.endsWith("/") ? issuer.slice(0, issuer.length - 1) : issuer;
52
+ const issuerWithSlash = `${issuerWithoutSlash}/`;
53
+ return [issuerWithoutSlash, issuerWithSlash];
54
+ };
55
+ var addSlashIfNeeded = (url) => url.endsWith("/") ? url : `${url}/`;
56
+ var getOauthEndpoints = (oauthServer) => __async(void 0, null, function* () {
57
+ const openIdConfigResponse = yield fetch(
58
+ `${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`
59
+ );
60
+ const openIdConfig = yield openIdConfigResponse.json();
61
+ return {
62
+ jwks: openIdConfig.jwks_uri,
63
+ auth: openIdConfig.authorization_endpoint,
64
+ token: openIdConfig.token_endpoint,
65
+ userinfo: openIdConfig.userinfo_endpoint
66
+ };
67
+ });
68
+ var generateState = (displayMode) => {
69
+ const jsonString = JSON.stringify({
70
+ uuid: uuid(),
71
+ displayMode
72
+ });
73
+ return btoa(jsonString);
74
+ };
75
+ var displayModeFromState = (state, sessionDisplayMode) => {
76
+ try {
77
+ const jsonString = btoa(state);
78
+ return JSON.parse(jsonString).displayMode;
79
+ } catch (e) {
80
+ console.error("Failed to parse displayMode from state:", state);
81
+ return sessionDisplayMode;
82
+ }
83
+ };
84
+
85
+ // src/shared/util.ts
86
+ import * as jose from "jose";
87
+ function deriveCodeChallenge(codeVerifier, method = "S256") {
88
+ return __async(this, null, function* () {
89
+ if (method === "Plain") {
90
+ console.warn("Using insecure plain code challenge method");
91
+ return codeVerifier;
92
+ }
93
+ const encoder = new TextEncoder();
94
+ const data = encoder.encode(codeVerifier);
95
+ const digest = yield crypto.subtle.digest("SHA-256", data);
96
+ return btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
97
+ });
98
+ }
99
+ function getEndpointsWithOverrides(_0) {
100
+ return __async(this, arguments, function* (oauthServer, endpointOverrides = {}) {
101
+ const endpoints = yield getOauthEndpoints(oauthServer);
102
+ return __spreadValues(__spreadValues({}, endpoints), endpointOverrides);
103
+ });
104
+ }
105
+ function generateOauthLoginUrl(config) {
106
+ return __async(this, null, function* () {
107
+ const endpoints = yield getEndpointsWithOverrides(
108
+ config.oauthServer,
109
+ config.endpointOverrides
110
+ );
111
+ const oauth2Client = buildOauth2Client(
112
+ config.clientId,
113
+ config.redirectUrl,
114
+ endpoints
115
+ );
116
+ const challenge = yield config.pkceConsumer.getCodeChallenge();
117
+ const oAuthUrl = yield oauth2Client.createAuthorizationURL({
118
+ state: config.state,
119
+ scopes: config.scopes
120
+ });
121
+ oAuthUrl.searchParams.append("code_challenge", challenge);
122
+ oAuthUrl.searchParams.append("code_challenge_method", "S256");
123
+ if (config.nonce) {
124
+ oAuthUrl.searchParams.append("nonce", config.nonce);
125
+ }
126
+ oAuthUrl.searchParams.append("prompt", "consent");
127
+ console.log("Generated OAuth URL", oAuthUrl.toString());
128
+ return oAuthUrl;
129
+ });
130
+ }
131
+ function generateOauthLogoutUrl(config) {
132
+ return __async(this, null, function* () {
133
+ console.log(config);
134
+ return new URL("http://localhost");
135
+ });
136
+ }
137
+ function buildOauth2Client(clientId, redirectUri, endpoints) {
138
+ return new OAuth2Client(clientId, endpoints.auth, endpoints.token, {
139
+ redirectURI: redirectUri
140
+ });
141
+ }
142
+ function exchangeTokens(code, state, pkceProducer, oauth2Client, oauthServer, endpoints) {
143
+ return __async(this, null, function* () {
144
+ const codeVerifier = yield pkceProducer.getCodeVerifier();
145
+ if (!codeVerifier) throw new Error("Code verifier not found in state");
146
+ const tokens = yield oauth2Client.validateAuthorizationCode(code, {
147
+ codeVerifier
148
+ });
149
+ try {
150
+ yield validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);
151
+ } catch (error) {
152
+ console.error("tokenExchange error", { error, tokens });
153
+ throw new Error(
154
+ `OIDC tokens validation failed: ${error.message}`
155
+ );
156
+ }
157
+ return tokens;
158
+ });
159
+ }
160
+ function storeTokens(storage, tokens) {
161
+ storage.set("id_token" /* ID_TOKEN */, tokens.id_token);
162
+ storage.set("access_token" /* ACCESS_TOKEN */, tokens.access_token);
163
+ if (tokens.refresh_token)
164
+ storage.set("refresh_token" /* REFRESH_TOKEN */, tokens.refresh_token);
165
+ }
166
+ function clearTokens(storage) {
167
+ Object.values(NextjsServerCookies).forEach((cookie) => {
168
+ storage.set(cookie, "");
169
+ });
170
+ }
171
+ function retrieveTokens(storage) {
172
+ const idToken = storage.get("id_token" /* ID_TOKEN */);
173
+ const accessToken = storage.get("access_token" /* ACCESS_TOKEN */);
174
+ const refreshToken = storage.get("refresh_token" /* REFRESH_TOKEN */);
175
+ if (!idToken || !accessToken) return null;
176
+ return {
177
+ id_token: idToken,
178
+ access_token: accessToken,
179
+ refresh_token: refreshToken != null ? refreshToken : void 0
180
+ };
181
+ }
182
+ function validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer) {
183
+ return __async(this, null, function* () {
184
+ const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));
185
+ const idTokenResponse = yield jose.jwtVerify(
186
+ tokens.id_token,
187
+ JWKS,
188
+ {
189
+ issuer: getIssuerVariations(oauthServer),
190
+ audience: oauth2Client.clientId
191
+ }
192
+ );
193
+ const accessTokenResponse = yield jose.jwtVerify(
194
+ tokens.access_token,
195
+ JWKS,
196
+ {
197
+ issuer: getIssuerVariations(oauthServer)
198
+ }
199
+ );
200
+ return withoutUndefined({
201
+ id_token: idTokenResponse.payload,
202
+ access_token: accessTokenResponse.payload,
203
+ refresh_token: tokens.refresh_token
204
+ });
205
+ });
206
+ }
207
+
208
+ // src/constants.ts
209
+ var DEFAULT_SCOPES = [
210
+ "openid",
211
+ "profile",
212
+ "email",
213
+ "forwardedTokens",
214
+ "offline_access"
215
+ ];
216
+ var IFRAME_ID = "civic-auth-iframe";
217
+ var AUTH_SERVER = "https://auth-dev.civic.com/oauth";
218
+
219
+ export {
220
+ getOauthEndpoints,
221
+ generateState,
222
+ displayModeFromState,
223
+ isPopupBlocked,
224
+ cn,
225
+ deriveCodeChallenge,
226
+ getEndpointsWithOverrides,
227
+ generateOauthLoginUrl,
228
+ generateOauthLogoutUrl,
229
+ buildOauth2Client,
230
+ exchangeTokens,
231
+ storeTokens,
232
+ clearTokens,
233
+ retrieveTokens,
234
+ validateOauth2Tokens,
235
+ DEFAULT_SCOPES,
236
+ IFRAME_ID,
237
+ AUTH_SERVER
238
+ };
239
+ //# sourceMappingURL=chunk-KBDRDCE5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts","../src/shared/types.ts","../src/shared/util.ts","../src/lib/oauth.ts","../src/constants.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n/**\n * Checks if a popup window is blocked by the browser.\n *\n * This function attempts to open a small popup window and then checks if it was successfully created.\n * If the popup is blocked by the browser, the function returns `true`. Otherwise, it returns `false`.\n *\n * @returns {boolean} - `true` if the popup is blocked, `false` otherwise.\n */\nconst isPopupBlocked = (): boolean => {\n // First we try to open a small popup window. It either returns a window object or null.\n const popup = window.open(\"\", \"\", \"width=1,height=1\");\n\n // If window.open() returns null, popup is definitely blocked\n if (!popup) {\n return true;\n }\n\n try {\n // Try to access a property of the popup to check if it's usable\n if (typeof popup.closed === \"undefined\") {\n throw new Error(\"Popup is blocked\");\n }\n } catch {\n // Accessing the popup's properties throws an error if the popup is blocked\n return true;\n }\n\n // Close the popup immediately if it was opened\n popup.close();\n return false;\n};\n\nconst cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n\n// This type narrows T as far as it can by:\n// - removing all keys where the value is `undefined`\n// - making keys that are not undefined required\n// So, for example: given { a: string | undefined, b: string | undefined },\n// if you pass in { a: \"foo\" }, it returns an object of type: { a: string }\ntype WithoutUndefined<T> = {\n [K in keyof T as undefined extends T[K] ? never : K]: T[K];\n};\nexport const withoutUndefined = <T extends { [K in keyof T]: unknown }>(\n obj: T,\n): WithoutUndefined<T> => {\n const result = {} as WithoutUndefined<T>;\n\n for (const key in obj) {\n if (obj[key] !== undefined) {\n // TypeScript needs assurance that key is a valid key in WithoutUndefined<T>\n // We use type assertion here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[key] = obj[key];\n }\n }\n\n return result;\n};\n\nexport { cn, isPopupBlocked };\n","export enum NextjsServerCookies {\n ID_TOKEN = \"id_token\",\n ACCESS_TOKEN = \"access_token\",\n REFRESH_TOKEN = \"refresh_token\",\n}\n\nexport enum NextjsClientCookies {\n USER = \"user\",\n}\n","// Utility functions shared by auth server and client integrations\n// Typically these functions should be used inside AuthenticationInitiator and AuthenticationResolver implementations\n\nimport {\n Endpoints,\n JWTPayload,\n OIDCTokenResponseBody,\n ParsedTokens,\n} from \"@/types.js\";\nimport { NextjsServerCookies } from \"./types\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { getIssuerVariations, getOauthEndpoints } from \"@/lib/oauth.js\";\nimport * as jose from \"jose\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport { AuthStorage } from \"@/shared/storage.js\";\nimport { PKCEConsumer, PKCEProducer } from \"@/services/types.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) {\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\n console.log(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(NextjsServerCookies.ID_TOKEN, tokens.id_token);\n storage.set(NextjsServerCookies.ACCESS_TOKEN, tokens.access_token);\n if (tokens.refresh_token)\n storage.set(NextjsServerCookies.REFRESH_TOKEN, tokens.refresh_token);\n}\n\nexport function clearTokens(storage: AuthStorage) {\n Object.values(NextjsServerCookies).forEach((cookie) => {\n storage.set(cookie, \"\");\n });\n}\n\nexport function retrieveTokens(\n storage: AuthStorage,\n): OIDCTokenResponseBody | null {\n const idToken = storage.get(NextjsServerCookies.ID_TOKEN);\n const accessToken = storage.get(NextjsServerCookies.ACCESS_TOKEN);\n const refreshToken = storage.get(NextjsServerCookies.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 oauthServer: 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(oauthServer),\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(oauthServer),\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","import { DisplayMode, Endpoints, OpenIdConfiguration } from \"@/types\";\nimport { v4 as uuid } from \"uuid\";\n\nconst getIssuerVariations = (issuer: string): string[] => {\n const issuerWithoutSlash = issuer.endsWith(\"/\")\n ? issuer.slice(0, issuer.length - 1)\n : issuer;\n\n const issuerWithSlash = `${issuerWithoutSlash}/`;\n\n return [issuerWithoutSlash, issuerWithSlash];\n};\n\nconst addSlashIfNeeded = (url: string): string =>\n url.endsWith(\"/\") ? url : `${url}/`;\n\nconst getOauthEndpoints = async (oauthServer: string): Promise<Endpoints> => {\n const openIdConfigResponse = await fetch(\n `${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`,\n );\n const openIdConfig =\n (await openIdConfigResponse.json()) as OpenIdConfiguration;\n return {\n jwks: openIdConfig.jwks_uri,\n auth: openIdConfig.authorization_endpoint,\n token: openIdConfig.token_endpoint,\n userinfo: openIdConfig.userinfo_endpoint,\n };\n};\n\n/**\n * creates a state string for the OAuth2 flow, encoding the display mode too for future use\n * @param {DisplayMode} displayMode\n * @returns {string}\n */\nconst generateState = (displayMode: DisplayMode): string => {\n const jsonString = JSON.stringify({\n uuid: uuid(),\n displayMode,\n });\n\n return btoa(jsonString);\n};\n\n/**\n * parses the state string from the OAuth2 flow, decoding the display mode too\n * @param state\n * @param sessionDisplayMode\n * @returns { uuid: string, displayMode: DisplayMode }\n */\nconst displayModeFromState = (\n state: string,\n sessionDisplayMode: DisplayMode | undefined,\n): DisplayMode | undefined => {\n try {\n const jsonString = btoa(state);\n\n return JSON.parse(jsonString).displayMode;\n } catch (e) {\n console.error(\"Failed to parse displayMode from state:\", state);\n return sessionDisplayMode;\n }\n};\n\nexport {\n getIssuerVariations,\n getOauthEndpoints,\n displayModeFromState,\n generateState,\n};\n","const DEFAULT_SCOPES = [\n \"openid\",\n \"profile\",\n \"email\",\n \"forwardedTokens\",\n \"offline_access\",\n];\nconst IFRAME_ID = \"civic-auth-iframe\";\n\nconst AUTH_SERVER = \"https://auth-dev.civic.com/oauth\";\n\nexport { DEFAULT_SCOPES, IFRAME_ID, AUTH_SERVER };\n"],"mappings":"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","names":["NextjsServerCookies"]}