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

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 (478) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-lint$colon$fix.log +16 -0
  3. package/.turbo/turbo-test.log +552 -1077
  4. package/dist/{src/shared/providers → cjs/src/shared}/AuthProvider.d.ts +7 -9
  5. package/dist/cjs/src/shared/AuthProvider.d.ts.map +1 -0
  6. package/dist/{src/shared/providers → cjs/src/shared}/AuthProvider.js +70 -87
  7. package/dist/cjs/src/shared/AuthProvider.js.map +1 -0
  8. package/dist/{src/shared/providers → cjs/src/shared}/CivicAuthProvider.d.ts +3 -3
  9. package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +1 -0
  10. package/dist/cjs/src/shared/CivicAuthProvider.js +19 -0
  11. package/dist/cjs/src/shared/CivicAuthProvider.js.map +1 -0
  12. package/dist/{src/shared/lib → cjs/src/shared}/GenericAuthenticationRefresher.d.ts +4 -4
  13. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +1 -0
  14. package/dist/{src/shared/lib → cjs/src/shared}/GenericAuthenticationRefresher.js +11 -7
  15. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +1 -0
  16. package/dist/{src/shared/providers → cjs/src/shared}/UserProvider.d.ts +6 -7
  17. package/dist/cjs/src/shared/UserProvider.d.ts.map +1 -0
  18. package/dist/cjs/src/shared/UserProvider.js +42 -0
  19. package/dist/cjs/src/shared/UserProvider.js.map +1 -0
  20. package/dist/cjs/src/shared/UserSession.d.ts +12 -0
  21. package/dist/cjs/src/shared/UserSession.d.ts.map +1 -0
  22. package/dist/cjs/src/shared/UserSession.js +24 -0
  23. package/dist/cjs/src/shared/UserSession.js.map +1 -0
  24. package/dist/cjs/src/shared/session.d.ts +3 -0
  25. package/dist/cjs/src/shared/session.d.ts.map +1 -0
  26. package/dist/cjs/src/shared/session.js +13 -0
  27. package/dist/cjs/src/shared/session.js.map +1 -0
  28. package/dist/{src/shared/lib → cjs/src/shared}/util.d.ts +10 -4
  29. package/dist/cjs/src/shared/util.d.ts.map +1 -0
  30. package/dist/cjs/src/shared/util.js +162 -0
  31. package/dist/cjs/src/shared/util.js.map +1 -0
  32. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  33. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  34. package/dist/src/nextjs/cookies.d.ts.map +1 -1
  35. package/dist/src/nextjs/cookies.js +12 -8
  36. package/dist/src/nextjs/cookies.js.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +3 -3
  39. package/.turbo/turbo-lint.log +0 -14
  40. package/civic-auth-0.0.1-beta.15.tgz +0 -0
  41. package/civic-auth-0.0.1-beta.17.tgz +0 -0
  42. package/dist/AuthProvider-BYZ8w92b.d.mts +0 -15
  43. package/dist/AuthProvider-BgOwv9h8.d.ts +0 -15
  44. package/dist/AuthProvider-Bj_Prt1x.d.ts +0 -21
  45. package/dist/AuthProvider-DUAoX4G9.d.mts +0 -21
  46. package/dist/UserProvider-BA2uflVB.d.ts +0 -16
  47. package/dist/UserProvider-Bl3j1PUO.d.mts +0 -16
  48. package/dist/UserProvider-CMLaYOUD.d.ts +0 -16
  49. package/dist/UserProvider-Cbm8MZkJ.d.mts +0 -16
  50. package/dist/chunk-4PLCDPEN.mjs +0 -599
  51. package/dist/chunk-4PLCDPEN.mjs.map +0 -1
  52. package/dist/chunk-5UQQYXCX.js +0 -1
  53. package/dist/chunk-5UQQYXCX.js.map +0 -1
  54. package/dist/chunk-63YGK3A7.mjs +0 -223
  55. package/dist/chunk-63YGK3A7.mjs.map +0 -1
  56. package/dist/chunk-6RFRDWIP.js +0 -223
  57. package/dist/chunk-6RFRDWIP.js.map +0 -1
  58. package/dist/chunk-7K3QN2AT.js +0 -599
  59. package/dist/chunk-7K3QN2AT.js.map +0 -1
  60. package/dist/chunk-AM2Y662I.js +0 -601
  61. package/dist/chunk-AM2Y662I.js.map +0 -1
  62. package/dist/chunk-AP4627CS.mjs +0 -223
  63. package/dist/chunk-AP4627CS.mjs.map +0 -1
  64. package/dist/chunk-CRTRMMJ7.js +0 -59
  65. package/dist/chunk-CRTRMMJ7.js.map +0 -1
  66. package/dist/chunk-CTVJJBBA.js +0 -118
  67. package/dist/chunk-CTVJJBBA.js.map +0 -1
  68. package/dist/chunk-EKLYHP2D.mjs +0 -711
  69. package/dist/chunk-EKLYHP2D.mjs.map +0 -1
  70. package/dist/chunk-FHRZSX3C.js +0 -710
  71. package/dist/chunk-FHRZSX3C.js.map +0 -1
  72. package/dist/chunk-GB3H3I47.js +0 -711
  73. package/dist/chunk-GB3H3I47.js.map +0 -1
  74. package/dist/chunk-JDZPCA3P.js +0 -173
  75. package/dist/chunk-JDZPCA3P.js.map +0 -1
  76. package/dist/chunk-JEOPLLWO.js +0 -223
  77. package/dist/chunk-JEOPLLWO.js.map +0 -1
  78. package/dist/chunk-MK7557NR.mjs +0 -118
  79. package/dist/chunk-MK7557NR.mjs.map +0 -1
  80. package/dist/chunk-NLRREFOX.mjs +0 -710
  81. package/dist/chunk-NLRREFOX.mjs.map +0 -1
  82. package/dist/chunk-O3WGNLRO.mjs +0 -173
  83. package/dist/chunk-O3WGNLRO.mjs.map +0 -1
  84. package/dist/chunk-OXXUQ36U.mjs +0 -283
  85. package/dist/chunk-OXXUQ36U.mjs.map +0 -1
  86. package/dist/chunk-PMJAV4JJ.mjs +0 -1
  87. package/dist/chunk-PMJAV4JJ.mjs.map +0 -1
  88. package/dist/chunk-Q7DSPTUG.mjs +0 -601
  89. package/dist/chunk-Q7DSPTUG.mjs.map +0 -1
  90. package/dist/chunk-RGHW4PYM.mjs +0 -59
  91. package/dist/chunk-RGHW4PYM.mjs.map +0 -1
  92. package/dist/chunk-TH6FI2XI.js +0 -283
  93. package/dist/chunk-TH6FI2XI.js.map +0 -1
  94. package/dist/index.css +0 -340
  95. package/dist/index.css.map +0 -1
  96. package/dist/index.d.mts +0 -5
  97. package/dist/index.d.ts +0 -5
  98. package/dist/index.js +0 -3
  99. package/dist/index.js.map +0 -1
  100. package/dist/index.mjs +0 -3
  101. package/dist/index.mjs.map +0 -1
  102. package/dist/nextjs/client.css +0 -340
  103. package/dist/nextjs/client.css.map +0 -1
  104. package/dist/nextjs/client.d.mts +0 -10
  105. package/dist/nextjs/client.d.ts +0 -10
  106. package/dist/nextjs/client.js +0 -185
  107. package/dist/nextjs/client.js.map +0 -1
  108. package/dist/nextjs/client.mjs +0 -185
  109. package/dist/nextjs/client.mjs.map +0 -1
  110. package/dist/nextjs.d.mts +0 -267
  111. package/dist/nextjs.d.ts +0 -267
  112. package/dist/nextjs.js +0 -315
  113. package/dist/nextjs.js.map +0 -1
  114. package/dist/nextjs.mjs +0 -315
  115. package/dist/nextjs.mjs.map +0 -1
  116. package/dist/react.d.mts +0 -65
  117. package/dist/react.d.ts +0 -65
  118. package/dist/react.js +0 -226
  119. package/dist/react.js.map +0 -1
  120. package/dist/react.mjs +0 -226
  121. package/dist/react.mjs.map +0 -1
  122. package/dist/server.d.mts +0 -35
  123. package/dist/server.d.ts +0 -35
  124. package/dist/server.js +0 -20
  125. package/dist/server.js.map +0 -1
  126. package/dist/server.mjs +0 -20
  127. package/dist/server.mjs.map +0 -1
  128. package/dist/src/browser/storage.d.ts +0 -6
  129. package/dist/src/browser/storage.d.ts.map +0 -1
  130. package/dist/src/browser/storage.js +0 -9
  131. package/dist/src/browser/storage.js.map +0 -1
  132. package/dist/src/config.d.ts +0 -3
  133. package/dist/src/config.d.ts.map +0 -1
  134. package/dist/src/config.js +0 -5
  135. package/dist/src/config.js.map +0 -1
  136. package/dist/src/constants.d.ts +0 -9
  137. package/dist/src/constants.d.ts.map +0 -1
  138. package/dist/src/constants.js +0 -17
  139. package/dist/src/constants.js.map +0 -1
  140. package/dist/src/index.d.ts +0 -4
  141. package/dist/src/index.d.ts.map +0 -1
  142. package/dist/src/index.js +0 -2
  143. package/dist/src/index.js.map +0 -1
  144. package/dist/src/lib/cookies.d.ts +0 -7
  145. package/dist/src/lib/cookies.d.ts.map +0 -1
  146. package/dist/src/lib/cookies.js +0 -23
  147. package/dist/src/lib/cookies.js.map +0 -1
  148. package/dist/src/lib/jwt.d.ts +0 -3
  149. package/dist/src/lib/jwt.d.ts.map +0 -1
  150. package/dist/src/lib/jwt.js +0 -9
  151. package/dist/src/lib/jwt.js.map +0 -1
  152. package/dist/src/lib/logger.d.ts +0 -26
  153. package/dist/src/lib/logger.d.ts.map +0 -1
  154. package/dist/src/lib/logger.js +0 -55
  155. package/dist/src/lib/logger.js.map +0 -1
  156. package/dist/src/lib/oauth.d.ts +0 -19
  157. package/dist/src/lib/oauth.d.ts.map +0 -1
  158. package/dist/src/lib/oauth.js +0 -60
  159. package/dist/src/lib/oauth.js.map +0 -1
  160. package/dist/src/lib/postMessage.d.ts +0 -4
  161. package/dist/src/lib/postMessage.d.ts.map +0 -1
  162. package/dist/src/lib/postMessage.js +0 -15
  163. package/dist/src/lib/postMessage.js.map +0 -1
  164. package/dist/src/lib/windowUtil.d.ts +0 -4
  165. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  166. package/dist/src/lib/windowUtil.js +0 -30
  167. package/dist/src/lib/windowUtil.js.map +0 -1
  168. package/dist/src/nextjs/GetUser.d.ts +0 -6
  169. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  170. package/dist/src/nextjs/GetUser.js +0 -18
  171. package/dist/src/nextjs/GetUser.js.map +0 -1
  172. package/dist/src/nextjs/config.d.ts +0 -178
  173. package/dist/src/nextjs/config.d.ts.map +0 -1
  174. package/dist/src/nextjs/config.js +0 -164
  175. package/dist/src/nextjs/config.js.map +0 -1
  176. package/dist/src/nextjs/cookies.d.ts +0 -30
  177. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  178. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  179. package/dist/src/nextjs/hooks/index.js +0 -2
  180. package/dist/src/nextjs/hooks/index.js.map +0 -1
  181. package/dist/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  182. package/dist/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  183. package/dist/src/nextjs/hooks/useTokenCookie.js +0 -37
  184. package/dist/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  185. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  186. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  187. package/dist/src/nextjs/hooks/useUserCookie.js +0 -36
  188. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  189. package/dist/src/nextjs/index.d.ts +0 -7
  190. package/dist/src/nextjs/index.d.ts.map +0 -1
  191. package/dist/src/nextjs/index.js +0 -6
  192. package/dist/src/nextjs/index.js.map +0 -1
  193. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  194. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  195. package/dist/src/nextjs/middleware/index.js +0 -2
  196. package/dist/src/nextjs/middleware/index.js.map +0 -1
  197. package/dist/src/nextjs/middleware.d.ts +0 -59
  198. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  199. package/dist/src/nextjs/middleware.js +0 -107
  200. package/dist/src/nextjs/middleware.js.map +0 -1
  201. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  202. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  203. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -50
  204. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  205. package/dist/src/nextjs/routeHandler.d.ts +0 -18
  206. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  207. package/dist/src/nextjs/routeHandler.js +0 -216
  208. package/dist/src/nextjs/routeHandler.js.map +0 -1
  209. package/dist/src/nextjs/utils.d.ts +0 -3
  210. package/dist/src/nextjs/utils.d.ts.map +0 -1
  211. package/dist/src/nextjs/utils.js +0 -5
  212. package/dist/src/nextjs/utils.js.map +0 -1
  213. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  214. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  215. package/dist/src/reactjs/components/SignInButton.js +0 -14
  216. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  217. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  218. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  219. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  220. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  221. package/dist/src/reactjs/components/UserButton.d.ts +0 -8
  222. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  223. package/dist/src/reactjs/components/UserButton.js +0 -110
  224. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  225. package/dist/src/reactjs/components/index.d.ts +0 -6
  226. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  227. package/dist/src/reactjs/components/index.js +0 -6
  228. package/dist/src/reactjs/components/index.js.map +0 -1
  229. package/dist/src/reactjs/hooks/index.d.ts +0 -8
  230. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  231. package/dist/src/reactjs/hooks/index.js +0 -8
  232. package/dist/src/reactjs/hooks/index.js.map +0 -1
  233. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  234. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  235. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  236. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  237. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  238. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  239. package/dist/src/reactjs/hooks/useUser.js +0 -12
  240. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  241. package/dist/src/reactjs/index.d.ts +0 -6
  242. package/dist/src/reactjs/index.d.ts.map +0 -1
  243. package/dist/src/reactjs/index.js +0 -8
  244. package/dist/src/reactjs/index.js.map +0 -1
  245. package/dist/src/reactjs/providers/index.d.ts +0 -8
  246. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  247. package/dist/src/reactjs/providers/index.js +0 -7
  248. package/dist/src/reactjs/providers/index.js.map +0 -1
  249. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -18
  250. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  251. package/dist/src/server/ServerAuthenticationResolver.js +0 -62
  252. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  253. package/dist/src/server/config.d.ts +0 -16
  254. package/dist/src/server/config.d.ts.map +0 -1
  255. package/dist/src/server/config.js +0 -2
  256. package/dist/src/server/config.js.map +0 -1
  257. package/dist/src/server/index.d.ts +0 -6
  258. package/dist/src/server/index.d.ts.map +0 -1
  259. package/dist/src/server/index.js +0 -5
  260. package/dist/src/server/index.js.map +0 -1
  261. package/dist/src/server/login.d.ts +0 -17
  262. package/dist/src/server/login.d.ts.map +0 -1
  263. package/dist/src/server/login.js +0 -37
  264. package/dist/src/server/login.js.map +0 -1
  265. package/dist/src/server/refresh.d.ts +0 -7
  266. package/dist/src/server/refresh.d.ts.map +0 -1
  267. package/dist/src/server/refresh.js +0 -13
  268. package/dist/src/server/refresh.js.map +0 -1
  269. package/dist/src/services/AuthenticationService.d.ts +0 -87
  270. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  271. package/dist/src/services/AuthenticationService.js +0 -222
  272. package/dist/src/services/AuthenticationService.js.map +0 -1
  273. package/dist/src/services/PKCE.d.ts +0 -20
  274. package/dist/src/services/PKCE.d.ts.map +0 -1
  275. package/dist/src/services/PKCE.js +0 -44
  276. package/dist/src/services/PKCE.js.map +0 -1
  277. package/dist/src/services/types.d.ts +0 -23
  278. package/dist/src/services/types.d.ts.map +0 -1
  279. package/dist/src/services/types.js +0 -7
  280. package/dist/src/services/types.js.map +0 -1
  281. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -8
  282. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  283. package/dist/src/shared/components/CivicAuthIframe.js +0 -9
  284. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  285. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  286. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  287. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -130
  288. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  289. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  290. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  291. package/dist/src/shared/components/CloseIcon.js +0 -6
  292. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  293. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  294. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  295. package/dist/src/shared/components/LoadingIcon.js +0 -24
  296. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  297. package/dist/src/shared/hooks/index.d.ts +0 -5
  298. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  299. package/dist/src/shared/hooks/index.js +0 -5
  300. package/dist/src/shared/hooks/index.js.map +0 -1
  301. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  302. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  303. package/dist/src/shared/hooks/useAuth.js +0 -12
  304. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  305. package/dist/src/shared/hooks/useConfig.d.ts +0 -3
  306. package/dist/src/shared/hooks/useConfig.d.ts.map +0 -1
  307. package/dist/src/shared/hooks/useConfig.js +0 -13
  308. package/dist/src/shared/hooks/useConfig.js.map +0 -1
  309. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  310. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  311. package/dist/src/shared/hooks/useIframe.js +0 -13
  312. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  313. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  314. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  315. package/dist/src/shared/hooks/useSession.js +0 -13
  316. package/dist/src/shared/hooks/useSession.js.map +0 -1
  317. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  318. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  319. package/dist/src/shared/hooks/useToken.js +0 -12
  320. package/dist/src/shared/hooks/useToken.js.map +0 -1
  321. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  322. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  323. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  324. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  325. package/dist/src/shared/lib/UserSession.js +0 -20
  326. package/dist/src/shared/lib/UserSession.js.map +0 -1
  327. package/dist/src/shared/lib/session.d.ts +0 -3
  328. package/dist/src/shared/lib/session.d.ts.map +0 -1
  329. package/dist/src/shared/lib/session.js +0 -10
  330. package/dist/src/shared/lib/session.js.map +0 -1
  331. package/dist/src/shared/lib/storage.d.ts +0 -25
  332. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  333. package/dist/src/shared/lib/storage.js +0 -17
  334. package/dist/src/shared/lib/storage.js.map +0 -1
  335. package/dist/src/shared/lib/types.d.ts +0 -22
  336. package/dist/src/shared/lib/types.d.ts.map +0 -1
  337. package/dist/src/shared/lib/types.js +0 -16
  338. package/dist/src/shared/lib/types.js.map +0 -1
  339. package/dist/src/shared/lib/util.d.ts.map +0 -1
  340. package/dist/src/shared/lib/util.js +0 -126
  341. package/dist/src/shared/lib/util.js.map +0 -1
  342. package/dist/src/shared/providers/AuthContext.d.ts +0 -10
  343. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  344. package/dist/src/shared/providers/AuthContext.js +0 -3
  345. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  346. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  347. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  348. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  349. package/dist/src/shared/providers/CivicAuthProvider.js +0 -15
  350. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  351. package/dist/src/shared/providers/ConfigProvider.d.ts +0 -21
  352. package/dist/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  353. package/dist/src/shared/providers/ConfigProvider.js +0 -19
  354. package/dist/src/shared/providers/ConfigProvider.js.map +0 -1
  355. package/dist/src/shared/providers/IframeProvider.d.ts +0 -16
  356. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  357. package/dist/src/shared/providers/IframeProvider.js +0 -11
  358. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  359. package/dist/src/shared/providers/SessionProvider.d.ts +0 -13
  360. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  361. package/dist/src/shared/providers/SessionProvider.js +0 -13
  362. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  363. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  364. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  365. package/dist/src/shared/providers/TokenProvider.js +0 -53
  366. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  367. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  368. package/dist/src/shared/providers/UserProvider.js +0 -38
  369. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  370. package/dist/src/types.d.ts +0 -146
  371. package/dist/src/types.d.ts.map +0 -1
  372. package/dist/src/types.js +0 -2
  373. package/dist/src/types.js.map +0 -1
  374. package/dist/src/utils.d.ts +0 -15
  375. package/dist/src/utils.d.ts.map +0 -1
  376. package/dist/src/utils.js +0 -43
  377. package/dist/src/utils.js.map +0 -1
  378. package/dist/storage-ANmRwpZ3.d.ts +0 -25
  379. package/dist/storage-B2eAQNdv.d.ts +0 -25
  380. package/dist/storage-BJPUpxhm.d.mts +0 -25
  381. package/dist/storage-BJyqsZwC.d.mts +0 -25
  382. package/dist/test/integration/sdk.test.d.ts +0 -2
  383. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  384. package/dist/test/integration/sdk.test.js +0 -183
  385. package/dist/test/integration/sdk.test.js.map +0 -1
  386. package/dist/test/support/fixtures.d.ts +0 -26
  387. package/dist/test/support/fixtures.d.ts.map +0 -1
  388. package/dist/test/support/fixtures.js +0 -55
  389. package/dist/test/support/fixtures.js.map +0 -1
  390. package/dist/test/support/tokens.json +0 -26
  391. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  392. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  393. package/dist/test/unit/lib/oauth.test.js +0 -55
  394. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  395. package/dist/test/unit/logger.test.d.ts +0 -2
  396. package/dist/test/unit/logger.test.d.ts.map +0 -1
  397. package/dist/test/unit/logger.test.js +0 -141
  398. package/dist/test/unit/logger.test.js.map +0 -1
  399. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  400. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  401. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -29
  402. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  403. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  404. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  405. package/dist/test/unit/nextjs/config.test.js +0 -189
  406. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  407. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  408. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  409. package/dist/test/unit/nextjs/getUser.test.js +0 -36
  410. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  411. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  412. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  413. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  414. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  415. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  416. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  417. package/dist/test/unit/nextjs/utils.test.js +0 -13
  418. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  419. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  420. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  421. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  422. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  423. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  424. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  425. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  426. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  427. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  428. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  429. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  430. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  431. package/dist/test/unit/server/login.test.d.ts +0 -2
  432. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  433. package/dist/test/unit/server/login.test.js +0 -127
  434. package/dist/test/unit/server/login.test.js.map +0 -1
  435. package/dist/test/unit/server/session.test.d.ts +0 -2
  436. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  437. package/dist/test/unit/server/session.test.js +0 -41
  438. package/dist/test/unit/server/session.test.js.map +0 -1
  439. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  440. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  441. package/dist/test/unit/services/AuthenticationService.test.js +0 -104
  442. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  443. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  444. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  445. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -74
  446. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  447. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  448. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  449. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -61
  450. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  451. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  452. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  453. package/dist/test/unit/shared/UserSession.test.js +0 -37
  454. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  455. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  456. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  457. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -120
  458. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  459. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  460. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  461. package/dist/test/unit/shared/storage.test.js +0 -53
  462. package/dist/test/unit/shared/storage.test.js.map +0 -1
  463. package/dist/test/unit/utils.test.d.ts +0 -2
  464. package/dist/test/unit/utils.test.d.ts.map +0 -1
  465. package/dist/test/unit/utils.test.js +0 -40
  466. package/dist/test/unit/utils.test.js.map +0 -1
  467. package/dist/types-Bqm9OCZN.d.mts +0 -22
  468. package/dist/types-Bqm9OCZN.d.ts +0 -22
  469. package/dist/types-BxAubCqO.d.mts +0 -58
  470. package/dist/types-BxAubCqO.d.ts +0 -58
  471. package/dist/types-DOfl9w7j.d.mts +0 -23
  472. package/dist/types-DOfl9w7j.d.ts +0 -23
  473. package/dist/types-HdCjGldB.d.mts +0 -58
  474. package/dist/types-HdCjGldB.d.ts +0 -58
  475. package/dist/vitest.config.d.ts +0 -3
  476. package/dist/vitest.config.d.ts.map +0 -1
  477. package/dist/vitest.config.js +0 -40
  478. package/dist/vitest.config.js.map +0 -1
@@ -1,164 +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
- console.log(`process.env.NODE_ENV: ${process.env.NODE_ENV}`);
7
- const isDevelopment = process.env.NODE_ENV === "development";
8
- const defaultServerSecure = isDevelopment ? false : true;
9
- console.log(`defaultServerSecure: ${defaultServerSecure}`);
10
- /**
11
- * Default configuration values that will be used if not overridden
12
- */
13
- export const defaultAuthConfig = {
14
- oauthServer: DEFAULT_AUTH_SERVER,
15
- callbackUrl: "/api/auth/callback",
16
- challengeUrl: "/api/auth/challenge",
17
- logoutUrl: "/api/auth/logout",
18
- loginUrl: "/",
19
- include: ["/*"],
20
- exclude: [],
21
- cookies: {
22
- tokens: {
23
- [OAuthTokens.ID_TOKEN]: {
24
- secure: defaultServerSecure,
25
- httpOnly: true,
26
- sameSite: "strict",
27
- path: "/",
28
- },
29
- [OAuthTokens.ACCESS_TOKEN]: {
30
- secure: defaultServerSecure,
31
- httpOnly: true,
32
- sameSite: "strict",
33
- path: "/",
34
- },
35
- [OAuthTokens.REFRESH_TOKEN]: {
36
- secure: defaultServerSecure,
37
- httpOnly: true,
38
- sameSite: "strict",
39
- path: "/",
40
- },
41
- [CodeVerifier.COOKIE_NAME]: {
42
- secure: defaultServerSecure,
43
- httpOnly: true,
44
- sameSite: "strict",
45
- path: "/",
46
- },
47
- [CodeVerifier.APP_URL]: {
48
- secure: defaultServerSecure,
49
- httpOnly: true,
50
- sameSite: "strict",
51
- path: "/",
52
- },
53
- },
54
- user: {
55
- secure: defaultServerSecure,
56
- httpOnly: false,
57
- sameSite: "strict",
58
- path: "/",
59
- maxAge: 60 * 60, // 1 hour
60
- },
61
- },
62
- };
63
- /**
64
- * Resolves the authentication configuration by combining:
65
- * 1. Default values
66
- * 2. Environment variables (set internally by the plugin)
67
- * 3. Explicitly passed configuration
68
- *
69
- * Note: Developers should not set _civic_auth_* environment variables directly.
70
- * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:
71
- *
72
- * @example
73
- * ```js
74
- * // next.config.js
75
- * export default createCivicAuthPlugin({
76
- * callbackUrl: '/custom/callback',
77
- * })
78
- * ```
79
- */
80
- export const resolveAuthConfig = (config = {}) => {
81
- // Read configuration that was set by the plugin via environment variables
82
- const configFromEnv = withoutUndefined({
83
- clientId: process.env._civic_auth_client_id,
84
- oauthServer: process.env._civic_oauth_server,
85
- callbackUrl: process.env._civic_auth_callback_url,
86
- challengeUrl: process.env._civic_auth_challenge_url,
87
- loginUrl: process.env._civic_auth_login_url,
88
- logoutUrl: process.env._civic_auth_logout_url,
89
- include: process.env._civic_auth_includes?.split(","),
90
- exclude: process.env._civic_auth_excludes?.split(","),
91
- cookies: process.env._civic_auth_cookie_config
92
- ? JSON.parse(process.env._civic_auth_cookie_config)
93
- : undefined,
94
- });
95
- const mergedConfig = {
96
- ...defaultAuthConfig,
97
- ...configFromEnv, // Apply plugin-set config
98
- ...config, // Override with directly passed config
99
- cookies: {
100
- tokens: {
101
- ...defaultAuthConfig.cookies.tokens,
102
- ...(configFromEnv?.cookies?.tokens || {}),
103
- ...(config.cookies?.tokens || {}),
104
- },
105
- user: {
106
- ...defaultAuthConfig.cookies.user,
107
- ...(configFromEnv?.cookies?.user || {}),
108
- ...(config.cookies?.user || {}),
109
- },
110
- },
111
- };
112
- logger.debug("Config from environment:", JSON.stringify(configFromEnv, null, 2));
113
- logger.debug("Resolved config:", JSON.stringify(mergedConfig, null, 2));
114
- if (mergedConfig.clientId === undefined) {
115
- throw new Error("Civic Auth client ID is required");
116
- }
117
- return mergedConfig;
118
- };
119
- /**
120
- * Creates a Next.js plugin that handles auth configuration.
121
- *
122
- * This is the main configuration point for the auth system.
123
- * Do not set _civic_auth_* environment variables directly - instead,
124
- * pass your configuration here:
125
- *
126
- * @example
127
- * ```js
128
- * // next.config.js
129
- * export default createCivicAuthPlugin({
130
- * clientId: 'my-client-id',
131
- * callbackUrl: '/custom/callback',
132
- * loginUrl: '/custom/login',
133
- * logoutUrl: '/custom/logout',
134
- * include: ['/protected/*'],
135
- * exclude: ['/public/*']
136
- * })
137
- * ```
138
- *
139
- * The plugin sets internal environment variables that are used by
140
- * the auth system. These variables should not be set manually.
141
- */
142
- export const createCivicAuthPlugin = (authConfig) => {
143
- return (nextConfig) => {
144
- logger.debug("createCivicAuthPlugin nextConfig", JSON.stringify(nextConfig, null, 2));
145
- const resolvedConfig = resolveAuthConfig({ ...authConfig });
146
- return {
147
- ...nextConfig,
148
- env: {
149
- ...nextConfig?.env,
150
- // Internal environment variables - do not set these manually
151
- _civic_auth_client_id: resolvedConfig.clientId,
152
- _civic_oauth_server: resolvedConfig.oauthServer,
153
- _civic_auth_callback_url: resolvedConfig.callbackUrl,
154
- _civic_auth_challenge_url: resolvedConfig.challengeUrl,
155
- _civic_auth_login_url: resolvedConfig.loginUrl,
156
- _civic_auth_logout_url: resolvedConfig.logoutUrl,
157
- _civic_auth_includes: resolvedConfig.include.join(","),
158
- _civic_auth_excludes: resolvedConfig.exclude.join(","),
159
- _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),
160
- },
161
- };
162
- };
163
- };
164
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/nextjs/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,YAAY,EAEZ,WAAW,GAEZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAuB5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAE7D,MAAM,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,OAAO,CAAC,GAAG,CAAC,wBAAwB,mBAAmB,EAAE,CAAC,CAAC;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA6C;IACzE,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,qBAAqB;IACnC,SAAS,EAAE,kBAAkB;IAC7B,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,OAAO,EAAE,EAAE;IACX,OAAO,EAAE;QACP,MAAM,EAAE;YACN,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACtB,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,GAAG;aACV;YACD,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;gBAC1B,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,GAAG;aACV;YACD,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;gBAC3B,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,GAAG;aACV;YACD,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBAC1B,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,GAAG;aACV;YACD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;gBACtB,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,GAAG;aACV;SACF;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS;SAC3B;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAqB,EAAE,EACC,EAAE;IAC1B,0EAA0E;IAC1E,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACrC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QAC3C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC5C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACjD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACnD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QAC3C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;QAC7C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC;QACrD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC;QACrD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACnD,CAAC,CAAC,SAAS;KACd,CAAe,CAAC;IACjB,MAAM,YAAY,GAAG;QACnB,GAAG,iBAAiB;QACpB,GAAG,aAAa,EAAE,0BAA0B;QAC5C,GAAG,MAAM,EAAE,uCAAuC;QAClD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM;gBACnC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;aAClC;YACD,IAAI,EAAE;gBACJ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI;gBACjC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;aAChC;SACF;KACF,CAAC;IAEF,MAAM,CAAC,KAAK,CACV,0BAA0B,EAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CACvC,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,YAA6D,CAAC;AACvE,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,UAA+D,EAC/D,EAAE;IACF,OAAO,CAAC,UAAuB,EAAE,EAAE;QACjC,MAAM,CAAC,KAAK,CACV,kCAAkC,EAClC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CACpC,CAAC;QACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;QAC5D,OAAO;YACL,GAAG,UAAU;YACb,GAAG,EAAE;gBACH,GAAG,UAAU,EAAE,GAAG;gBAClB,6DAA6D;gBAC7D,qBAAqB,EAAE,cAAc,CAAC,QAAQ;gBAC9C,mBAAmB,EAAE,cAAc,CAAC,WAAW;gBAC/C,wBAAwB,EAAE,cAAc,CAAC,WAAW;gBACpD,yBAAyB,EAAE,cAAc,CAAC,YAAY;gBACtD,qBAAqB,EAAE,cAAc,CAAC,QAAQ;gBAC9C,sBAAsB,EAAE,cAAc,CAAC,SAAS;gBAChD,oBAAoB,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtD,oBAAoB,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtD,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC;aAClE;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","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 challengeUrl: string;\n include: string[];\n exclude: string[];\n cookies: CookiesConfigObject;\n};\n\nexport type AuthConfig = Partial<AuthConfigWithDefaults>;\n\nexport type DefinedAuthConfig = AuthConfigWithDefaults;\n\nconsole.log(`process.env.NODE_ENV: ${process.env.NODE_ENV}`);\nconst isDevelopment = process.env.NODE_ENV === \"development\";\n\nconst defaultServerSecure = isDevelopment ? false : true;\nconsole.log(`defaultServerSecure: ${defaultServerSecure}`);\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 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 [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 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 * 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_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): string | null;
22
- set(key: KeySetter, value: string): void;
23
- }
24
- declare class NextjsClientStorage extends CookieStorage {
25
- constructor(config?: Partial<CookieStorageSettings>);
26
- get(key: string): string | null;
27
- set(key: string, value: string): void;
28
- }
29
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, };
30
- //# sourceMappingURL=cookies.d.ts.map
@@ -1,2 +0,0 @@
1
- export { useTokenCookie } from "@/nextjs/hooks/useTokenCookie.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,2 +0,0 @@
1
- export { useTokenCookie } from "@/nextjs/hooks/useTokenCookie.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/nextjs/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC","sourcesContent":["export { useTokenCookie } from \"@/nextjs/hooks/useTokenCookie.js\";\n"]}
@@ -1,3 +0,0 @@
1
- import type { OAuthTokens } from "@/shared/lib/types.js";
2
- export declare const useTokenCookie: (tokenName: OAuthTokens) => string | null;
3
- //# sourceMappingURL=useTokenCookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTokenCookie.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/hooks/useTokenCookie.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUzD,eAAO,MAAM,cAAc,cAAe,WAAW,KAAG,MAAM,GAAG,IAyBhE,CAAC"}
@@ -1,37 +0,0 @@
1
- "use client";
2
- import { useEffect, useRef } from "react";
3
- import { useRouter } from "next/navigation.js";
4
- import { useQuery } from "@tanstack/react-query";
5
- import { getWindowCookieValue } from "@/lib/cookies.js";
6
- const getTokenFromCookie = (tokenName) => {
7
- return getWindowCookieValue({
8
- key: tokenName,
9
- window: globalThis.window,
10
- parseJson: false,
11
- });
12
- };
13
- export const useTokenCookie = (tokenName) => {
14
- const hasRunRef = useRef(false);
15
- const router = useRouter();
16
- const { data: token } = useQuery({
17
- queryKey: ["token", tokenName],
18
- queryFn: () => getTokenFromCookie(tokenName) || null,
19
- refetchInterval: 2000,
20
- refetchIntervalInBackground: true,
21
- enabled: !hasRunRef.current,
22
- refetchOnWindowFocus: true,
23
- });
24
- useEffect(() => {
25
- if (token) {
26
- if (!hasRunRef.current) {
27
- hasRunRef.current = true;
28
- router.refresh();
29
- }
30
- }
31
- else {
32
- hasRunRef.current = false;
33
- }
34
- }, [token, router]);
35
- return token ?? null;
36
- };
37
- //# sourceMappingURL=useTokenCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTokenCookie.js","sourceRoot":"","sources":["../../../../src/nextjs/hooks/useTokenCookie.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,kBAAkB,GAAG,CAAC,SAAsB,EAAU,EAAE;IAC5D,OAAO,oBAAoB,CAAC;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAsB,EAAiB,EAAE;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;QAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,IAAI;QACpD,eAAe,EAAE,IAAI;QACrB,2BAA2B,EAAE,IAAI;QACjC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO;QAC3B,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC,CAAC","sourcesContent":["\"use client\";\nimport { useEffect, useRef } from \"react\";\nimport { useRouter } from \"next/navigation.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getWindowCookieValue } from \"@/lib/cookies.js\";\nimport type { OAuthTokens } from \"@/shared/lib/types.js\";\n\nconst getTokenFromCookie = (tokenName: OAuthTokens): string => {\n return getWindowCookieValue({\n key: tokenName,\n window: globalThis.window,\n parseJson: false,\n });\n};\n\nexport const useTokenCookie = (tokenName: OAuthTokens): string | null => {\n const hasRunRef = useRef(false);\n const router = useRouter();\n\n const { data: token } = useQuery({\n queryKey: [\"token\", tokenName],\n queryFn: () => getTokenFromCookie(tokenName) || null,\n refetchInterval: 2000,\n refetchIntervalInBackground: true,\n enabled: !hasRunRef.current,\n refetchOnWindowFocus: true,\n });\n\n useEffect(() => {\n if (token) {\n if (!hasRunRef.current) {\n hasRunRef.current = true;\n router.refresh();\n }\n } else {\n hasRunRef.current = false;\n }\n }, [token, router]);\n\n return token ?? null;\n};\n"]}
@@ -1,3 +0,0 @@
1
- import type { EmptyObject, User } from "@/types.js";
2
- export declare const useUserCookie: <T extends EmptyObject>() => User<T> | null;
3
- //# sourceMappingURL=useUserCookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUserCookie.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/hooks/useUserCookie.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAUpD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,WAAW,qBAyBlD,CAAC"}
@@ -1,36 +0,0 @@
1
- "use client";
2
- import { useEffect, useRef } from "react";
3
- import { useRouter } from "next/navigation.js";
4
- import { useQuery } from "@tanstack/react-query";
5
- import { getWindowCookieValue } from "@/lib/cookies.js";
6
- import { UserStorage } from "@/shared/lib/types.js";
7
- const getUserFromCookie = () => getWindowCookieValue({
8
- key: UserStorage.USER,
9
- window: globalThis.window,
10
- parseJson: true,
11
- });
12
- export const useUserCookie = () => {
13
- const hasRunRef = useRef(false);
14
- const router = useRouter();
15
- const { data: user } = useQuery({
16
- queryKey: ["user"],
17
- queryFn: () => getUserFromCookie(),
18
- refetchInterval: 2000,
19
- refetchIntervalInBackground: true,
20
- enabled: !hasRunRef.current,
21
- refetchOnWindowFocus: true,
22
- });
23
- useEffect(() => {
24
- if (user) {
25
- if (!hasRunRef.current) {
26
- hasRunRef.current = true;
27
- router.refresh();
28
- }
29
- }
30
- else {
31
- hasRunRef.current = false;
32
- }
33
- }, [user, router]);
34
- return user ?? null;
35
- };
36
- //# sourceMappingURL=useUserCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUserCookie.js","sourceRoot":"","sources":["../../../../src/nextjs/hooks/useUserCookie.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAC7B,oBAAoB,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,GAA0B,EAAE;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC9B,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAoB;QACpD,eAAe,EAAE,IAAI;QACrB,2BAA2B,EAAE,IAAI;QACjC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO;QAC3B,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnB,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC,CAAC","sourcesContent":["\"use client\";\nimport { useEffect, useRef } from \"react\";\nimport { useRouter } from \"next/navigation.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getWindowCookieValue } from \"@/lib/cookies.js\";\nimport type { EmptyObject, User } from \"@/types.js\";\nimport { UserStorage } from \"@/shared/lib/types.js\";\n\nconst getUserFromCookie = () =>\n getWindowCookieValue({\n key: UserStorage.USER,\n window: globalThis.window,\n parseJson: true,\n });\n\nexport const useUserCookie = <T extends EmptyObject>() => {\n const hasRunRef = useRef(false);\n const router = useRouter();\n\n const { data: user } = useQuery({\n queryKey: [\"user\"],\n queryFn: () => getUserFromCookie() as User<T> | null,\n refetchInterval: 2000,\n refetchIntervalInBackground: true,\n enabled: !hasRunRef.current,\n refetchOnWindowFocus: true,\n });\n\n useEffect(() => {\n if (user) {\n if (!hasRunRef.current) {\n hasRunRef.current = true;\n router.refresh();\n }\n } else {\n hasRunRef.current = false;\n }\n }, [user, router]);\n\n return user ?? null;\n};\n"]}
@@ -1,7 +0,0 @@
1
- export { createCivicAuthPlugin } from "@/nextjs/config.js";
2
- export { getUser } from "@/nextjs/GetUser.js";
3
- export { handler } from "@/nextjs/routeHandler.js";
4
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, } from "@/nextjs/cookies.js";
5
- export type { AuthConfig, CookiesConfigObject, AuthConfigWithDefaults, DefinedAuthConfig, } from "@/nextjs/config.js";
6
- export { CivicNextAuthProvider as CivicAuthProvider, type NextCivicAuthProviderProps as AuthProviderProps, } from "@/nextjs/providers/NextAuthProvider.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nextjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,IAAI,iBAAiB,EAC1C,KAAK,0BAA0B,IAAI,iBAAiB,GACrD,MAAM,wCAAwC,CAAC"}
@@ -1,6 +0,0 @@
1
- export { createCivicAuthPlugin } from "@/nextjs/config.js";
2
- export { getUser } from "@/nextjs/GetUser.js";
3
- export { handler } from "@/nextjs/routeHandler.js";
4
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, } from "@/nextjs/cookies.js";
5
- export { CivicNextAuthProvider as CivicAuthProvider, } from "@/nextjs/providers/NextAuthProvider.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nextjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,qBAAqB,IAAI,iBAAiB,GAE3C,MAAM,wCAAwC,CAAC","sourcesContent":["export { createCivicAuthPlugin } from \"@/nextjs/config.js\";\nexport { getUser } from \"@/nextjs/GetUser.js\";\nexport { handler } from \"@/nextjs/routeHandler.js\";\nexport {\n createTokenCookies,\n createUserInfoCookie,\n clearAuthCookies,\n NextjsCookieStorage,\n NextjsClientStorage,\n} from \"@/nextjs/cookies.js\";\nexport type {\n AuthConfig,\n CookiesConfigObject,\n AuthConfigWithDefaults,\n DefinedAuthConfig,\n} from \"@/nextjs/config.js\";\nexport {\n CivicNextAuthProvider as CivicAuthProvider,\n type NextCivicAuthProviderProps as AuthProviderProps,\n} from \"@/nextjs/providers/NextAuthProvider.js\";\n"]}
@@ -1,2 +0,0 @@
1
- export { authMiddleware, auth, withAuth } from "@/nextjs/middleware.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { authMiddleware, auth, withAuth } from "@/nextjs/middleware.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/nextjs/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["export { authMiddleware, auth, withAuth } from \"@/nextjs/middleware.js\";\n"]}
@@ -1,59 +0,0 @@
1
- /**
2
- * Authenticates the user on all requests by checking the token cookie
3
- *
4
- * Usage:
5
- * Option 1: use if no other middleware (e.g. no next-intl etc)
6
- * export default authMiddleware();
7
- *
8
- * Option 2: use if other middleware is needed - default auth config
9
- * export default withAuth((request) => {
10
- * console.log('in custom middleware', request.nextUrl.pathname);
11
- * return NextResponse.next();
12
- * })
13
- *
14
- * Option 3: use if other middleware is needed - specifying auth config
15
- * const withCivicAuth = auth({ loginUrl: '/login', include: ['/[.*]/user'] })
16
- * export default withCivicAuth((request) => {
17
- * console.log('in custom middleware', request.url);
18
- * return NextResponse.next();
19
- * })
20
- *
21
- */
22
- import type { NextRequest } from "next/server.js";
23
- import { NextResponse } from "next/server.js";
24
- import type { AuthConfig } from "@/nextjs/config.js";
25
- type Middleware = (request: NextRequest) => Promise<NextResponse> | NextResponse;
26
- /**
27
- *
28
- * Use this when auth is the only middleware you need.
29
- * Usage:
30
- *
31
- * export default authMiddleware({ loginUrl = '/login' }); // or just authMiddleware();
32
- *
33
- */
34
- export declare const authMiddleware: (authConfig?: Partial<AuthConfig>) => (request: NextRequest) => Promise<NextResponse>;
35
- /**
36
- * Usage:
37
- *
38
- * export default withAuth(async (request) => {
39
- * console.log('my middleware');
40
- * return NextResponse.next();
41
- * })
42
- */
43
- export declare function withAuth(middleware: Middleware): (request: NextRequest) => Promise<NextResponse>;
44
- /**
45
- * Use this when you want to configure the middleware here (an alternative is to do it in the next.config file)
46
- *
47
- * Usage:
48
- *
49
- * const withAuth = auth({ loginUrl = '/login' }); // or just auth();
50
- *
51
- * export default withAuth(async (request) => {
52
- * console.log('my middleware');
53
- * return NextResponse.next();
54
- * })
55
- *
56
- */
57
- export declare function auth(authConfig?: AuthConfig): (middleware: Middleware) => ((request: NextRequest) => Promise<NextResponse>);
58
- export {};
59
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/nextjs/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,KAAK,UAAU,GAAG,CAChB,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAmE1C;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,gBACZ,OAAO,CAAC,UAAU,CAAC,eAChB,WAAW,KAAG,OAAO,CAAC,YAAY,CAOjD,CAAC;AAEJ;;;;;;;GAOG;AAEH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,UAAU,GACrB,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAEjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,UAAU,GAAE,UAAe,gBAEhC,UAAU,KACrB,CAAC,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,CAQrD"}
@@ -1,107 +0,0 @@
1
- import { NextResponse } from "next/server.js";
2
- import picomatch from "picomatch";
3
- import { resolveAuthConfig } from "@/nextjs/config.js";
4
- // Matches globs:
5
- // Examples:
6
- // /user
7
- // /user/*
8
- // /user/**/info
9
- const matchGlob = (pathname, globPattern) => {
10
- const matches = picomatch(globPattern);
11
- return matches(pathname);
12
- };
13
- // Matches globs:
14
- // Examples:
15
- // /user
16
- // /user/*
17
- // /user/**/info
18
- const matchesGlobs = (pathname, patterns) => patterns.some((pattern) => {
19
- if (!pattern)
20
- return false;
21
- console.log("matching", {
22
- pattern,
23
- pathname,
24
- match: matchGlob(pathname, pattern),
25
- });
26
- return matchGlob(pathname, pattern);
27
- });
28
- // internal - used by all exported functions
29
- const applyAuth = async (authConfig, request) => {
30
- const authConfigWithDefaults = resolveAuthConfig(authConfig);
31
- // Check for any valid auth token
32
- const isAuthenticated = !!request.cookies.get("id_token");
33
- // skip auth check for redirect to login url
34
- if (request.nextUrl.pathname === authConfigWithDefaults.loginUrl &&
35
- request.method === "GET") {
36
- console.log("→ Skipping auth check - this is the login URL");
37
- return undefined;
38
- }
39
- if (!matchesGlobs(request.nextUrl.pathname, authConfigWithDefaults.include)) {
40
- console.log("→ Skipping auth check - path not in include patterns");
41
- return undefined;
42
- }
43
- if (matchesGlobs(request.nextUrl.pathname, authConfigWithDefaults.exclude)) {
44
- console.log("→ Skipping auth check - path in exclude patterns");
45
- return undefined;
46
- }
47
- // Check for either token type
48
- if (!isAuthenticated) {
49
- const loginUrl = new URL(authConfigWithDefaults.loginUrl, request.url);
50
- console.log("→ No valid token found - redirecting to login", loginUrl);
51
- return NextResponse.redirect(loginUrl);
52
- }
53
- console.log("→ Auth check passed");
54
- return undefined;
55
- };
56
- /**
57
- *
58
- * Use this when auth is the only middleware you need.
59
- * Usage:
60
- *
61
- * export default authMiddleware({ loginUrl = '/login' }); // or just authMiddleware();
62
- *
63
- */
64
- export const authMiddleware = (authConfig = {}) => async (request) => {
65
- const response = await applyAuth(authConfig, request);
66
- if (response)
67
- return response;
68
- // NextJS doesn't do middleware chaining yet, so this does not mean
69
- // "call the next middleware" - it means "continue to the route handler"
70
- return NextResponse.next();
71
- };
72
- /**
73
- * Usage:
74
- *
75
- * export default withAuth(async (request) => {
76
- * console.log('my middleware');
77
- * return NextResponse.next();
78
- * })
79
- */
80
- // use this when you have your own middleware to chain
81
- export function withAuth(middleware) {
82
- return auth()(middleware);
83
- }
84
- /**
85
- * Use this when you want to configure the middleware here (an alternative is to do it in the next.config file)
86
- *
87
- * Usage:
88
- *
89
- * const withAuth = auth({ loginUrl = '/login' }); // or just auth();
90
- *
91
- * export default withAuth(async (request) => {
92
- * console.log('my middleware');
93
- * return NextResponse.next();
94
- * })
95
- *
96
- */
97
- export function auth(authConfig = {}) {
98
- return (middleware) => {
99
- return async (request) => {
100
- const response = await applyAuth(authConfig, request);
101
- if (response)
102
- return response;
103
- return middleware(request);
104
- };
105
- };
106
- }
107
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/nextjs/middleware.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Authenticates the user on all requests by checking the token cookie\n *\n * Usage:\n * Option 1: use if no other middleware (e.g. no next-intl etc)\n * export default authMiddleware();\n *\n * Option 2: use if other middleware is needed - default auth config\n * export default withAuth((request) => {\n * console.log('in custom middleware', request.nextUrl.pathname);\n * return NextResponse.next();\n * })\n *\n * Option 3: use if other middleware is needed - specifying auth config\n * const withCivicAuth = auth({ loginUrl: '/login', include: ['/[.*]/user'] })\n * export default withCivicAuth((request) => {\n * console.log('in custom middleware', request.url);\n * return NextResponse.next();\n * })\n *\n */\nimport type { NextRequest } from \"next/server.js\";\nimport { NextResponse } from \"next/server.js\";\nimport picomatch from \"picomatch\";\nimport type { AuthConfig } from \"@/nextjs/config.js\";\nimport { resolveAuthConfig } from \"@/nextjs/config.js\";\n\ntype Middleware = (\n request: NextRequest,\n) => Promise<NextResponse> | NextResponse;\n\n// Matches globs:\n// Examples:\n// /user\n// /user/*\n// /user/**/info\nconst matchGlob = (pathname: string, globPattern: string) => {\n const matches = picomatch(globPattern);\n return matches(pathname);\n};\n\n// Matches globs:\n// Examples:\n// /user\n// /user/*\n// /user/**/info\nconst matchesGlobs = (pathname: string, patterns: string[]) =>\n patterns.some((pattern) => {\n if (!pattern) return false;\n console.log(\"matching\", {\n pattern,\n pathname,\n match: matchGlob(pathname, pattern),\n });\n return matchGlob(pathname, pattern);\n });\n\n// internal - used by all exported functions\nconst applyAuth = async (\n authConfig: AuthConfig,\n request: NextRequest,\n): Promise<NextResponse | undefined> => {\n const authConfigWithDefaults = resolveAuthConfig(authConfig);\n // Check for any valid auth token\n const isAuthenticated = !!request.cookies.get(\"id_token\");\n\n // skip auth check for redirect to login url\n if (\n request.nextUrl.pathname === authConfigWithDefaults.loginUrl &&\n request.method === \"GET\"\n ) {\n console.log(\"→ Skipping auth check - this is the login URL\");\n return undefined;\n }\n\n if (!matchesGlobs(request.nextUrl.pathname, authConfigWithDefaults.include)) {\n console.log(\"→ Skipping auth check - path not in include patterns\");\n return undefined;\n }\n\n if (matchesGlobs(request.nextUrl.pathname, authConfigWithDefaults.exclude)) {\n console.log(\"→ Skipping auth check - path in exclude patterns\");\n return undefined;\n }\n\n // Check for either token type\n if (!isAuthenticated) {\n const loginUrl = new URL(authConfigWithDefaults.loginUrl, request.url);\n console.log(\"→ No valid token found - redirecting to login\", loginUrl);\n return NextResponse.redirect(loginUrl);\n }\n\n console.log(\"→ Auth check passed\");\n return undefined;\n};\n\n/**\n *\n * Use this when auth is the only middleware you need.\n * Usage:\n *\n * export default authMiddleware({ loginUrl = '/login' }); // or just authMiddleware();\n *\n */\nexport const authMiddleware =\n (authConfig: Partial<AuthConfig> = {}) =>\n async (request: NextRequest): Promise<NextResponse> => {\n const response = await applyAuth(authConfig, request);\n if (response) return response;\n\n // NextJS doesn't do middleware chaining yet, so this does not mean\n // \"call the next middleware\" - it means \"continue to the route handler\"\n return NextResponse.next();\n };\n\n/**\n * Usage:\n *\n * export default withAuth(async (request) => {\n * console.log('my middleware');\n * return NextResponse.next();\n * })\n */\n// use this when you have your own middleware to chain\nexport function withAuth(\n middleware: Middleware,\n): (request: NextRequest) => Promise<NextResponse> {\n return auth()(middleware);\n}\n\n/**\n * Use this when you want to configure the middleware here (an alternative is to do it in the next.config file)\n *\n * Usage:\n *\n * const withAuth = auth({ loginUrl = '/login' }); // or just auth();\n *\n * export default withAuth(async (request) => {\n * console.log('my middleware');\n * return NextResponse.next();\n * })\n *\n */\nexport function auth(authConfig: AuthConfig = {}) {\n return (\n middleware: Middleware,\n ): ((request: NextRequest) => Promise<NextResponse>) => {\n return async (request: NextRequest): Promise<NextResponse> => {\n const response = await applyAuth(authConfig, request);\n if (response) return response;\n\n return middleware(request);\n };\n };\n}\n"]}
@@ -1,9 +0,0 @@
1
- /**
2
- * A very small context provider for the user object - it takes the user object from the cookie and provides it to the app.
3
- */
4
- import React from "react";
5
- import type { AuthProviderProps } from "@/shared/providers/AuthProvider.js";
6
- type NextCivicAuthProviderProps = Omit<AuthProviderProps, "clientId">;
7
- declare const CivicNextAuthProvider: ({ children, ...props }: NextCivicAuthProviderProps) => React.JSX.Element;
8
- export { CivicNextAuthProvider, type NextCivicAuthProviderProps };
9
- //# sourceMappingURL=NextAuthProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NextAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/providers/NextAuthProvider.tsx"],"names":[],"mappings":"AACA;;GAEG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAe5E,KAAK,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAqDtE,QAAA,MAAM,qBAAqB,2BAGxB,0BAA0B,sBAQ5B,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
@@ -1,50 +0,0 @@
1
- "use client";
2
- /**
3
- * A very small context provider for the user object - it takes the user object from the cookie and provides it to the app.
4
- */
5
- import React, { useEffect, useState } from "react";
6
- import { AuthProvider } from "@/shared/providers/AuthProvider.js";
7
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
8
- import { resolveAuthConfig } from "@/nextjs/config.js";
9
- import { resolveCallbackUrl } from "@/nextjs/utils.js";
10
- import { ConfidentialClientPKCEConsumer } from "@/services/PKCE.js";
11
- import { NextjsClientStorage } from "@/nextjs/cookies.js";
12
- import { UserProvider } from "@/shared/providers/UserProvider.js";
13
- import { OAuthTokens } from "@/shared/lib/types.js";
14
- import { useUserCookie } from "@/nextjs/hooks/useUserCookie.js";
15
- import { useTokenCookie } from "@/nextjs/hooks/index.js";
16
- const queryClient = new QueryClient();
17
- const CivicNextAuthProviderInternal = ({ children, ...props }) => {
18
- const [redirectUrl, setRedirectUrl] = useState("");
19
- const resolvedConfig = resolveAuthConfig();
20
- const { clientId, oauthServer, callbackUrl, challengeUrl, logoutUrl } = resolvedConfig;
21
- useEffect(() => {
22
- if (typeof globalThis.window !== "undefined") {
23
- const appUrl = globalThis.window.location.origin;
24
- setRedirectUrl(resolveCallbackUrl(resolvedConfig, appUrl));
25
- }
26
- }, [callbackUrl, resolvedConfig]);
27
- const user = useUserCookie();
28
- const idToken = useTokenCookie(OAuthTokens.ID_TOKEN);
29
- const combinedUser = user ? { ...(user || {}), idToken } : null;
30
- const sessionData = {
31
- authenticated: !!user,
32
- ...(idToken ? { idToken } : {}),
33
- };
34
- const signOut = async () => {
35
- if (props.onSignOut) {
36
- await props.onSignOut();
37
- }
38
- const appUrl = globalThis.window.location.origin;
39
- window.location.href = `${logoutUrl}?appUrl=${appUrl}`;
40
- return;
41
- };
42
- return (React.createElement(AuthProvider, { ...props, redirectUrl: redirectUrl, config: { oauthServer }, clientId: clientId, pkceConsumer: new ConfidentialClientPKCEConsumer(challengeUrl), sessionData: sessionData },
43
- React.createElement(UserProvider, { storage: new NextjsClientStorage(), user: combinedUser, signOut: signOut }, children)));
44
- };
45
- const CivicNextAuthProvider = ({ children, ...props }) => {
46
- return (React.createElement(QueryClientProvider, { client: queryClient },
47
- React.createElement(CivicNextAuthProviderInternal, { ...props }, children)));
48
- };
49
- export { CivicNextAuthProvider };
50
- //# sourceMappingURL=NextAuthProvider.js.map