@civic/auth 0.3.3 → 0.3.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 (550) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README.md +5 -1
  3. package/dist/cjs/constants.d.ts +3 -1
  4. package/dist/cjs/constants.d.ts.map +1 -1
  5. package/dist/cjs/constants.js +5 -1
  6. package/dist/cjs/constants.js.map +1 -1
  7. package/dist/cjs/nextjs/routeHandler.d.ts.map +1 -1
  8. package/dist/cjs/nextjs/routeHandler.js +7 -12
  9. package/dist/cjs/nextjs/routeHandler.js.map +1 -1
  10. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts +10 -2
  11. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -1
  12. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +12 -2
  13. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +1 -1
  14. package/dist/cjs/reactjs/components/SignInButton.d.ts +2 -2
  15. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +1 -1
  16. package/dist/cjs/reactjs/components/SignInButton.js +13 -3
  17. package/dist/cjs/reactjs/components/SignInButton.js.map +1 -1
  18. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +1 -1
  19. package/dist/cjs/reactjs/components/SignOutButton.js +10 -1
  20. package/dist/cjs/reactjs/components/SignOutButton.js.map +1 -1
  21. package/dist/cjs/reactjs/components/UserButton.d.ts.map +1 -1
  22. package/dist/cjs/reactjs/components/UserButton.js +17 -5
  23. package/dist/cjs/reactjs/components/UserButton.js.map +1 -1
  24. package/dist/cjs/reactjs/components/utils.d.ts +11 -1
  25. package/dist/cjs/reactjs/components/utils.d.ts.map +1 -1
  26. package/dist/cjs/reactjs/components/utils.js +12 -2
  27. package/dist/cjs/reactjs/components/utils.js.map +1 -1
  28. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +6 -0
  29. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +1 -0
  30. package/dist/cjs/reactjs/hooks/useSignIn.js +38 -0
  31. package/dist/cjs/reactjs/hooks/useSignIn.js.map +1 -0
  32. package/dist/cjs/shared/hooks/useSignIn.js +1 -1
  33. package/dist/cjs/shared/hooks/useSignIn.js.map +1 -1
  34. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +1 -1
  35. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
  36. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +15 -6
  37. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
  38. package/dist/cjs/shared/lib/UserSession.d.ts +3 -1
  39. package/dist/cjs/shared/lib/UserSession.d.ts.map +1 -1
  40. package/dist/cjs/shared/lib/UserSession.js.map +1 -1
  41. package/dist/cjs/shared/lib/session.js.map +1 -1
  42. package/dist/cjs/shared/version.d.ts +1 -1
  43. package/dist/cjs/shared/version.js +1 -1
  44. package/dist/cjs/shared/version.js.map +1 -1
  45. package/dist/cjs/types.d.ts +1 -1
  46. package/dist/cjs/types.d.ts.map +1 -1
  47. package/dist/cjs/types.js.map +1 -1
  48. package/dist/esm/constants.d.ts +3 -1
  49. package/dist/esm/constants.d.ts.map +1 -1
  50. package/dist/esm/constants.js +3 -1
  51. package/dist/esm/constants.js.map +1 -1
  52. package/dist/esm/nextjs/routeHandler.d.ts.map +1 -1
  53. package/dist/esm/nextjs/routeHandler.js +7 -12
  54. package/dist/esm/nextjs/routeHandler.js.map +1 -1
  55. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +10 -2
  56. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -1
  57. package/dist/esm/reactjs/components/ButtonContentOrLoader.js +12 -2
  58. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +1 -1
  59. package/dist/esm/reactjs/components/SignInButton.d.ts +2 -2
  60. package/dist/esm/reactjs/components/SignInButton.d.ts.map +1 -1
  61. package/dist/esm/reactjs/components/SignInButton.js +13 -3
  62. package/dist/esm/reactjs/components/SignInButton.js.map +1 -1
  63. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +1 -1
  64. package/dist/esm/reactjs/components/SignOutButton.js +10 -2
  65. package/dist/esm/reactjs/components/SignOutButton.js.map +1 -1
  66. package/dist/esm/reactjs/components/UserButton.d.ts.map +1 -1
  67. package/dist/esm/reactjs/components/UserButton.js +17 -5
  68. package/dist/esm/reactjs/components/UserButton.js.map +1 -1
  69. package/dist/esm/reactjs/components/utils.d.ts +11 -1
  70. package/dist/esm/reactjs/components/utils.d.ts.map +1 -1
  71. package/dist/esm/reactjs/components/utils.js +12 -2
  72. package/dist/esm/reactjs/components/utils.js.map +1 -1
  73. package/dist/esm/reactjs/hooks/useSignIn.d.ts +6 -0
  74. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +1 -0
  75. package/dist/esm/reactjs/hooks/useSignIn.js +34 -0
  76. package/dist/esm/reactjs/hooks/useSignIn.js.map +1 -0
  77. package/dist/esm/shared/hooks/useSignIn.js +1 -1
  78. package/dist/esm/shared/hooks/useSignIn.js.map +1 -1
  79. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +1 -1
  80. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
  81. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +16 -7
  82. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
  83. package/dist/esm/shared/lib/UserSession.d.ts +3 -1
  84. package/dist/esm/shared/lib/UserSession.d.ts.map +1 -1
  85. package/dist/esm/shared/lib/UserSession.js.map +1 -1
  86. package/dist/esm/shared/lib/session.js.map +1 -1
  87. package/dist/esm/shared/version.d.ts +1 -1
  88. package/dist/esm/shared/version.js +1 -1
  89. package/dist/esm/shared/version.js.map +1 -1
  90. package/dist/esm/types.d.ts +1 -1
  91. package/dist/esm/types.d.ts.map +1 -1
  92. package/dist/esm/types.js.map +1 -1
  93. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  94. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  95. package/package.json +18 -19
  96. package/dist/generateVersion.d.ts +0 -2
  97. package/dist/generateVersion.d.ts.map +0 -1
  98. package/dist/generateVersion.js +0 -12
  99. package/dist/generateVersion.js.map +0 -1
  100. package/dist/package.json +0 -118
  101. package/dist/src/browser/storage.d.ts +0 -9
  102. package/dist/src/browser/storage.d.ts.map +0 -1
  103. package/dist/src/browser/storage.js +0 -17
  104. package/dist/src/browser/storage.js.map +0 -1
  105. package/dist/src/config.d.ts +0 -3
  106. package/dist/src/config.d.ts.map +0 -1
  107. package/dist/src/config.js +0 -5
  108. package/dist/src/config.js.map +0 -1
  109. package/dist/src/constants.d.ts +0 -8
  110. package/dist/src/constants.d.ts.map +0 -1
  111. package/dist/src/constants.js +0 -16
  112. package/dist/src/constants.js.map +0 -1
  113. package/dist/src/index.d.ts +0 -6
  114. package/dist/src/index.d.ts.map +0 -1
  115. package/dist/src/index.js +0 -4
  116. package/dist/src/index.js.map +0 -1
  117. package/dist/src/lib/cookies.d.ts +0 -7
  118. package/dist/src/lib/cookies.d.ts.map +0 -1
  119. package/dist/src/lib/cookies.js +0 -25
  120. package/dist/src/lib/cookies.js.map +0 -1
  121. package/dist/src/lib/jwt.d.ts +0 -3
  122. package/dist/src/lib/jwt.d.ts.map +0 -1
  123. package/dist/src/lib/jwt.js +0 -9
  124. package/dist/src/lib/jwt.js.map +0 -1
  125. package/dist/src/lib/logger.d.ts +0 -26
  126. package/dist/src/lib/logger.d.ts.map +0 -1
  127. package/dist/src/lib/logger.js +0 -55
  128. package/dist/src/lib/logger.js.map +0 -1
  129. package/dist/src/lib/oauth.d.ts +0 -19
  130. package/dist/src/lib/oauth.d.ts.map +0 -1
  131. package/dist/src/lib/oauth.js +0 -61
  132. package/dist/src/lib/oauth.js.map +0 -1
  133. package/dist/src/lib/obj.d.ts +0 -3
  134. package/dist/src/lib/obj.d.ts.map +0 -1
  135. package/dist/src/lib/obj.js +0 -18
  136. package/dist/src/lib/obj.js.map +0 -1
  137. package/dist/src/lib/postMessage.d.ts +0 -4
  138. package/dist/src/lib/postMessage.d.ts.map +0 -1
  139. package/dist/src/lib/postMessage.js +0 -15
  140. package/dist/src/lib/postMessage.js.map +0 -1
  141. package/dist/src/lib/windowUtil.d.ts +0 -4
  142. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  143. package/dist/src/lib/windowUtil.js +0 -31
  144. package/dist/src/lib/windowUtil.js.map +0 -1
  145. package/dist/src/nextjs/GetUser.d.ts +0 -6
  146. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  147. package/dist/src/nextjs/GetUser.js +0 -7
  148. package/dist/src/nextjs/GetUser.js.map +0 -1
  149. package/dist/src/nextjs/config.d.ts +0 -181
  150. package/dist/src/nextjs/config.d.ts.map +0 -1
  151. package/dist/src/nextjs/config.js +0 -177
  152. package/dist/src/nextjs/config.js.map +0 -1
  153. package/dist/src/nextjs/cookies.d.ts +0 -30
  154. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  155. package/dist/src/nextjs/cookies.js +0 -112
  156. package/dist/src/nextjs/cookies.js.map +0 -1
  157. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  158. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  159. package/dist/src/nextjs/hooks/index.js +0 -2
  160. package/dist/src/nextjs/hooks/index.js.map +0 -1
  161. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  162. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  163. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  164. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  165. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  166. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  167. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  168. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  169. package/dist/src/nextjs/index.d.ts +0 -7
  170. package/dist/src/nextjs/index.d.ts.map +0 -1
  171. package/dist/src/nextjs/index.js +0 -8
  172. package/dist/src/nextjs/index.js.map +0 -1
  173. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  174. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  175. package/dist/src/nextjs/middleware/index.js +0 -4
  176. package/dist/src/nextjs/middleware/index.js.map +0 -1
  177. package/dist/src/nextjs/middleware.d.ts +0 -59
  178. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  179. package/dist/src/nextjs/middleware.js +0 -107
  180. package/dist/src/nextjs/middleware.js.map +0 -1
  181. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  182. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  183. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  184. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  185. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  186. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  187. package/dist/src/nextjs/routeHandler.js +0 -309
  188. package/dist/src/nextjs/routeHandler.js.map +0 -1
  189. package/dist/src/nextjs/utils.d.ts +0 -3
  190. package/dist/src/nextjs/utils.d.ts.map +0 -1
  191. package/dist/src/nextjs/utils.js +0 -5
  192. package/dist/src/nextjs/utils.js.map +0 -1
  193. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  194. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  195. package/dist/src/reactjs/components/SignInButton.js +0 -14
  196. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  197. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  198. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  199. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  200. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  201. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  202. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  203. package/dist/src/reactjs/components/UserButton.js +0 -118
  204. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  205. package/dist/src/reactjs/components/index.d.ts +0 -6
  206. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  207. package/dist/src/reactjs/components/index.js +0 -6
  208. package/dist/src/reactjs/components/index.js.map +0 -1
  209. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  210. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  211. package/dist/src/reactjs/hooks/index.js +0 -6
  212. package/dist/src/reactjs/hooks/index.js.map +0 -1
  213. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  214. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  215. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  216. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  217. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  218. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  219. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  220. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  221. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  222. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  223. package/dist/src/reactjs/hooks/useUser.js +0 -12
  224. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  225. package/dist/src/reactjs/index.d.ts +0 -6
  226. package/dist/src/reactjs/index.d.ts.map +0 -1
  227. package/dist/src/reactjs/index.js +0 -10
  228. package/dist/src/reactjs/index.js.map +0 -1
  229. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  230. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  231. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  232. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  233. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  234. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  235. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  236. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  237. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  238. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  239. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  240. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  241. package/dist/src/reactjs/providers/index.d.ts +0 -8
  242. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  243. package/dist/src/reactjs/providers/index.js +0 -7
  244. package/dist/src/reactjs/providers/index.js.map +0 -1
  245. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  246. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  247. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  248. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  249. package/dist/src/server/config.d.ts +0 -10
  250. package/dist/src/server/config.d.ts.map +0 -1
  251. package/dist/src/server/config.js +0 -2
  252. package/dist/src/server/config.js.map +0 -1
  253. package/dist/src/server/index.d.ts +0 -7
  254. package/dist/src/server/index.d.ts.map +0 -1
  255. package/dist/src/server/index.js +0 -7
  256. package/dist/src/server/index.js.map +0 -1
  257. package/dist/src/server/login.d.ts +0 -21
  258. package/dist/src/server/login.d.ts.map +0 -1
  259. package/dist/src/server/login.js +0 -56
  260. package/dist/src/server/login.js.map +0 -1
  261. package/dist/src/server/refresh.d.ts +0 -7
  262. package/dist/src/server/refresh.d.ts.map +0 -1
  263. package/dist/src/server/refresh.js +0 -13
  264. package/dist/src/server/refresh.js.map +0 -1
  265. package/dist/src/services/AuthenticationService.d.ts +0 -91
  266. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  267. package/dist/src/services/AuthenticationService.js +0 -322
  268. package/dist/src/services/AuthenticationService.js.map +0 -1
  269. package/dist/src/services/PKCE.d.ts +0 -20
  270. package/dist/src/services/PKCE.d.ts.map +0 -1
  271. package/dist/src/services/PKCE.js +0 -44
  272. package/dist/src/services/PKCE.js.map +0 -1
  273. package/dist/src/services/types.d.ts +0 -24
  274. package/dist/src/services/types.d.ts.map +0 -1
  275. package/dist/src/services/types.js +0 -7
  276. package/dist/src/services/types.js.map +0 -1
  277. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  278. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  279. package/dist/src/shared/components/BlockDisplay.js +0 -25
  280. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  281. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  282. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  283. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  284. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  285. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  286. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  287. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  288. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  289. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  290. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  291. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  292. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  293. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  294. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  295. package/dist/src/shared/components/CloseIcon.js +0 -6
  296. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  297. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  298. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  299. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  300. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  301. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  302. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  303. package/dist/src/shared/components/LoadingIcon.js +0 -30
  304. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  305. package/dist/src/shared/hooks/index.d.ts +0 -11
  306. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  307. package/dist/src/shared/hooks/index.js +0 -11
  308. package/dist/src/shared/hooks/index.js.map +0 -1
  309. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  310. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  311. package/dist/src/shared/hooks/useAuth.js +0 -12
  312. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  313. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  314. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  315. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  316. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  317. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  318. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  319. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  320. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  321. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  322. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  323. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  324. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  325. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  326. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  327. package/dist/src/shared/hooks/useIframe.js +0 -13
  328. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  329. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  330. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  331. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  332. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  333. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  334. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  335. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  336. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  337. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  338. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  339. package/dist/src/shared/hooks/useRefresh.js +0 -38
  340. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  341. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  342. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  343. package/dist/src/shared/hooks/useSession.js +0 -13
  344. package/dist/src/shared/hooks/useSession.js.map +0 -1
  345. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  346. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  347. package/dist/src/shared/hooks/useSignIn.js +0 -126
  348. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  349. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  350. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  351. package/dist/src/shared/hooks/useToken.js +0 -12
  352. package/dist/src/shared/hooks/useToken.js.map +0 -1
  353. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  354. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  355. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  356. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  357. package/dist/src/shared/index.d.ts +0 -5
  358. package/dist/src/shared/index.d.ts.map +0 -1
  359. package/dist/src/shared/index.js +0 -16
  360. package/dist/src/shared/index.js.map +0 -1
  361. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  362. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  363. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  364. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  365. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  366. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  367. package/dist/src/shared/lib/UserSession.js +0 -20
  368. package/dist/src/shared/lib/UserSession.js.map +0 -1
  369. package/dist/src/shared/lib/session.d.ts +0 -3
  370. package/dist/src/shared/lib/session.d.ts.map +0 -1
  371. package/dist/src/shared/lib/session.js +0 -21
  372. package/dist/src/shared/lib/session.js.map +0 -1
  373. package/dist/src/shared/lib/storage.d.ts +0 -25
  374. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  375. package/dist/src/shared/lib/storage.js +0 -17
  376. package/dist/src/shared/lib/storage.js.map +0 -1
  377. package/dist/src/shared/lib/types.d.ts +0 -36
  378. package/dist/src/shared/lib/types.d.ts.map +0 -1
  379. package/dist/src/shared/lib/types.js +0 -18
  380. package/dist/src/shared/lib/types.js.map +0 -1
  381. package/dist/src/shared/lib/util.d.ts +0 -34
  382. package/dist/src/shared/lib/util.d.ts.map +0 -1
  383. package/dist/src/shared/lib/util.js +0 -137
  384. package/dist/src/shared/lib/util.js.map +0 -1
  385. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  386. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  387. package/dist/src/shared/providers/AuthContext.js +0 -3
  388. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  389. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  390. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  391. package/dist/src/shared/providers/AuthProvider.js +0 -72
  392. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  393. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  394. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  395. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  396. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  397. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  398. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  399. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  400. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  401. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  402. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  403. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  404. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  405. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  406. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  407. package/dist/src/shared/providers/IframeProvider.js +0 -35
  408. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  409. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  410. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  411. package/dist/src/shared/providers/SessionProvider.js +0 -23
  412. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  413. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  414. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  415. package/dist/src/shared/providers/TokenProvider.js +0 -42
  416. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  417. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  418. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  419. package/dist/src/shared/providers/UserProvider.js +0 -52
  420. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  421. package/dist/src/shared/providers/types.d.ts +0 -15
  422. package/dist/src/shared/providers/types.d.ts.map +0 -1
  423. package/dist/src/shared/providers/types.js +0 -2
  424. package/dist/src/shared/providers/types.js.map +0 -1
  425. package/dist/src/shared/version.d.ts +0 -2
  426. package/dist/src/shared/version.d.ts.map +0 -1
  427. package/dist/src/shared/version.js +0 -3
  428. package/dist/src/shared/version.js.map +0 -1
  429. package/dist/src/types.d.ts +0 -148
  430. package/dist/src/types.d.ts.map +0 -1
  431. package/dist/src/types.js +0 -4
  432. package/dist/src/types.js.map +0 -1
  433. package/dist/src/utils.d.ts +0 -15
  434. package/dist/src/utils.d.ts.map +0 -1
  435. package/dist/src/utils.js +0 -43
  436. package/dist/src/utils.js.map +0 -1
  437. package/dist/src/version.d.ts +0 -2
  438. package/dist/src/version.d.ts.map +0 -1
  439. package/dist/src/version.js +0 -3
  440. package/dist/src/version.js.map +0 -1
  441. package/dist/test/integration/sdk.test.d.ts +0 -2
  442. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  443. package/dist/test/integration/sdk.test.js +0 -237
  444. package/dist/test/integration/sdk.test.js.map +0 -1
  445. package/dist/test/support/fixtures.d.ts +0 -26
  446. package/dist/test/support/fixtures.d.ts.map +0 -1
  447. package/dist/test/support/fixtures.js +0 -55
  448. package/dist/test/support/fixtures.js.map +0 -1
  449. package/dist/test/support/tokens.json +0 -26
  450. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  451. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  452. package/dist/test/unit/lib/oauth.test.js +0 -56
  453. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  454. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  455. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  456. package/dist/test/unit/lib/obj.test.js +0 -37
  457. package/dist/test/unit/lib/obj.test.js.map +0 -1
  458. package/dist/test/unit/logger.test.d.ts +0 -2
  459. package/dist/test/unit/logger.test.d.ts.map +0 -1
  460. package/dist/test/unit/logger.test.js +0 -141
  461. package/dist/test/unit/logger.test.js.map +0 -1
  462. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  463. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  464. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  465. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  466. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  467. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  468. package/dist/test/unit/nextjs/config.test.js +0 -203
  469. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  470. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  471. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  472. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  473. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  474. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  475. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  476. package/dist/test/unit/nextjs/handler.test.js +0 -207
  477. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  478. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  479. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  480. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  481. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  482. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  483. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  484. package/dist/test/unit/nextjs/utils.test.js +0 -13
  485. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  486. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  487. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  488. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  489. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  490. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  491. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  492. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  493. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  494. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  495. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  496. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  497. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  498. package/dist/test/unit/server/login.test.d.ts +0 -2
  499. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  500. package/dist/test/unit/server/login.test.js +0 -184
  501. package/dist/test/unit/server/login.test.js.map +0 -1
  502. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  503. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  504. package/dist/test/unit/server/refresh.test.js +0 -55
  505. package/dist/test/unit/server/refresh.test.js.map +0 -1
  506. package/dist/test/unit/server/session.test.d.ts +0 -2
  507. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  508. package/dist/test/unit/server/session.test.js +0 -41
  509. package/dist/test/unit/server/session.test.js.map +0 -1
  510. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  511. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  512. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  513. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  514. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  515. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  516. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  517. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  518. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  519. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  520. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  521. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  522. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  523. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  524. package/dist/test/unit/shared/UserSession.test.js +0 -37
  525. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  526. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  527. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  528. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  529. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  530. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  531. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  532. package/dist/test/unit/shared/printVersion.test.js +0 -39
  533. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  534. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  535. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  536. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  537. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  538. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  539. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  540. package/dist/test/unit/shared/storage.test.js +0 -53
  541. package/dist/test/unit/shared/storage.test.js.map +0 -1
  542. package/dist/test/unit/utils.test.d.ts +0 -2
  543. package/dist/test/unit/utils.test.d.ts.map +0 -1
  544. package/dist/test/unit/utils.test.js +0 -40
  545. package/dist/test/unit/utils.test.js.map +0 -1
  546. package/dist/tsconfig.tsbuildinfo +0 -1
  547. package/dist/vitest.config.d.ts +0 -3
  548. package/dist/vitest.config.d.ts.map +0 -1
  549. package/dist/vitest.config.js +0 -44
  550. package/dist/vitest.config.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"obj.js","sourceRoot":"","sources":["../../../src/lib/obj.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CACtB,IAAgD,EAChD,IAAgD,EACvC,EAAE;IACX,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE/B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["const objectsAreEqual = (\n obj1: Record<string, unknown> | null | undefined,\n obj2: Record<string, unknown> | null | undefined,\n): boolean => {\n if (obj1 === obj2) return true;\n\n if ((obj1 && !obj2) || (obj2 && !obj1)) {\n return false;\n }\n\n const keys1 = obj1 ? Object.keys(obj1) : [];\n const keys2 = obj2 ? Object.keys(obj2) : [];\n\n if (keys1.length !== keys2.length) return false;\n\n for (const key of keys1) {\n if ((obj1 || {})[key] !== (obj2 || {})[key]) return false;\n }\n\n return true;\n};\nexport { objectsAreEqual };\n"]}
@@ -1,4 +0,0 @@
1
- import type { LoginPostMessage } from "@/types.js";
2
- declare const validateLoginAppPostMessage: (event: LoginPostMessage, clientId: string) => boolean;
3
- export { validateLoginAppPostMessage };
4
- //# sourceMappingURL=postMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postMessage.d.ts","sourceRoot":"","sources":["../../../src/lib/postMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,QAAA,MAAM,2BAA2B,UACxB,gBAAgB,YACb,MAAM,KACf,OAcF,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- const validateLoginAppPostMessage = (event, clientId) => {
2
- const caseEvent = event;
3
- // console.log("caseEvent", caseEvent);
4
- if (!caseEvent.clientId ||
5
- !caseEvent.data.url ||
6
- !caseEvent.source ||
7
- !caseEvent.type ||
8
- caseEvent.clientId !== clientId ||
9
- caseEvent.source !== "civicloginApp") {
10
- return false;
11
- }
12
- return true;
13
- };
14
- export { validateLoginAppPostMessage };
15
- //# sourceMappingURL=postMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postMessage.js","sourceRoot":"","sources":["../../../src/lib/postMessage.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,CAClC,KAAuB,EACvB,QAAgB,EACP,EAAE;IACX,MAAM,SAAS,GAAG,KAAyB,CAAC;IAC5C,uCAAuC;IACvC,IACE,CAAC,SAAS,CAAC,QAAQ;QACnB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;QACnB,CAAC,SAAS,CAAC,MAAM;QACjB,CAAC,SAAS,CAAC,IAAI;QACf,SAAS,CAAC,QAAQ,KAAK,QAAQ;QAC/B,SAAS,CAAC,MAAM,KAAK,eAAe,EACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC","sourcesContent":["import type { LoginPostMessage } from \"@/types.js\";\n\nconst validateLoginAppPostMessage = (\n event: LoginPostMessage,\n clientId: string,\n): boolean => {\n const caseEvent = event as LoginPostMessage;\n // console.log(\"caseEvent\", caseEvent);\n if (\n !caseEvent.clientId ||\n !caseEvent.data.url ||\n !caseEvent.source ||\n !caseEvent.type ||\n caseEvent.clientId !== clientId ||\n caseEvent.source !== \"civicloginApp\"\n ) {\n return false;\n }\n return true;\n};\n\nexport { validateLoginAppPostMessage };\n"]}
@@ -1,4 +0,0 @@
1
- declare const isWindowInIframe: (window: Window) => boolean;
2
- declare const removeParamsWithoutReload: (paramsToRemove: string[]) => void;
3
- export { isWindowInIframe, removeParamsWithoutReload };
4
- //# sourceMappingURL=windowUtil.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windowUtil.d.ts","sourceRoot":"","sources":["../../../src/lib/windowUtil.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,WAAY,MAAM,KAAG,OAc1C,CAAC;AAEF,QAAA,MAAM,yBAAyB,mBAAoB,MAAM,EAAE,SAW1D,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,31 +0,0 @@
1
- const isWindowInIframe = (window) => {
2
- if (typeof window !== "undefined") {
3
- // use the window width to determine if we're in an iframe or not
4
- try {
5
- if (window?.frameElement?.id === "civic-auth-iframe") {
6
- return true;
7
- }
8
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
9
- }
10
- catch (_e) {
11
- // If we get an error, we're not in an iframe
12
- return false;
13
- }
14
- }
15
- return false;
16
- };
17
- const removeParamsWithoutReload = (paramsToRemove) => {
18
- const url = new URL(window.location.href);
19
- paramsToRemove.forEach((param) => {
20
- url.searchParams.delete(param);
21
- });
22
- try {
23
- window.history.replaceState({}, "", url);
24
- window.dispatchEvent(new Event("popstate"));
25
- }
26
- catch (error) {
27
- console.warn("window.history.replaceState failed", error);
28
- }
29
- };
30
- export { isWindowInIframe, removeParamsWithoutReload };
31
- //# sourceMappingURL=windowUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windowUtil.js","sourceRoot":"","sources":["../../../src/lib/windowUtil.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,iEAAiE;QACjE,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,mBAAmB,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,6DAA6D;QAC/D,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,6CAA6C;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,cAAwB,EAAE,EAAE;IAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QACvC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC","sourcesContent":["const isWindowInIframe = (window: Window): boolean => {\n if (typeof window !== \"undefined\") {\n // use the window width to determine if we're in an iframe or not\n try {\n if (window?.frameElement?.id === \"civic-auth-iframe\") {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (_e) {\n // If we get an error, we're not in an iframe\n return false;\n }\n }\n return false;\n};\n\nconst removeParamsWithoutReload = (paramsToRemove: string[]) => {\n const url = new URL(window.location.href);\n paramsToRemove.forEach((param: string) => {\n url.searchParams.delete(param);\n });\n try {\n window.history.replaceState({}, \"\", url);\n window.dispatchEvent(new Event(\"popstate\"));\n } catch (error) {\n console.warn(\"window.history.replaceState failed\", error);\n }\n};\n\nexport { isWindowInIframe, removeParamsWithoutReload };\n"]}
@@ -1,6 +0,0 @@
1
- /**
2
- * Used on the server-side to get the user object from the cookie
3
- */
4
- import type { User } from "@/types.js";
5
- export declare const getUser: () => Promise<User | null>;
6
- //# sourceMappingURL=GetUser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GetUser.d.ts","sourceRoot":"","sources":["../../../src/nextjs/GetUser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,GAAG,IAAI,CAGnD,CAAC"}
@@ -1,7 +0,0 @@
1
- import { NextjsClientStorage } from "@/nextjs/cookies.js";
2
- import { getUser as getSessionUser } from "@/shared/lib/session.js";
3
- export const getUser = async () => {
4
- const clientStorage = new NextjsClientStorage();
5
- return getSessionUser(clientStorage);
6
- };
7
- //# sourceMappingURL=GetUser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GetUser.js","sourceRoot":"","sources":["../../../src/nextjs/GetUser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAA0B,EAAE;IACtD,MAAM,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAChD,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC;AACvC,CAAC,CAAC","sourcesContent":["/**\n * Used on the server-side to get the user object from the cookie\n */\nimport type { User } from \"@/types.js\";\nimport { NextjsClientStorage } from \"@/nextjs/cookies.js\";\nimport { getUser as getSessionUser } from \"@/shared/lib/session.js\";\n\nexport const getUser = async (): Promise<User | null> => {\n const clientStorage = new NextjsClientStorage();\n return getSessionUser(clientStorage);\n};\n"]}
@@ -1,181 +0,0 @@
1
- import type { NextConfig } from "next";
2
- import { type CookieConfig, type TokensCookieConfig } from "@/shared/lib/types.js";
3
- export type CookiesConfigObject = {
4
- tokens: TokensCookieConfig;
5
- user: CookieConfig;
6
- };
7
- export type AuthConfigWithDefaults = {
8
- clientId: string;
9
- oauthServer: string;
10
- callbackUrl: string;
11
- loginUrl: string;
12
- logoutUrl: string;
13
- logoutCallbackUrl: string;
14
- challengeUrl: string;
15
- include: string[];
16
- exclude: string[];
17
- cookies: CookiesConfigObject;
18
- };
19
- export type AuthConfig = Partial<AuthConfigWithDefaults>;
20
- export type DefinedAuthConfig = AuthConfigWithDefaults;
21
- /**
22
- * Default configuration values that will be used if not overridden
23
- */
24
- export declare const defaultAuthConfig: Omit<AuthConfigWithDefaults, "clientId">;
25
- /**
26
- * Resolves the authentication configuration by combining:
27
- * 1. Default values
28
- * 2. Environment variables (set internally by the plugin)
29
- * 3. Explicitly passed configuration
30
- *
31
- * Note: Developers should not set _civic_auth_* environment variables directly.
32
- * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:
33
- *
34
- * @example
35
- * ```js
36
- * // next.config.js
37
- * export default createCivicAuthPlugin({
38
- * callbackUrl: '/custom/callback',
39
- * })
40
- * ```
41
- */
42
- export declare const resolveAuthConfig: (config?: AuthConfig) => AuthConfigWithDefaults;
43
- /**
44
- * Creates a Next.js plugin that handles auth configuration.
45
- *
46
- * This is the main configuration point for the auth system.
47
- * Do not set _civic_auth_* environment variables directly - instead,
48
- * pass your configuration here:
49
- *
50
- * @example
51
- * ```js
52
- * // next.config.js
53
- * export default createCivicAuthPlugin({
54
- * clientId: 'my-client-id',
55
- * callbackUrl: '/custom/callback',
56
- * loginUrl: '/custom/login',
57
- * logoutUrl: '/custom/logout',
58
- * logoutCallbackUrl: '/custom/logoutcallback',
59
- * include: ['/protected/*'],
60
- * exclude: ['/public/*']
61
- * })
62
- * ```
63
- *
64
- * The plugin sets internal environment variables that are used by
65
- * the auth system. These variables should not be set manually.
66
- */
67
- export declare const createCivicAuthPlugin: (authConfig: AuthConfig & Pick<Required<AuthConfig>, "clientId">) => (nextConfig?: NextConfig) => {
68
- env: {
69
- _civic_auth_client_id: string;
70
- _civic_oauth_server: string;
71
- _civic_auth_callback_url: string;
72
- _civic_auth_challenge_url: string;
73
- _civic_auth_login_url: string;
74
- _civic_auth_logout_url: string;
75
- _civic_auth_logout_callback_url: string;
76
- _civic_auth_includes: string;
77
- _civic_auth_excludes: string;
78
- _civic_auth_cookie_config: string;
79
- };
80
- exportPathMap?: (defaultMap: import("next/dist/server/config-shared.js").ExportPathMap, ctx: {
81
- dev: boolean;
82
- dir: string;
83
- outDir: string | null;
84
- distDir: string;
85
- buildId: string;
86
- }) => Promise<import("next/dist/server/config-shared.js").ExportPathMap> | import("next/dist/server/config-shared.js").ExportPathMap;
87
- i18n?: import("next/dist/server/config-shared.js").I18NConfig | null;
88
- eslint?: import("next/dist/server/config-shared.js").ESLintConfig;
89
- typescript?: import("next/dist/server/config-shared.js").TypeScriptConfig;
90
- headers?: () => Promise<import("next/dist/lib/load-custom-routes.js").Header[]>;
91
- rewrites?: () => Promise<import("next/dist/lib/load-custom-routes.js").Rewrite[] | {
92
- beforeFiles: import("next/dist/lib/load-custom-routes.js").Rewrite[];
93
- afterFiles: import("next/dist/lib/load-custom-routes.js").Rewrite[];
94
- fallback: import("next/dist/lib/load-custom-routes.js").Rewrite[];
95
- }>;
96
- redirects?: () => Promise<import("next/dist/lib/load-custom-routes.js").Redirect[]>;
97
- excludeDefaultMomentLocales?: boolean;
98
- webpack?: import("next/dist/server/config-shared.js").NextJsWebpackConfig | null;
99
- trailingSlash?: boolean;
100
- distDir?: string;
101
- cleanDistDir?: boolean;
102
- assetPrefix?: string;
103
- cacheHandler?: string | undefined;
104
- cacheMaxMemorySize?: number;
105
- useFileSystemPublicRoutes?: boolean;
106
- generateBuildId?: () => string | null | Promise<string | null>;
107
- generateEtags?: boolean;
108
- pageExtensions?: string[];
109
- compress?: boolean;
110
- analyticsId?: string;
111
- poweredByHeader?: boolean;
112
- images?: import("next/dist/shared/lib/image-config.js").ImageConfig;
113
- devIndicators?: {
114
- buildActivity?: boolean;
115
- buildActivityPosition?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
116
- };
117
- onDemandEntries?: {
118
- maxInactiveAge?: number;
119
- pagesBufferLength?: number;
120
- };
121
- amp?: {
122
- canonicalBase?: string;
123
- };
124
- deploymentId?: string;
125
- basePath?: string;
126
- sassOptions?: {
127
- [key: string]: any;
128
- };
129
- productionBrowserSourceMaps?: boolean;
130
- optimizeFonts?: boolean;
131
- reactProductionProfiling?: boolean;
132
- reactStrictMode?: boolean | null;
133
- publicRuntimeConfig?: {
134
- [key: string]: any;
135
- };
136
- serverRuntimeConfig?: {
137
- [key: string]: any;
138
- };
139
- httpAgentOptions?: {
140
- keepAlive?: boolean;
141
- };
142
- outputFileTracing?: boolean;
143
- staticPageGenerationTimeout?: number;
144
- crossOrigin?: "anonymous" | "use-credentials";
145
- swcMinify?: boolean;
146
- compiler?: {
147
- reactRemoveProperties?: boolean | {
148
- properties?: string[];
149
- };
150
- relay?: {
151
- src: string;
152
- artifactDirectory?: string;
153
- language?: "typescript" | "javascript" | "flow";
154
- eagerEsModules?: boolean;
155
- };
156
- removeConsole?: boolean | {
157
- exclude?: string[];
158
- };
159
- styledComponents?: boolean | import("next/dist/server/config-shared.js").StyledComponentsConfig;
160
- emotion?: boolean | import("next/dist/server/config-shared.js").EmotionConfig;
161
- styledJsx?: boolean | {
162
- useLightningcss?: boolean;
163
- };
164
- };
165
- output?: "standalone" | "export";
166
- transpilePackages?: string[];
167
- skipMiddlewareUrlNormalize?: boolean;
168
- skipTrailingSlashRedirect?: boolean;
169
- modularizeImports?: Record<string, {
170
- transform: string | Record<string, string>;
171
- preventFullImport?: boolean;
172
- skipDefaultConversion?: boolean;
173
- }>;
174
- logging?: {
175
- fetches?: {
176
- fullUrl?: boolean;
177
- };
178
- };
179
- experimental?: import("next/dist/server/config-shared.js").ExperimentalConfig;
180
- };
181
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/nextjs/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,CA8DtE,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,YACpB,UAAU,KACjB,sBA2CF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,qBAAqB,eACpB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,mBAE1C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAyBk9a,CAAC;6BAAsG,CAAC;;;sBAAke,CAAC;yBAA4H,CAAC;;;qBAA+H,CAAC;;;;;;;;;;;;;;;;;;iBAA8pE,CAAC;;;;;;;6BAAg6C,CAAC;sBAAoC,CAAC;;aAAoC,CAAC;;6BAA0D,CAAC;oBAA8B,CAAC;0BAAkE,CAAC;;qBAA2C,CAAC;mBAAiC,CAAC;;wBAA+C,CAAC;eAAmD,CAAC;iBAA4C,CAAC;2BAAyC,CAAC;;;;;;;;;yBAA4zC,CAAC;6BAAwC,CAAC;;;eAAkD,CAAC;mBAAuB,CAAC;;;;CAD3xnB,CAAC"}
@@ -1,177 +0,0 @@
1
- import { loggers } from "@/lib/logger.js";
2
- import { withoutUndefined } from "@/utils.js";
3
- import { CodeVerifier, OAuthTokens, } from "@/shared/lib/types.js";
4
- import { DEFAULT_AUTH_SERVER } from "@/constants.js";
5
- const logger = loggers.nextjs.handlers.auth;
6
- const defaultServerSecure = !(process.env.NODE_ENV === "development");
7
- /**
8
- * Default configuration values that will be used if not overridden
9
- */
10
- export const defaultAuthConfig = {
11
- oauthServer: DEFAULT_AUTH_SERVER,
12
- callbackUrl: "/api/auth/callback",
13
- challengeUrl: "/api/auth/challenge",
14
- logoutUrl: "/api/auth/logout",
15
- logoutCallbackUrl: "/api/auth/logoutcallback",
16
- loginUrl: "/",
17
- include: ["/*"],
18
- exclude: [],
19
- cookies: {
20
- tokens: {
21
- [OAuthTokens.ID_TOKEN]: {
22
- secure: defaultServerSecure,
23
- httpOnly: true,
24
- sameSite: "strict",
25
- path: "/",
26
- },
27
- [OAuthTokens.ACCESS_TOKEN]: {
28
- secure: defaultServerSecure,
29
- httpOnly: true,
30
- sameSite: "strict",
31
- path: "/",
32
- },
33
- [OAuthTokens.REFRESH_TOKEN]: {
34
- secure: defaultServerSecure,
35
- httpOnly: true,
36
- sameSite: "strict",
37
- path: "/",
38
- },
39
- [OAuthTokens.EXPIRES_IN]: {
40
- secure: defaultServerSecure,
41
- httpOnly: true,
42
- sameSite: "strict",
43
- path: "/",
44
- },
45
- [OAuthTokens.TIMESTAMP]: {
46
- secure: defaultServerSecure,
47
- httpOnly: true,
48
- sameSite: "strict",
49
- path: "/",
50
- },
51
- [CodeVerifier.COOKIE_NAME]: {
52
- secure: defaultServerSecure,
53
- httpOnly: true,
54
- sameSite: "strict",
55
- path: "/",
56
- },
57
- [CodeVerifier.APP_URL]: {
58
- secure: defaultServerSecure,
59
- httpOnly: true,
60
- sameSite: "strict",
61
- path: "/",
62
- },
63
- },
64
- user: {
65
- secure: defaultServerSecure,
66
- httpOnly: false,
67
- sameSite: "strict",
68
- path: "/",
69
- maxAge: 60 * 60, // 1 hour
70
- },
71
- },
72
- };
73
- /**
74
- * Resolves the authentication configuration by combining:
75
- * 1. Default values
76
- * 2. Environment variables (set internally by the plugin)
77
- * 3. Explicitly passed configuration
78
- *
79
- * Note: Developers should not set _civic_auth_* environment variables directly.
80
- * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:
81
- *
82
- * @example
83
- * ```js
84
- * // next.config.js
85
- * export default createCivicAuthPlugin({
86
- * callbackUrl: '/custom/callback',
87
- * })
88
- * ```
89
- */
90
- export const resolveAuthConfig = (config = {}) => {
91
- // Read configuration that was set by the plugin via environment variables
92
- const configFromEnv = withoutUndefined({
93
- clientId: process.env._civic_auth_client_id,
94
- oauthServer: process.env._civic_oauth_server,
95
- callbackUrl: process.env._civic_auth_callback_url,
96
- challengeUrl: process.env._civic_auth_challenge_url,
97
- loginUrl: process.env._civic_auth_login_url,
98
- logoutUrl: process.env._civic_auth_logout_url,
99
- logoutCallbackUrl: process.env._civic_auth_logout_callback_url,
100
- include: process.env._civic_auth_includes?.split(","),
101
- exclude: process.env._civic_auth_excludes?.split(","),
102
- cookies: process.env._civic_auth_cookie_config
103
- ? JSON.parse(process.env._civic_auth_cookie_config)
104
- : undefined,
105
- });
106
- const mergedConfig = {
107
- ...defaultAuthConfig,
108
- ...configFromEnv, // Apply plugin-set config
109
- ...config, // Override with directly passed config
110
- cookies: {
111
- tokens: {
112
- ...defaultAuthConfig.cookies.tokens,
113
- ...(configFromEnv?.cookies?.tokens || {}),
114
- ...(config.cookies?.tokens || {}),
115
- },
116
- user: {
117
- ...defaultAuthConfig.cookies.user,
118
- ...(configFromEnv?.cookies?.user || {}),
119
- ...(config.cookies?.user || {}),
120
- },
121
- },
122
- };
123
- logger.debug("Config from environment:", JSON.stringify(configFromEnv, null, 2));
124
- logger.debug("Resolved config:", JSON.stringify(mergedConfig, null, 2));
125
- if (mergedConfig.clientId === undefined) {
126
- throw new Error("Civic Auth client ID is required");
127
- }
128
- return mergedConfig;
129
- };
130
- /**
131
- * Creates a Next.js plugin that handles auth configuration.
132
- *
133
- * This is the main configuration point for the auth system.
134
- * Do not set _civic_auth_* environment variables directly - instead,
135
- * pass your configuration here:
136
- *
137
- * @example
138
- * ```js
139
- * // next.config.js
140
- * export default createCivicAuthPlugin({
141
- * clientId: 'my-client-id',
142
- * callbackUrl: '/custom/callback',
143
- * loginUrl: '/custom/login',
144
- * logoutUrl: '/custom/logout',
145
- * logoutCallbackUrl: '/custom/logoutcallback',
146
- * include: ['/protected/*'],
147
- * exclude: ['/public/*']
148
- * })
149
- * ```
150
- *
151
- * The plugin sets internal environment variables that are used by
152
- * the auth system. These variables should not be set manually.
153
- */
154
- export const createCivicAuthPlugin = (authConfig) => {
155
- return (nextConfig) => {
156
- logger.debug("createCivicAuthPlugin nextConfig", JSON.stringify(nextConfig, null, 2));
157
- const resolvedConfig = resolveAuthConfig({ ...authConfig });
158
- return {
159
- ...nextConfig,
160
- env: {
161
- ...nextConfig?.env,
162
- // Internal environment variables - do not set these manually
163
- _civic_auth_client_id: resolvedConfig.clientId,
164
- _civic_oauth_server: resolvedConfig.oauthServer,
165
- _civic_auth_callback_url: resolvedConfig.callbackUrl,
166
- _civic_auth_challenge_url: resolvedConfig.challengeUrl,
167
- _civic_auth_login_url: resolvedConfig.loginUrl,
168
- _civic_auth_logout_url: resolvedConfig.logoutUrl,
169
- _civic_auth_logout_callback_url: resolvedConfig.logoutCallbackUrl,
170
- _civic_auth_includes: resolvedConfig.include.join(","),
171
- _civic_auth_excludes: resolvedConfig.exclude.join(","),
172
- _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),
173
- },
174
- };
175
- };
176
- };
177
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/nextjs/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable turbo/no-undeclared-env-vars */\nimport type { NextConfig } from \"next\";\nimport { loggers } from \"@/lib/logger.js\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport {\n CodeVerifier,\n type CookieConfig,\n OAuthTokens,\n type TokensCookieConfig,\n} from \"@/shared/lib/types.js\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nexport type CookiesConfigObject = {\n tokens: TokensCookieConfig;\n user: CookieConfig;\n};\n\nexport type AuthConfigWithDefaults = {\n clientId: string;\n oauthServer: string;\n callbackUrl: string;\n loginUrl: string;\n logoutUrl: string;\n logoutCallbackUrl: string;\n challengeUrl: string;\n include: string[];\n exclude: string[];\n cookies: CookiesConfigObject;\n};\n\nexport type AuthConfig = Partial<AuthConfigWithDefaults>;\n\nexport type DefinedAuthConfig = AuthConfigWithDefaults;\n\nconst defaultServerSecure = !(process.env.NODE_ENV === \"development\");\n/**\n * Default configuration values that will be used if not overridden\n */\nexport const defaultAuthConfig: Omit<AuthConfigWithDefaults, \"clientId\"> = {\n oauthServer: DEFAULT_AUTH_SERVER,\n callbackUrl: \"/api/auth/callback\",\n challengeUrl: \"/api/auth/challenge\",\n logoutUrl: \"/api/auth/logout\",\n logoutCallbackUrl: \"/api/auth/logoutcallback\",\n loginUrl: \"/\",\n include: [\"/*\"],\n exclude: [],\n cookies: {\n tokens: {\n [OAuthTokens.ID_TOKEN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.ACCESS_TOKEN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.REFRESH_TOKEN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.EXPIRES_IN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.TIMESTAMP]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [CodeVerifier.COOKIE_NAME]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [CodeVerifier.APP_URL]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n },\n user: {\n secure: defaultServerSecure,\n httpOnly: false,\n sameSite: \"strict\",\n path: \"/\",\n maxAge: 60 * 60, // 1 hour\n },\n },\n};\n\n/**\n * Resolves the authentication configuration by combining:\n * 1. Default values\n * 2. Environment variables (set internally by the plugin)\n * 3. Explicitly passed configuration\n *\n * Note: Developers should not set _civic_auth_* environment variables directly.\n * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:\n *\n * @example\n * ```js\n * // next.config.js\n * export default createCivicAuthPlugin({\n * callbackUrl: '/custom/callback',\n * })\n * ```\n */\nexport const resolveAuthConfig = (\n config: AuthConfig = {},\n): AuthConfigWithDefaults => {\n // Read configuration that was set by the plugin via environment variables\n const configFromEnv = withoutUndefined({\n clientId: process.env._civic_auth_client_id,\n oauthServer: process.env._civic_oauth_server,\n callbackUrl: process.env._civic_auth_callback_url,\n challengeUrl: process.env._civic_auth_challenge_url,\n loginUrl: process.env._civic_auth_login_url,\n logoutUrl: process.env._civic_auth_logout_url,\n logoutCallbackUrl: process.env._civic_auth_logout_callback_url,\n include: process.env._civic_auth_includes?.split(\",\"),\n exclude: process.env._civic_auth_excludes?.split(\",\"),\n cookies: process.env._civic_auth_cookie_config\n ? JSON.parse(process.env._civic_auth_cookie_config)\n : undefined,\n }) as AuthConfig;\n const mergedConfig = {\n ...defaultAuthConfig,\n ...configFromEnv, // Apply plugin-set config\n ...config, // Override with directly passed config\n cookies: {\n tokens: {\n ...defaultAuthConfig.cookies.tokens,\n ...(configFromEnv?.cookies?.tokens || {}),\n ...(config.cookies?.tokens || {}),\n },\n user: {\n ...defaultAuthConfig.cookies.user,\n ...(configFromEnv?.cookies?.user || {}),\n ...(config.cookies?.user || {}),\n },\n },\n };\n\n logger.debug(\n \"Config from environment:\",\n JSON.stringify(configFromEnv, null, 2),\n );\n logger.debug(\"Resolved config:\", JSON.stringify(mergedConfig, null, 2));\n if (mergedConfig.clientId === undefined) {\n throw new Error(\"Civic Auth client ID is required\");\n }\n return mergedConfig as AuthConfigWithDefaults & { clientId: string };\n};\n\n/**\n * Creates a Next.js plugin that handles auth configuration.\n *\n * This is the main configuration point for the auth system.\n * Do not set _civic_auth_* environment variables directly - instead,\n * pass your configuration here:\n *\n * @example\n * ```js\n * // next.config.js\n * export default createCivicAuthPlugin({\n * clientId: 'my-client-id',\n * callbackUrl: '/custom/callback',\n * loginUrl: '/custom/login',\n * logoutUrl: '/custom/logout',\n * logoutCallbackUrl: '/custom/logoutcallback',\n * include: ['/protected/*'],\n * exclude: ['/public/*']\n * })\n * ```\n *\n * The plugin sets internal environment variables that are used by\n * the auth system. These variables should not be set manually.\n */\nexport const createCivicAuthPlugin = (\n authConfig: AuthConfig & Pick<Required<AuthConfig>, \"clientId\">,\n) => {\n return (nextConfig?: NextConfig) => {\n logger.debug(\n \"createCivicAuthPlugin nextConfig\",\n JSON.stringify(nextConfig, null, 2),\n );\n const resolvedConfig = resolveAuthConfig({ ...authConfig });\n return {\n ...nextConfig,\n env: {\n ...nextConfig?.env,\n // Internal environment variables - do not set these manually\n _civic_auth_client_id: resolvedConfig.clientId,\n _civic_oauth_server: resolvedConfig.oauthServer,\n _civic_auth_callback_url: resolvedConfig.callbackUrl,\n _civic_auth_challenge_url: resolvedConfig.challengeUrl,\n _civic_auth_login_url: resolvedConfig.loginUrl,\n _civic_auth_logout_url: resolvedConfig.logoutUrl,\n _civic_auth_logout_callback_url: resolvedConfig.logoutCallbackUrl,\n _civic_auth_includes: resolvedConfig.include.join(\",\"),\n _civic_auth_excludes: resolvedConfig.exclude.join(\",\"),\n _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),\n },\n };\n };\n};\n"]}
@@ -1,30 +0,0 @@
1
- import type { SessionData, UnknownObject, User } from "@/types.js";
2
- import type { AuthConfig } from "@/nextjs/config.js";
3
- import type { CodeVerifier, OAuthTokens, TokensCookieConfig } from "@/shared/lib/types.js";
4
- import { CookieStorage, type CookieStorageSettings } from "@/shared/lib/storage.js";
5
- /**
6
- * Creates HTTP-only cookies for authentication tokens
7
- */
8
- declare const createTokenCookies: (response: Response, sessionData: SessionData, config: AuthConfig) => void;
9
- /**
10
- * Creates a client-readable cookie with user info
11
- */
12
- declare const createUserInfoCookie: (response: Response, user: User<UnknownObject> | null, sessionData: SessionData, config: AuthConfig) => void;
13
- /**
14
- * Clears all authentication cookies
15
- */
16
- declare const clearAuthCookies: (config: AuthConfig) => Promise<void>;
17
- type KeySetter = OAuthTokens | CodeVerifier;
18
- declare class NextjsCookieStorage extends CookieStorage {
19
- readonly config: Partial<TokensCookieConfig>;
20
- constructor(config?: Partial<TokensCookieConfig>);
21
- get(key: string): Promise<string | null>;
22
- set(key: KeySetter, value: string): Promise<void>;
23
- }
24
- declare class NextjsClientStorage extends CookieStorage {
25
- constructor(config?: Partial<CookieStorageSettings>);
26
- get(key: string): Promise<string | null>;
27
- set(key: string, value: string): Promise<void>;
28
- }
29
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, };
30
- //# sourceMappingURL=cookies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EACX,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,QAAA,MAAM,kBAAkB,aACZ,QAAQ,eACL,WAAW,UAChB,UAAU,SA4BnB,CAAC;AAcF;;GAEG;AACH,QAAA,MAAM,oBAAoB,aACd,QAAQ,QACZ,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,eACnB,WAAW,UAChB,UAAU,SAyBnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,gBAAgB,WAAkB,UAAU,kBASjD,CAAC;AAEF,KAAK,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAC5C,cAAM,mBAAoB,SAAQ,aAAa;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC;gBAAnC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAOvD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOxD;AAED,cAAM,mBAAoB,SAAQ,aAAa;gBACjC,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAQjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrD;AAED,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
@@ -1,112 +0,0 @@
1
- import { cookies } from "next/headers.js";
2
- import { GenericUserSession } from "@/shared/lib/UserSession.js";
3
- import { clearTokens } from "@/shared/lib/util.js";
4
- import { CookieStorage, } from "@/shared/lib/storage.js";
5
- /**
6
- * Creates HTTP-only cookies for authentication tokens
7
- */
8
- const createTokenCookies = (response, sessionData, config) => {
9
- const maxAge = sessionData.expiresIn ?? 3600;
10
- const cookieOptions = {
11
- ...config.cookies?.tokens,
12
- maxAge,
13
- };
14
- if (sessionData.accessToken) {
15
- setCookie(response, "access_token", sessionData.accessToken, {
16
- ...cookieOptions,
17
- httpOnly: true,
18
- });
19
- }
20
- if (sessionData.idToken) {
21
- setCookie(response, "id_token", sessionData.idToken, {
22
- ...cookieOptions,
23
- httpOnly: true,
24
- });
25
- }
26
- if (sessionData.refreshToken) {
27
- setCookie(response, "refresh_token", sessionData.refreshToken, {
28
- ...cookieOptions,
29
- httpOnly: true,
30
- });
31
- }
32
- };
33
- const setCookie = (response, key, value, cookieData) => {
34
- response.headers.set("Set-Cookie", `${key}=${value}; Path=${cookieData.path}; Domain=${cookieData.domain}; Max-Age=${cookieData.maxAge}; Secure; HttpOnly; SameSite=${cookieData.sameSite}`);
35
- };
36
- /**
37
- * Creates a client-readable cookie with user info
38
- */
39
- const createUserInfoCookie = (response, user, sessionData, config) => {
40
- if (!user) {
41
- // unset the "user" cookie
42
- setCookie(response, "user", "", {
43
- ...config.cookies?.user,
44
- maxAge: 0,
45
- });
46
- return;
47
- }
48
- const maxAge = sessionData.expiresIn ?? 3600;
49
- // TODO select fields to include in the user cookie
50
- const frontendUser = {
51
- ...user,
52
- };
53
- // TODO make call to get user info from the
54
- // auth server /userinfo endpoint when it's available
55
- // then add to the default claims above
56
- setCookie(response, "user", JSON.stringify(frontendUser), {
57
- ...config.cookies?.user,
58
- maxAge,
59
- });
60
- };
61
- /**
62
- * Clears all authentication cookies
63
- */
64
- const clearAuthCookies = async (config) => {
65
- // clear session, and tokens
66
- const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens);
67
- await clearTokens(cookieStorage);
68
- // clear user
69
- const clientStorage = new NextjsClientStorage();
70
- const userSession = new GenericUserSession(clientStorage);
71
- await userSession.set(null);
72
- };
73
- class NextjsCookieStorage extends CookieStorage {
74
- config;
75
- constructor(config = {}) {
76
- super({
77
- secure: true,
78
- httpOnly: true,
79
- });
80
- this.config = config;
81
- }
82
- async get(key) {
83
- const cookieStore = await cookies();
84
- return cookieStore.get(key)?.value || null;
85
- }
86
- async set(key, value) {
87
- const cookieStore = await cookies();
88
- const cookieSettings = this.config?.[key] || {
89
- ...this.settings,
90
- };
91
- cookieStore.set(key, value, cookieSettings);
92
- }
93
- }
94
- class NextjsClientStorage extends CookieStorage {
95
- constructor(config = {}) {
96
- super({
97
- ...config,
98
- secure: false,
99
- httpOnly: false,
100
- });
101
- }
102
- async get(key) {
103
- const cookieStore = await cookies();
104
- return cookieStore.get(key)?.value || null;
105
- }
106
- async set(key, value) {
107
- const cookieStore = await cookies();
108
- cookieStore.set(key, value, this.settings);
109
- }
110
- }
111
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, };
112
- //# sourceMappingURL=cookies.js.map