@civic/auth 0.2.4 → 0.2.5-alpha.1

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 (524) hide show
  1. package/dist/cjs/nextjs/config.d.ts +26 -8
  2. package/dist/cjs/nextjs/config.d.ts.map +1 -1
  3. package/dist/cjs/nextjs/config.js +21 -3
  4. package/dist/cjs/nextjs/config.js.map +1 -1
  5. package/dist/cjs/nextjs/cookies.d.ts +9 -13
  6. package/dist/cjs/nextjs/cookies.d.ts.map +1 -1
  7. package/dist/cjs/nextjs/cookies.js +5 -28
  8. package/dist/cjs/nextjs/cookies.js.map +1 -1
  9. package/dist/cjs/nextjs/index.d.ts +2 -2
  10. package/dist/cjs/nextjs/index.d.ts.map +1 -1
  11. package/dist/cjs/nextjs/index.js +3 -4
  12. package/dist/cjs/nextjs/index.js.map +1 -1
  13. package/dist/cjs/nextjs/middleware.d.ts +3 -3
  14. package/dist/cjs/nextjs/middleware.d.ts.map +1 -1
  15. package/dist/cjs/nextjs/middleware.js.map +1 -1
  16. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
  17. package/dist/cjs/nextjs/providers/NextAuthProvider.js +2 -2
  18. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +1 -1
  19. package/dist/cjs/nextjs/routeHandler.d.ts.map +1 -1
  20. package/dist/cjs/nextjs/routeHandler.js +16 -10
  21. package/dist/cjs/nextjs/routeHandler.js.map +1 -1
  22. package/dist/cjs/shared/index.d.ts +1 -0
  23. package/dist/cjs/shared/index.d.ts.map +1 -1
  24. package/dist/cjs/shared/index.js +3 -1
  25. package/dist/cjs/shared/index.js.map +1 -1
  26. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +7 -0
  27. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +1 -0
  28. package/dist/cjs/shared/lib/BrowserCookieStorage.js +55 -0
  29. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +1 -0
  30. package/dist/cjs/shared/version.d.ts +1 -1
  31. package/dist/cjs/shared/version.d.ts.map +1 -1
  32. package/dist/cjs/shared/version.js +1 -1
  33. package/dist/cjs/shared/version.js.map +1 -1
  34. package/dist/esm/nextjs/config.d.ts +26 -8
  35. package/dist/esm/nextjs/config.d.ts.map +1 -1
  36. package/dist/esm/nextjs/config.js +21 -3
  37. package/dist/esm/nextjs/config.js.map +1 -1
  38. package/dist/esm/nextjs/cookies.d.ts +9 -13
  39. package/dist/esm/nextjs/cookies.d.ts.map +1 -1
  40. package/dist/esm/nextjs/cookies.js +8 -29
  41. package/dist/esm/nextjs/cookies.js.map +1 -1
  42. package/dist/esm/nextjs/index.d.ts +2 -2
  43. package/dist/esm/nextjs/index.d.ts.map +1 -1
  44. package/dist/esm/nextjs/index.js +4 -4
  45. package/dist/esm/nextjs/index.js.map +1 -1
  46. package/dist/esm/nextjs/middleware.d.ts +3 -3
  47. package/dist/esm/nextjs/middleware.d.ts.map +1 -1
  48. package/dist/esm/nextjs/middleware.js.map +1 -1
  49. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
  50. package/dist/esm/nextjs/providers/NextAuthProvider.js +2 -2
  51. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +1 -1
  52. package/dist/esm/nextjs/routeHandler.d.ts.map +1 -1
  53. package/dist/esm/nextjs/routeHandler.js +17 -11
  54. package/dist/esm/nextjs/routeHandler.js.map +1 -1
  55. package/dist/esm/shared/index.d.ts +1 -0
  56. package/dist/esm/shared/index.d.ts.map +1 -1
  57. package/dist/esm/shared/index.js +1 -0
  58. package/dist/esm/shared/index.js.map +1 -1
  59. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +7 -0
  60. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +1 -0
  61. package/dist/esm/shared/lib/BrowserCookieStorage.js +51 -0
  62. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +1 -0
  63. package/dist/esm/shared/version.d.ts +1 -1
  64. package/dist/esm/shared/version.d.ts.map +1 -1
  65. package/dist/esm/shared/version.js +1 -1
  66. package/dist/esm/shared/version.js.map +1 -1
  67. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  68. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  69. package/package.json +18 -19
  70. package/dist/generateVersion.d.ts +0 -2
  71. package/dist/generateVersion.d.ts.map +0 -1
  72. package/dist/generateVersion.js +0 -12
  73. package/dist/generateVersion.js.map +0 -1
  74. package/dist/package.json +0 -118
  75. package/dist/src/browser/storage.d.ts +0 -9
  76. package/dist/src/browser/storage.d.ts.map +0 -1
  77. package/dist/src/browser/storage.js +0 -17
  78. package/dist/src/browser/storage.js.map +0 -1
  79. package/dist/src/config.d.ts +0 -3
  80. package/dist/src/config.d.ts.map +0 -1
  81. package/dist/src/config.js +0 -5
  82. package/dist/src/config.js.map +0 -1
  83. package/dist/src/constants.d.ts +0 -8
  84. package/dist/src/constants.d.ts.map +0 -1
  85. package/dist/src/constants.js +0 -16
  86. package/dist/src/constants.js.map +0 -1
  87. package/dist/src/index.d.ts +0 -6
  88. package/dist/src/index.d.ts.map +0 -1
  89. package/dist/src/index.js +0 -4
  90. package/dist/src/index.js.map +0 -1
  91. package/dist/src/lib/cookies.d.ts +0 -7
  92. package/dist/src/lib/cookies.d.ts.map +0 -1
  93. package/dist/src/lib/cookies.js +0 -25
  94. package/dist/src/lib/cookies.js.map +0 -1
  95. package/dist/src/lib/jwt.d.ts +0 -3
  96. package/dist/src/lib/jwt.d.ts.map +0 -1
  97. package/dist/src/lib/jwt.js +0 -9
  98. package/dist/src/lib/jwt.js.map +0 -1
  99. package/dist/src/lib/logger.d.ts +0 -26
  100. package/dist/src/lib/logger.d.ts.map +0 -1
  101. package/dist/src/lib/logger.js +0 -55
  102. package/dist/src/lib/logger.js.map +0 -1
  103. package/dist/src/lib/oauth.d.ts +0 -19
  104. package/dist/src/lib/oauth.d.ts.map +0 -1
  105. package/dist/src/lib/oauth.js +0 -61
  106. package/dist/src/lib/oauth.js.map +0 -1
  107. package/dist/src/lib/obj.d.ts +0 -3
  108. package/dist/src/lib/obj.d.ts.map +0 -1
  109. package/dist/src/lib/obj.js +0 -18
  110. package/dist/src/lib/obj.js.map +0 -1
  111. package/dist/src/lib/postMessage.d.ts +0 -4
  112. package/dist/src/lib/postMessage.d.ts.map +0 -1
  113. package/dist/src/lib/postMessage.js +0 -15
  114. package/dist/src/lib/postMessage.js.map +0 -1
  115. package/dist/src/lib/windowUtil.d.ts +0 -4
  116. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  117. package/dist/src/lib/windowUtil.js +0 -31
  118. package/dist/src/lib/windowUtil.js.map +0 -1
  119. package/dist/src/nextjs/GetUser.d.ts +0 -6
  120. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  121. package/dist/src/nextjs/GetUser.js +0 -7
  122. package/dist/src/nextjs/GetUser.js.map +0 -1
  123. package/dist/src/nextjs/config.d.ts +0 -181
  124. package/dist/src/nextjs/config.d.ts.map +0 -1
  125. package/dist/src/nextjs/config.js +0 -177
  126. package/dist/src/nextjs/config.js.map +0 -1
  127. package/dist/src/nextjs/cookies.d.ts +0 -30
  128. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  129. package/dist/src/nextjs/cookies.js +0 -112
  130. package/dist/src/nextjs/cookies.js.map +0 -1
  131. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  132. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  133. package/dist/src/nextjs/hooks/index.js +0 -2
  134. package/dist/src/nextjs/hooks/index.js.map +0 -1
  135. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  136. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  137. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  138. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  139. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  140. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  141. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  142. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  143. package/dist/src/nextjs/index.d.ts +0 -7
  144. package/dist/src/nextjs/index.d.ts.map +0 -1
  145. package/dist/src/nextjs/index.js +0 -8
  146. package/dist/src/nextjs/index.js.map +0 -1
  147. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  148. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  149. package/dist/src/nextjs/middleware/index.js +0 -4
  150. package/dist/src/nextjs/middleware/index.js.map +0 -1
  151. package/dist/src/nextjs/middleware.d.ts +0 -59
  152. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  153. package/dist/src/nextjs/middleware.js +0 -107
  154. package/dist/src/nextjs/middleware.js.map +0 -1
  155. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  156. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  157. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  158. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  159. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  160. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  161. package/dist/src/nextjs/routeHandler.js +0 -299
  162. package/dist/src/nextjs/routeHandler.js.map +0 -1
  163. package/dist/src/nextjs/utils.d.ts +0 -3
  164. package/dist/src/nextjs/utils.d.ts.map +0 -1
  165. package/dist/src/nextjs/utils.js +0 -5
  166. package/dist/src/nextjs/utils.js.map +0 -1
  167. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  168. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  169. package/dist/src/reactjs/components/SignInButton.js +0 -14
  170. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  171. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  172. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  173. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  174. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  175. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  176. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  177. package/dist/src/reactjs/components/UserButton.js +0 -118
  178. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  179. package/dist/src/reactjs/components/index.d.ts +0 -6
  180. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  181. package/dist/src/reactjs/components/index.js +0 -6
  182. package/dist/src/reactjs/components/index.js.map +0 -1
  183. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  184. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  185. package/dist/src/reactjs/hooks/index.js +0 -6
  186. package/dist/src/reactjs/hooks/index.js.map +0 -1
  187. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  188. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  189. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  190. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  191. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  192. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  193. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  194. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  195. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  196. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  197. package/dist/src/reactjs/hooks/useUser.js +0 -12
  198. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  199. package/dist/src/reactjs/index.d.ts +0 -6
  200. package/dist/src/reactjs/index.d.ts.map +0 -1
  201. package/dist/src/reactjs/index.js +0 -10
  202. package/dist/src/reactjs/index.js.map +0 -1
  203. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  204. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  205. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  206. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  207. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  208. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  209. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  210. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  211. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  212. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  213. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  214. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  215. package/dist/src/reactjs/providers/index.d.ts +0 -8
  216. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  217. package/dist/src/reactjs/providers/index.js +0 -7
  218. package/dist/src/reactjs/providers/index.js.map +0 -1
  219. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  220. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  221. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  222. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  223. package/dist/src/server/config.d.ts +0 -10
  224. package/dist/src/server/config.d.ts.map +0 -1
  225. package/dist/src/server/config.js +0 -2
  226. package/dist/src/server/config.js.map +0 -1
  227. package/dist/src/server/index.d.ts +0 -7
  228. package/dist/src/server/index.d.ts.map +0 -1
  229. package/dist/src/server/index.js +0 -7
  230. package/dist/src/server/index.js.map +0 -1
  231. package/dist/src/server/login.d.ts +0 -21
  232. package/dist/src/server/login.d.ts.map +0 -1
  233. package/dist/src/server/login.js +0 -56
  234. package/dist/src/server/login.js.map +0 -1
  235. package/dist/src/server/refresh.d.ts +0 -7
  236. package/dist/src/server/refresh.d.ts.map +0 -1
  237. package/dist/src/server/refresh.js +0 -13
  238. package/dist/src/server/refresh.js.map +0 -1
  239. package/dist/src/services/AuthenticationService.d.ts +0 -91
  240. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  241. package/dist/src/services/AuthenticationService.js +0 -322
  242. package/dist/src/services/AuthenticationService.js.map +0 -1
  243. package/dist/src/services/PKCE.d.ts +0 -20
  244. package/dist/src/services/PKCE.d.ts.map +0 -1
  245. package/dist/src/services/PKCE.js +0 -44
  246. package/dist/src/services/PKCE.js.map +0 -1
  247. package/dist/src/services/types.d.ts +0 -24
  248. package/dist/src/services/types.d.ts.map +0 -1
  249. package/dist/src/services/types.js +0 -7
  250. package/dist/src/services/types.js.map +0 -1
  251. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  252. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  253. package/dist/src/shared/components/BlockDisplay.js +0 -25
  254. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  255. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  256. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  257. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  258. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  259. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  260. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  261. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  262. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  263. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  264. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  265. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  266. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  267. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  268. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  269. package/dist/src/shared/components/CloseIcon.js +0 -6
  270. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  271. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  272. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  273. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  274. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  275. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  276. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  277. package/dist/src/shared/components/LoadingIcon.js +0 -30
  278. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  279. package/dist/src/shared/hooks/index.d.ts +0 -11
  280. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  281. package/dist/src/shared/hooks/index.js +0 -11
  282. package/dist/src/shared/hooks/index.js.map +0 -1
  283. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  284. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  285. package/dist/src/shared/hooks/useAuth.js +0 -12
  286. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  287. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  288. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  289. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  290. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  291. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  292. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  293. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  294. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  295. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  296. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  297. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  298. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  299. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  300. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  301. package/dist/src/shared/hooks/useIframe.js +0 -13
  302. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  303. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  304. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  305. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  306. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  307. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  308. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  309. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  310. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  311. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  312. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  313. package/dist/src/shared/hooks/useRefresh.js +0 -38
  314. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  315. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  316. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  317. package/dist/src/shared/hooks/useSession.js +0 -13
  318. package/dist/src/shared/hooks/useSession.js.map +0 -1
  319. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  320. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  321. package/dist/src/shared/hooks/useSignIn.js +0 -126
  322. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  323. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  324. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  325. package/dist/src/shared/hooks/useToken.js +0 -12
  326. package/dist/src/shared/hooks/useToken.js.map +0 -1
  327. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  328. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  329. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  330. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  331. package/dist/src/shared/index.d.ts +0 -5
  332. package/dist/src/shared/index.d.ts.map +0 -1
  333. package/dist/src/shared/index.js +0 -16
  334. package/dist/src/shared/index.js.map +0 -1
  335. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  336. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  337. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  338. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  339. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  340. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  341. package/dist/src/shared/lib/UserSession.js +0 -20
  342. package/dist/src/shared/lib/UserSession.js.map +0 -1
  343. package/dist/src/shared/lib/session.d.ts +0 -3
  344. package/dist/src/shared/lib/session.d.ts.map +0 -1
  345. package/dist/src/shared/lib/session.js +0 -21
  346. package/dist/src/shared/lib/session.js.map +0 -1
  347. package/dist/src/shared/lib/storage.d.ts +0 -25
  348. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  349. package/dist/src/shared/lib/storage.js +0 -17
  350. package/dist/src/shared/lib/storage.js.map +0 -1
  351. package/dist/src/shared/lib/types.d.ts +0 -36
  352. package/dist/src/shared/lib/types.d.ts.map +0 -1
  353. package/dist/src/shared/lib/types.js +0 -18
  354. package/dist/src/shared/lib/types.js.map +0 -1
  355. package/dist/src/shared/lib/util.d.ts +0 -34
  356. package/dist/src/shared/lib/util.d.ts.map +0 -1
  357. package/dist/src/shared/lib/util.js +0 -137
  358. package/dist/src/shared/lib/util.js.map +0 -1
  359. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  360. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  361. package/dist/src/shared/providers/AuthContext.js +0 -3
  362. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  363. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  364. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  365. package/dist/src/shared/providers/AuthProvider.js +0 -72
  366. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  367. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  368. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  369. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  370. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  371. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  372. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  373. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  374. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  375. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  376. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  377. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  378. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  379. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  380. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  381. package/dist/src/shared/providers/IframeProvider.js +0 -35
  382. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  383. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  384. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  385. package/dist/src/shared/providers/SessionProvider.js +0 -23
  386. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  387. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  388. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  389. package/dist/src/shared/providers/TokenProvider.js +0 -42
  390. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  391. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  392. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  393. package/dist/src/shared/providers/UserProvider.js +0 -52
  394. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  395. package/dist/src/shared/providers/types.d.ts +0 -15
  396. package/dist/src/shared/providers/types.d.ts.map +0 -1
  397. package/dist/src/shared/providers/types.js +0 -2
  398. package/dist/src/shared/providers/types.js.map +0 -1
  399. package/dist/src/shared/version.d.ts +0 -2
  400. package/dist/src/shared/version.d.ts.map +0 -1
  401. package/dist/src/shared/version.js +0 -3
  402. package/dist/src/shared/version.js.map +0 -1
  403. package/dist/src/types.d.ts +0 -148
  404. package/dist/src/types.d.ts.map +0 -1
  405. package/dist/src/types.js +0 -4
  406. package/dist/src/types.js.map +0 -1
  407. package/dist/src/utils.d.ts +0 -15
  408. package/dist/src/utils.d.ts.map +0 -1
  409. package/dist/src/utils.js +0 -43
  410. package/dist/src/utils.js.map +0 -1
  411. package/dist/src/version.d.ts +0 -2
  412. package/dist/src/version.d.ts.map +0 -1
  413. package/dist/src/version.js +0 -3
  414. package/dist/src/version.js.map +0 -1
  415. package/dist/test/integration/sdk.test.d.ts +0 -2
  416. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  417. package/dist/test/integration/sdk.test.js +0 -237
  418. package/dist/test/integration/sdk.test.js.map +0 -1
  419. package/dist/test/support/fixtures.d.ts +0 -26
  420. package/dist/test/support/fixtures.d.ts.map +0 -1
  421. package/dist/test/support/fixtures.js +0 -55
  422. package/dist/test/support/fixtures.js.map +0 -1
  423. package/dist/test/support/tokens.json +0 -26
  424. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  425. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  426. package/dist/test/unit/lib/oauth.test.js +0 -56
  427. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  428. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  429. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  430. package/dist/test/unit/lib/obj.test.js +0 -37
  431. package/dist/test/unit/lib/obj.test.js.map +0 -1
  432. package/dist/test/unit/logger.test.d.ts +0 -2
  433. package/dist/test/unit/logger.test.d.ts.map +0 -1
  434. package/dist/test/unit/logger.test.js +0 -141
  435. package/dist/test/unit/logger.test.js.map +0 -1
  436. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  437. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  438. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  439. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  440. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  441. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  442. package/dist/test/unit/nextjs/config.test.js +0 -203
  443. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  444. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  445. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  446. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  447. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  448. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  449. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  450. package/dist/test/unit/nextjs/handler.test.js +0 -235
  451. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  452. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  453. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  454. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  455. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  456. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  457. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  458. package/dist/test/unit/nextjs/utils.test.js +0 -13
  459. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  460. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  461. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  462. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  463. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  464. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  465. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  466. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  467. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  468. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  469. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  470. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  471. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  472. package/dist/test/unit/server/login.test.d.ts +0 -2
  473. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  474. package/dist/test/unit/server/login.test.js +0 -184
  475. package/dist/test/unit/server/login.test.js.map +0 -1
  476. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  477. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  478. package/dist/test/unit/server/refresh.test.js +0 -55
  479. package/dist/test/unit/server/refresh.test.js.map +0 -1
  480. package/dist/test/unit/server/session.test.d.ts +0 -2
  481. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  482. package/dist/test/unit/server/session.test.js +0 -41
  483. package/dist/test/unit/server/session.test.js.map +0 -1
  484. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  485. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  486. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  487. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  488. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  489. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  490. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  491. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  492. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  493. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  494. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  495. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  496. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  497. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  498. package/dist/test/unit/shared/UserSession.test.js +0 -37
  499. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  500. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  501. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  502. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  503. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  504. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  505. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  506. package/dist/test/unit/shared/printVersion.test.js +0 -39
  507. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  508. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  509. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  510. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  511. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  512. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  513. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  514. package/dist/test/unit/shared/storage.test.js +0 -53
  515. package/dist/test/unit/shared/storage.test.js.map +0 -1
  516. package/dist/test/unit/utils.test.d.ts +0 -2
  517. package/dist/test/unit/utils.test.d.ts.map +0 -1
  518. package/dist/test/unit/utils.test.js +0 -40
  519. package/dist/test/unit/utils.test.js.map +0 -1
  520. package/dist/tsconfig.tsbuildinfo +0 -1
  521. package/dist/vitest.config.d.ts +0 -3
  522. package/dist/vitest.config.d.ts.map +0 -1
  523. package/dist/vitest.config.js +0 -44
  524. package/dist/vitest.config.js.map +0 -1
@@ -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