@civic/auth 0.2.4-beta.1 → 0.2.5-alpha.0

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