@civic/auth 0.3.2 → 0.3.4-beta.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 (564) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +5 -1
  3. package/dist/cjs/constants.d.ts +3 -1
  4. package/dist/cjs/constants.d.ts.map +1 -1
  5. package/dist/cjs/constants.js +5 -1
  6. package/dist/cjs/constants.js.map +1 -1
  7. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +1 -1
  8. package/dist/cjs/nextjs/hooks/useUserCookie.js +1 -8
  9. package/dist/cjs/nextjs/hooks/useUserCookie.js.map +1 -1
  10. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
  11. package/dist/cjs/nextjs/providers/NextAuthProvider.js +6 -15
  12. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +1 -1
  13. package/dist/cjs/nextjs/routeHandler.d.ts.map +1 -1
  14. package/dist/cjs/nextjs/routeHandler.js +7 -12
  15. package/dist/cjs/nextjs/routeHandler.js.map +1 -1
  16. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts +10 -2
  17. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -1
  18. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +12 -2
  19. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +1 -1
  20. package/dist/cjs/reactjs/components/SignInButton.d.ts +2 -2
  21. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +1 -1
  22. package/dist/cjs/reactjs/components/SignInButton.js +13 -3
  23. package/dist/cjs/reactjs/components/SignInButton.js.map +1 -1
  24. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +1 -1
  25. package/dist/cjs/reactjs/components/SignOutButton.js +10 -1
  26. package/dist/cjs/reactjs/components/SignOutButton.js.map +1 -1
  27. package/dist/cjs/reactjs/components/UserButton.d.ts.map +1 -1
  28. package/dist/cjs/reactjs/components/UserButton.js +17 -5
  29. package/dist/cjs/reactjs/components/UserButton.js.map +1 -1
  30. package/dist/cjs/reactjs/components/utils.d.ts +11 -1
  31. package/dist/cjs/reactjs/components/utils.d.ts.map +1 -1
  32. package/dist/cjs/reactjs/components/utils.js +12 -2
  33. package/dist/cjs/reactjs/components/utils.js.map +1 -1
  34. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +6 -0
  35. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +1 -0
  36. package/dist/cjs/reactjs/hooks/useSignIn.js +38 -0
  37. package/dist/cjs/reactjs/hooks/useSignIn.js.map +1 -0
  38. package/dist/cjs/shared/hooks/useSignIn.js +1 -1
  39. package/dist/cjs/shared/hooks/useSignIn.js.map +1 -1
  40. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +1 -1
  41. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
  42. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +15 -6
  43. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
  44. package/dist/cjs/shared/lib/UserSession.d.ts +3 -1
  45. package/dist/cjs/shared/lib/UserSession.d.ts.map +1 -1
  46. package/dist/cjs/shared/lib/UserSession.js.map +1 -1
  47. package/dist/cjs/shared/lib/session.js.map +1 -1
  48. package/dist/cjs/shared/version.d.ts +1 -1
  49. package/dist/cjs/shared/version.d.ts.map +1 -1
  50. package/dist/cjs/shared/version.js +1 -1
  51. package/dist/cjs/shared/version.js.map +1 -1
  52. package/dist/cjs/types.d.ts +1 -1
  53. package/dist/cjs/types.d.ts.map +1 -1
  54. package/dist/cjs/types.js.map +1 -1
  55. package/dist/esm/constants.d.ts +3 -1
  56. package/dist/esm/constants.d.ts.map +1 -1
  57. package/dist/esm/constants.js +3 -1
  58. package/dist/esm/constants.js.map +1 -1
  59. package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +1 -1
  60. package/dist/esm/nextjs/hooks/useUserCookie.js +1 -8
  61. package/dist/esm/nextjs/hooks/useUserCookie.js.map +1 -1
  62. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
  63. package/dist/esm/nextjs/providers/NextAuthProvider.js +4 -16
  64. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +1 -1
  65. package/dist/esm/nextjs/routeHandler.d.ts.map +1 -1
  66. package/dist/esm/nextjs/routeHandler.js +7 -12
  67. package/dist/esm/nextjs/routeHandler.js.map +1 -1
  68. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +10 -2
  69. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -1
  70. package/dist/esm/reactjs/components/ButtonContentOrLoader.js +12 -2
  71. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +1 -1
  72. package/dist/esm/reactjs/components/SignInButton.d.ts +2 -2
  73. package/dist/esm/reactjs/components/SignInButton.d.ts.map +1 -1
  74. package/dist/esm/reactjs/components/SignInButton.js +13 -3
  75. package/dist/esm/reactjs/components/SignInButton.js.map +1 -1
  76. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +1 -1
  77. package/dist/esm/reactjs/components/SignOutButton.js +10 -2
  78. package/dist/esm/reactjs/components/SignOutButton.js.map +1 -1
  79. package/dist/esm/reactjs/components/UserButton.d.ts.map +1 -1
  80. package/dist/esm/reactjs/components/UserButton.js +17 -5
  81. package/dist/esm/reactjs/components/UserButton.js.map +1 -1
  82. package/dist/esm/reactjs/components/utils.d.ts +11 -1
  83. package/dist/esm/reactjs/components/utils.d.ts.map +1 -1
  84. package/dist/esm/reactjs/components/utils.js +12 -2
  85. package/dist/esm/reactjs/components/utils.js.map +1 -1
  86. package/dist/esm/reactjs/hooks/useSignIn.d.ts +6 -0
  87. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +1 -0
  88. package/dist/esm/reactjs/hooks/useSignIn.js +34 -0
  89. package/dist/esm/reactjs/hooks/useSignIn.js.map +1 -0
  90. package/dist/esm/shared/hooks/useSignIn.js +1 -1
  91. package/dist/esm/shared/hooks/useSignIn.js.map +1 -1
  92. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +1 -1
  93. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
  94. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +16 -7
  95. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
  96. package/dist/esm/shared/lib/UserSession.d.ts +3 -1
  97. package/dist/esm/shared/lib/UserSession.d.ts.map +1 -1
  98. package/dist/esm/shared/lib/UserSession.js.map +1 -1
  99. package/dist/esm/shared/lib/session.js.map +1 -1
  100. package/dist/esm/shared/version.d.ts +1 -1
  101. package/dist/esm/shared/version.d.ts.map +1 -1
  102. package/dist/esm/shared/version.js +1 -1
  103. package/dist/esm/shared/version.js.map +1 -1
  104. package/dist/esm/types.d.ts +1 -1
  105. package/dist/esm/types.d.ts.map +1 -1
  106. package/dist/esm/types.js.map +1 -1
  107. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  108. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  109. package/package.json +18 -19
  110. package/dist/generateVersion.d.ts +0 -2
  111. package/dist/generateVersion.d.ts.map +0 -1
  112. package/dist/generateVersion.js +0 -12
  113. package/dist/generateVersion.js.map +0 -1
  114. package/dist/package.json +0 -118
  115. package/dist/src/browser/storage.d.ts +0 -9
  116. package/dist/src/browser/storage.d.ts.map +0 -1
  117. package/dist/src/browser/storage.js +0 -17
  118. package/dist/src/browser/storage.js.map +0 -1
  119. package/dist/src/config.d.ts +0 -3
  120. package/dist/src/config.d.ts.map +0 -1
  121. package/dist/src/config.js +0 -5
  122. package/dist/src/config.js.map +0 -1
  123. package/dist/src/constants.d.ts +0 -8
  124. package/dist/src/constants.d.ts.map +0 -1
  125. package/dist/src/constants.js +0 -16
  126. package/dist/src/constants.js.map +0 -1
  127. package/dist/src/index.d.ts +0 -6
  128. package/dist/src/index.d.ts.map +0 -1
  129. package/dist/src/index.js +0 -4
  130. package/dist/src/index.js.map +0 -1
  131. package/dist/src/lib/cookies.d.ts +0 -7
  132. package/dist/src/lib/cookies.d.ts.map +0 -1
  133. package/dist/src/lib/cookies.js +0 -25
  134. package/dist/src/lib/cookies.js.map +0 -1
  135. package/dist/src/lib/jwt.d.ts +0 -3
  136. package/dist/src/lib/jwt.d.ts.map +0 -1
  137. package/dist/src/lib/jwt.js +0 -9
  138. package/dist/src/lib/jwt.js.map +0 -1
  139. package/dist/src/lib/logger.d.ts +0 -26
  140. package/dist/src/lib/logger.d.ts.map +0 -1
  141. package/dist/src/lib/logger.js +0 -55
  142. package/dist/src/lib/logger.js.map +0 -1
  143. package/dist/src/lib/oauth.d.ts +0 -19
  144. package/dist/src/lib/oauth.d.ts.map +0 -1
  145. package/dist/src/lib/oauth.js +0 -61
  146. package/dist/src/lib/oauth.js.map +0 -1
  147. package/dist/src/lib/obj.d.ts +0 -3
  148. package/dist/src/lib/obj.d.ts.map +0 -1
  149. package/dist/src/lib/obj.js +0 -18
  150. package/dist/src/lib/obj.js.map +0 -1
  151. package/dist/src/lib/postMessage.d.ts +0 -4
  152. package/dist/src/lib/postMessage.d.ts.map +0 -1
  153. package/dist/src/lib/postMessage.js +0 -15
  154. package/dist/src/lib/postMessage.js.map +0 -1
  155. package/dist/src/lib/windowUtil.d.ts +0 -4
  156. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  157. package/dist/src/lib/windowUtil.js +0 -31
  158. package/dist/src/lib/windowUtil.js.map +0 -1
  159. package/dist/src/nextjs/GetUser.d.ts +0 -6
  160. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  161. package/dist/src/nextjs/GetUser.js +0 -7
  162. package/dist/src/nextjs/GetUser.js.map +0 -1
  163. package/dist/src/nextjs/config.d.ts +0 -181
  164. package/dist/src/nextjs/config.d.ts.map +0 -1
  165. package/dist/src/nextjs/config.js +0 -177
  166. package/dist/src/nextjs/config.js.map +0 -1
  167. package/dist/src/nextjs/cookies.d.ts +0 -30
  168. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  169. package/dist/src/nextjs/cookies.js +0 -112
  170. package/dist/src/nextjs/cookies.js.map +0 -1
  171. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  172. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  173. package/dist/src/nextjs/hooks/index.js +0 -2
  174. package/dist/src/nextjs/hooks/index.js.map +0 -1
  175. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  176. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  177. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  178. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  179. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  180. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  181. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  182. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  183. package/dist/src/nextjs/index.d.ts +0 -7
  184. package/dist/src/nextjs/index.d.ts.map +0 -1
  185. package/dist/src/nextjs/index.js +0 -8
  186. package/dist/src/nextjs/index.js.map +0 -1
  187. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  188. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  189. package/dist/src/nextjs/middleware/index.js +0 -4
  190. package/dist/src/nextjs/middleware/index.js.map +0 -1
  191. package/dist/src/nextjs/middleware.d.ts +0 -59
  192. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  193. package/dist/src/nextjs/middleware.js +0 -107
  194. package/dist/src/nextjs/middleware.js.map +0 -1
  195. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  196. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  197. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  198. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  199. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  200. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  201. package/dist/src/nextjs/routeHandler.js +0 -309
  202. package/dist/src/nextjs/routeHandler.js.map +0 -1
  203. package/dist/src/nextjs/utils.d.ts +0 -3
  204. package/dist/src/nextjs/utils.d.ts.map +0 -1
  205. package/dist/src/nextjs/utils.js +0 -5
  206. package/dist/src/nextjs/utils.js.map +0 -1
  207. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  208. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  209. package/dist/src/reactjs/components/SignInButton.js +0 -14
  210. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  211. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  212. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  213. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  214. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  215. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  216. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  217. package/dist/src/reactjs/components/UserButton.js +0 -118
  218. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  219. package/dist/src/reactjs/components/index.d.ts +0 -6
  220. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  221. package/dist/src/reactjs/components/index.js +0 -6
  222. package/dist/src/reactjs/components/index.js.map +0 -1
  223. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  224. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  225. package/dist/src/reactjs/hooks/index.js +0 -6
  226. package/dist/src/reactjs/hooks/index.js.map +0 -1
  227. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  228. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  229. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  230. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  231. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  232. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  233. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  234. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  235. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  236. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  237. package/dist/src/reactjs/hooks/useUser.js +0 -12
  238. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  239. package/dist/src/reactjs/index.d.ts +0 -6
  240. package/dist/src/reactjs/index.d.ts.map +0 -1
  241. package/dist/src/reactjs/index.js +0 -10
  242. package/dist/src/reactjs/index.js.map +0 -1
  243. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  244. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  245. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  246. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  247. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  248. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  249. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  250. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  251. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  252. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  253. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  254. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  255. package/dist/src/reactjs/providers/index.d.ts +0 -8
  256. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  257. package/dist/src/reactjs/providers/index.js +0 -7
  258. package/dist/src/reactjs/providers/index.js.map +0 -1
  259. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  260. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  261. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  262. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  263. package/dist/src/server/config.d.ts +0 -10
  264. package/dist/src/server/config.d.ts.map +0 -1
  265. package/dist/src/server/config.js +0 -2
  266. package/dist/src/server/config.js.map +0 -1
  267. package/dist/src/server/index.d.ts +0 -7
  268. package/dist/src/server/index.d.ts.map +0 -1
  269. package/dist/src/server/index.js +0 -7
  270. package/dist/src/server/index.js.map +0 -1
  271. package/dist/src/server/login.d.ts +0 -21
  272. package/dist/src/server/login.d.ts.map +0 -1
  273. package/dist/src/server/login.js +0 -56
  274. package/dist/src/server/login.js.map +0 -1
  275. package/dist/src/server/refresh.d.ts +0 -7
  276. package/dist/src/server/refresh.d.ts.map +0 -1
  277. package/dist/src/server/refresh.js +0 -13
  278. package/dist/src/server/refresh.js.map +0 -1
  279. package/dist/src/services/AuthenticationService.d.ts +0 -91
  280. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  281. package/dist/src/services/AuthenticationService.js +0 -322
  282. package/dist/src/services/AuthenticationService.js.map +0 -1
  283. package/dist/src/services/PKCE.d.ts +0 -20
  284. package/dist/src/services/PKCE.d.ts.map +0 -1
  285. package/dist/src/services/PKCE.js +0 -44
  286. package/dist/src/services/PKCE.js.map +0 -1
  287. package/dist/src/services/types.d.ts +0 -24
  288. package/dist/src/services/types.d.ts.map +0 -1
  289. package/dist/src/services/types.js +0 -7
  290. package/dist/src/services/types.js.map +0 -1
  291. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  292. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  293. package/dist/src/shared/components/BlockDisplay.js +0 -25
  294. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  295. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  296. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  297. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  298. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  299. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  300. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  301. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  302. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  303. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  304. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  305. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  306. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  307. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  308. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  309. package/dist/src/shared/components/CloseIcon.js +0 -6
  310. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  311. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  312. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  313. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  314. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  315. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  316. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  317. package/dist/src/shared/components/LoadingIcon.js +0 -30
  318. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  319. package/dist/src/shared/hooks/index.d.ts +0 -11
  320. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  321. package/dist/src/shared/hooks/index.js +0 -11
  322. package/dist/src/shared/hooks/index.js.map +0 -1
  323. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  324. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  325. package/dist/src/shared/hooks/useAuth.js +0 -12
  326. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  327. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  328. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  329. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  330. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  331. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  332. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  333. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  334. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  335. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  336. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  337. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  338. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  339. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  340. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  341. package/dist/src/shared/hooks/useIframe.js +0 -13
  342. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  343. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  344. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  345. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  346. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  347. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  348. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  349. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  350. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  351. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  352. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  353. package/dist/src/shared/hooks/useRefresh.js +0 -38
  354. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  355. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  356. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  357. package/dist/src/shared/hooks/useSession.js +0 -13
  358. package/dist/src/shared/hooks/useSession.js.map +0 -1
  359. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  360. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  361. package/dist/src/shared/hooks/useSignIn.js +0 -126
  362. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  363. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  364. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  365. package/dist/src/shared/hooks/useToken.js +0 -12
  366. package/dist/src/shared/hooks/useToken.js.map +0 -1
  367. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  368. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  369. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  370. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  371. package/dist/src/shared/index.d.ts +0 -5
  372. package/dist/src/shared/index.d.ts.map +0 -1
  373. package/dist/src/shared/index.js +0 -16
  374. package/dist/src/shared/index.js.map +0 -1
  375. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  376. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  377. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  378. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  379. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  380. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  381. package/dist/src/shared/lib/UserSession.js +0 -20
  382. package/dist/src/shared/lib/UserSession.js.map +0 -1
  383. package/dist/src/shared/lib/session.d.ts +0 -3
  384. package/dist/src/shared/lib/session.d.ts.map +0 -1
  385. package/dist/src/shared/lib/session.js +0 -21
  386. package/dist/src/shared/lib/session.js.map +0 -1
  387. package/dist/src/shared/lib/storage.d.ts +0 -25
  388. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  389. package/dist/src/shared/lib/storage.js +0 -17
  390. package/dist/src/shared/lib/storage.js.map +0 -1
  391. package/dist/src/shared/lib/types.d.ts +0 -36
  392. package/dist/src/shared/lib/types.d.ts.map +0 -1
  393. package/dist/src/shared/lib/types.js +0 -18
  394. package/dist/src/shared/lib/types.js.map +0 -1
  395. package/dist/src/shared/lib/util.d.ts +0 -34
  396. package/dist/src/shared/lib/util.d.ts.map +0 -1
  397. package/dist/src/shared/lib/util.js +0 -137
  398. package/dist/src/shared/lib/util.js.map +0 -1
  399. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  400. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  401. package/dist/src/shared/providers/AuthContext.js +0 -3
  402. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  403. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  404. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  405. package/dist/src/shared/providers/AuthProvider.js +0 -72
  406. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  407. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  408. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  409. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  410. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  411. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  412. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  413. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  414. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  415. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  416. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  417. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  418. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  419. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  420. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  421. package/dist/src/shared/providers/IframeProvider.js +0 -35
  422. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  423. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  424. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  425. package/dist/src/shared/providers/SessionProvider.js +0 -23
  426. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  427. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  428. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  429. package/dist/src/shared/providers/TokenProvider.js +0 -42
  430. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  431. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  432. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  433. package/dist/src/shared/providers/UserProvider.js +0 -52
  434. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  435. package/dist/src/shared/providers/types.d.ts +0 -15
  436. package/dist/src/shared/providers/types.d.ts.map +0 -1
  437. package/dist/src/shared/providers/types.js +0 -2
  438. package/dist/src/shared/providers/types.js.map +0 -1
  439. package/dist/src/shared/version.d.ts +0 -2
  440. package/dist/src/shared/version.d.ts.map +0 -1
  441. package/dist/src/shared/version.js +0 -3
  442. package/dist/src/shared/version.js.map +0 -1
  443. package/dist/src/types.d.ts +0 -148
  444. package/dist/src/types.d.ts.map +0 -1
  445. package/dist/src/types.js +0 -4
  446. package/dist/src/types.js.map +0 -1
  447. package/dist/src/utils.d.ts +0 -15
  448. package/dist/src/utils.d.ts.map +0 -1
  449. package/dist/src/utils.js +0 -43
  450. package/dist/src/utils.js.map +0 -1
  451. package/dist/src/version.d.ts +0 -2
  452. package/dist/src/version.d.ts.map +0 -1
  453. package/dist/src/version.js +0 -3
  454. package/dist/src/version.js.map +0 -1
  455. package/dist/test/integration/sdk.test.d.ts +0 -2
  456. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  457. package/dist/test/integration/sdk.test.js +0 -237
  458. package/dist/test/integration/sdk.test.js.map +0 -1
  459. package/dist/test/support/fixtures.d.ts +0 -26
  460. package/dist/test/support/fixtures.d.ts.map +0 -1
  461. package/dist/test/support/fixtures.js +0 -55
  462. package/dist/test/support/fixtures.js.map +0 -1
  463. package/dist/test/support/tokens.json +0 -26
  464. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  465. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  466. package/dist/test/unit/lib/oauth.test.js +0 -56
  467. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  468. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  469. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  470. package/dist/test/unit/lib/obj.test.js +0 -37
  471. package/dist/test/unit/lib/obj.test.js.map +0 -1
  472. package/dist/test/unit/logger.test.d.ts +0 -2
  473. package/dist/test/unit/logger.test.d.ts.map +0 -1
  474. package/dist/test/unit/logger.test.js +0 -141
  475. package/dist/test/unit/logger.test.js.map +0 -1
  476. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  477. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  478. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  479. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  480. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  481. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  482. package/dist/test/unit/nextjs/config.test.js +0 -203
  483. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  484. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  485. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  486. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  487. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  488. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  489. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  490. package/dist/test/unit/nextjs/handler.test.js +0 -207
  491. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  492. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  493. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  494. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  495. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  496. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  497. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  498. package/dist/test/unit/nextjs/utils.test.js +0 -13
  499. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  500. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  501. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  502. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  503. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  504. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  505. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  506. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  507. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  508. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  509. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  510. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  511. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  512. package/dist/test/unit/server/login.test.d.ts +0 -2
  513. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  514. package/dist/test/unit/server/login.test.js +0 -184
  515. package/dist/test/unit/server/login.test.js.map +0 -1
  516. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  517. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  518. package/dist/test/unit/server/refresh.test.js +0 -55
  519. package/dist/test/unit/server/refresh.test.js.map +0 -1
  520. package/dist/test/unit/server/session.test.d.ts +0 -2
  521. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  522. package/dist/test/unit/server/session.test.js +0 -41
  523. package/dist/test/unit/server/session.test.js.map +0 -1
  524. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  525. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  526. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  527. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  528. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  529. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  530. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  531. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  532. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  533. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  534. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  535. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  536. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  537. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  538. package/dist/test/unit/shared/UserSession.test.js +0 -37
  539. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  540. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  541. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  542. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  543. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  544. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  545. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  546. package/dist/test/unit/shared/printVersion.test.js +0 -39
  547. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  548. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  549. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  550. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  551. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  552. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  553. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  554. package/dist/test/unit/shared/storage.test.js +0 -53
  555. package/dist/test/unit/shared/storage.test.js.map +0 -1
  556. package/dist/test/unit/utils.test.d.ts +0 -2
  557. package/dist/test/unit/utils.test.d.ts.map +0 -1
  558. package/dist/test/unit/utils.test.js +0 -40
  559. package/dist/test/unit/utils.test.js.map +0 -1
  560. package/dist/tsconfig.tsbuildinfo +0 -1
  561. package/dist/vitest.config.d.ts +0 -3
  562. package/dist/vitest.config.d.ts.map +0 -1
  563. package/dist/vitest.config.js +0 -44
  564. package/dist/vitest.config.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SessionData, UnknownObject, User } from \"@/types.js\";\nimport type { AuthConfig } from \"@/nextjs/config.js\";\nimport { cookies } from \"next/headers.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\nimport { clearTokens } from \"@/shared/lib/util.js\";\nimport type {\n CodeVerifier,\n CookieConfig,\n OAuthTokens,\n TokensCookieConfig,\n} from \"@/shared/lib/types.js\";\nimport {\n CookieStorage,\n type CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\n\n/**\n * Creates HTTP-only cookies for authentication tokens\n */\nconst createTokenCookies = (\n response: Response,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n const maxAge = sessionData.expiresIn ?? 3600;\n const cookieOptions = {\n ...config.cookies?.tokens,\n maxAge,\n };\n\n if (sessionData.accessToken) {\n setCookie(response, \"access_token\", sessionData.accessToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.idToken) {\n setCookie(response, \"id_token\", sessionData.idToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.refreshToken) {\n setCookie(response, \"refresh_token\", sessionData.refreshToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n};\n\nconst setCookie = (\n response: Response,\n key: string,\n value: string,\n cookieData: CookieConfig,\n) => {\n response.headers.set(\n \"Set-Cookie\",\n `${key}=${value}; Path=${cookieData.path}; Domain=${cookieData.domain}; Max-Age=${cookieData.maxAge}; Secure; HttpOnly; SameSite=${cookieData.sameSite}`,\n );\n};\n\n/**\n * Creates a client-readable cookie with user info\n */\nconst createUserInfoCookie = (\n response: Response,\n user: User<UnknownObject> | null,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n if (!user) {\n // unset the \"user\" cookie\n setCookie(response, \"user\", \"\", {\n ...config.cookies?.user,\n maxAge: 0,\n });\n return;\n }\n const maxAge = sessionData.expiresIn ?? 3600;\n\n // TODO select fields to include in the user cookie\n const frontendUser = {\n ...user,\n };\n\n // TODO make call to get user info from the\n // auth server /userinfo endpoint when it's available\n // then add to the default claims above\n\n setCookie(response, \"user\", JSON.stringify(frontendUser), {\n ...config.cookies?.user,\n maxAge,\n });\n};\n\n/**\n * Clears all authentication cookies\n */\nconst clearAuthCookies = async (config: AuthConfig) => {\n // clear session, and tokens\n const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens);\n await clearTokens(cookieStorage);\n\n // clear user\n const clientStorage = new NextjsClientStorage();\n const userSession = new GenericUserSession(clientStorage);\n await userSession.set(null);\n};\n\ntype KeySetter = OAuthTokens | CodeVerifier;\nclass NextjsCookieStorage extends CookieStorage {\n constructor(readonly config: Partial<TokensCookieConfig> = {}) {\n super({\n secure: true,\n httpOnly: true,\n });\n }\n\n async get(key: string): Promise<string | null> {\n const cookieStore = await cookies();\n return cookieStore.get(key)?.value || null;\n }\n\n async set(key: KeySetter, value: string): Promise<void> {\n const cookieStore = await cookies();\n const cookieSettings = this.config?.[key as KeySetter] || {\n ...this.settings,\n };\n cookieStore.set(key, value, cookieSettings);\n }\n}\n\nclass NextjsClientStorage extends CookieStorage {\n constructor(config: Partial<CookieStorageSettings> = {}) {\n super({\n ...config,\n secure: false,\n httpOnly: false,\n });\n }\n\n async get(key: string): Promise<string | null> {\n const cookieStore = await cookies();\n return cookieStore.get(key)?.value || null;\n }\n\n async set(key: string, value: string): Promise<void> {\n const cookieStore = await cookies();\n cookieStore.set(key, value, this.settings);\n }\n}\n\nexport {\n createTokenCookies,\n createUserInfoCookie,\n clearAuthCookies,\n NextjsCookieStorage,\n NextjsClientStorage,\n};\n"]}
@@ -1,2 +0,0 @@
1
- export { useUserCookie } from "@/nextjs/hooks/useUserCookie.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,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,2 +0,0 @@
1
- export { useUserCookie } from "@/nextjs/hooks/useUserCookie.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,aAAa,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export { useUserCookie } from \"@/nextjs/hooks/useUserCookie.js\";\n"]}
@@ -1,2 +0,0 @@
1
- export declare function usePrevious<T>(value: T): T | undefined;
2
- //# sourceMappingURL=usePrevious.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/hooks/usePrevious.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,iBAMtC"}
@@ -1,9 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- export function usePrevious(value) {
3
- const ref = useRef();
4
- useEffect(() => {
5
- ref.current = value;
6
- }, [value]);
7
- return ref.current;
8
- }
9
- //# sourceMappingURL=usePrevious.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePrevious.js","sourceRoot":"","sources":["../../../../src/nextjs/hooks/usePrevious.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,UAAU,WAAW,CAAI,KAAQ;IACrC,MAAM,GAAG,GAAG,MAAM,EAAK,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC","sourcesContent":["import { useEffect, useRef } from \"react\";\n\nexport function usePrevious<T>(value: T) {\n const ref = useRef<T>();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n"]}
@@ -1,8 +0,0 @@
1
- import type { EmptyObject, User } from "@/types.js";
2
- export declare const useUserCookie: <T extends EmptyObject>() => {
3
- user: User<T> | null;
4
- idToken: string | undefined;
5
- fetchUser: (abortController?: AbortController) => Promise<void>;
6
- isPending: boolean;
7
- };
8
- //# sourceMappingURL=useUserCookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUserCookie.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/hooks/useUserCookie.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAwBpD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,WAAW;;;kCAatB,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC;;CAoE3D,CAAC"}
@@ -1,88 +0,0 @@
1
- "use client";
2
- import { useCallback, useEffect, useRef, useState } from "react";
3
- import { useRouter } from "next/navigation.js";
4
- import { getWindowCookieValue } from "@/lib/cookies.js";
5
- import { OAuthTokens, UserStorage } from "@/shared/lib/types.js";
6
- import { usePrevious } from "./usePrevious.js";
7
- import { useTransition } from "react";
8
- import { objectsAreEqual } from "@/lib/obj.js";
9
- const getUserAndTokenFromCookie = () => getWindowCookieValue([
10
- {
11
- key: UserStorage.USER,
12
- window: globalThis.window,
13
- parseJson: true,
14
- },
15
- {
16
- key: OAuthTokens.ID_TOKEN,
17
- window: globalThis.window,
18
- parseJson: false,
19
- },
20
- ]);
21
- export const useUserCookie = () => {
22
- const [user, setUser] = useState(null);
23
- const [idToken, setIdToken] = useState();
24
- const [userChanged, setUserChanged] = useState(false);
25
- const hasRunRef = useRef(false);
26
- const [isPending, startTransition] = useTransition();
27
- const router = useRouter();
28
- const prevUser = usePrevious(user);
29
- const prevPending = usePrevious(isPending);
30
- const fetchUser = useCallback(async (abortController) => {
31
- if (abortController?.signal.aborted)
32
- return;
33
- const response = getUserAndTokenFromCookie() || {};
34
- const userData = response[UserStorage.USER];
35
- const tokenData = response[OAuthTokens.ID_TOKEN];
36
- if (abortController?.signal.aborted)
37
- return;
38
- setIdToken(tokenData);
39
- setUser(userData || null);
40
- }, []);
41
- // call fetch immediately after a refresh
42
- useEffect(() => {
43
- setUserChanged(false);
44
- if (prevPending && !isPending) {
45
- fetchUser();
46
- }
47
- }, [prevPending, isPending, fetchUser]);
48
- useEffect(() => {
49
- if (!objectsAreEqual(prevUser, user)) {
50
- setUserChanged(true);
51
- }
52
- }, [user, prevUser]);
53
- useEffect(() => {
54
- let abortController = new AbortController();
55
- const cookieListener = () => {
56
- abortController = new AbortController();
57
- fetchUser(abortController);
58
- };
59
- document.addEventListener("visibilitychange", cookieListener);
60
- window.addEventListener("storage", cookieListener);
61
- window.addEventListener("focus", cookieListener);
62
- fetchUser(abortController);
63
- const intervalId = setInterval(cookieListener, 2000);
64
- return () => {
65
- abortController.abort();
66
- document.removeEventListener("visibilitychange", cookieListener);
67
- window.removeEventListener("storage", cookieListener);
68
- window.removeEventListener("focus", cookieListener);
69
- clearInterval(intervalId);
70
- };
71
- }, [fetchUser]);
72
- useEffect(() => {
73
- if (userChanged) {
74
- if (!hasRunRef.current) {
75
- hasRunRef.current = true;
76
- startTransition(() => {
77
- router.refresh();
78
- });
79
- }
80
- }
81
- else {
82
- hasRunRef.current = false;
83
- }
84
- // eslint-disable-next-line react-hooks/exhaustive-deps
85
- }, [userChanged]);
86
- return { user, idToken, fetchUser, isPending };
87
- };
88
- //# 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,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAM/C,MAAM,yBAAyB,GAAG,GAA2B,EAAE,CAC7D,oBAAoB,CAAC;IACnB;QACE,GAAG,EAAE,WAAW,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,IAAI;KAChB;IACD;QACE,GAAG,EAAE,WAAW,CAAC,QAAQ;QACzB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,KAAK;KACjB;CACF,CAA2B,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,GAA0B,EAAE;IACvD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,aAAa,EAAE,CAAC;IAErD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EAAE,eAAiC,EAAiB,EAAE;QACzD,IAAI,eAAe,EAAE,MAAM,CAAC,OAAO;YAAE,OAAO;QAE5C,MAAM,QAAQ,GAAG,yBAAyB,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAY,CAAC;QACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,eAAe,EAAE,MAAM,CAAC,OAAO;YAAE,OAAO;QAE5C,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC5B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YACxC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEjD,SAAS,CAAC,eAAe,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAErD,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACtD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACpD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,eAAe,CAAC,GAAG,EAAE;oBACnB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACjD,CAAC,CAAC","sourcesContent":["\"use client\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useRouter } from \"next/navigation.js\";\nimport { getWindowCookieValue } from \"@/lib/cookies.js\";\nimport type { EmptyObject, User } from \"@/types.js\";\nimport { OAuthTokens, UserStorage } from \"@/shared/lib/types.js\";\nimport { usePrevious } from \"./usePrevious.js\";\nimport { useTransition } from \"react\";\nimport { objectsAreEqual } from \"@/lib/obj.js\";\n\ntype UserAndTokenFromCookie = {\n [UserStorage.USER]: User | undefined;\n [OAuthTokens.ID_TOKEN]: string | undefined;\n};\nconst getUserAndTokenFromCookie = (): UserAndTokenFromCookie =>\n getWindowCookieValue([\n {\n key: UserStorage.USER,\n window: globalThis.window,\n parseJson: true,\n },\n {\n key: OAuthTokens.ID_TOKEN,\n window: globalThis.window,\n parseJson: false,\n },\n ]) as UserAndTokenFromCookie;\n\nexport const useUserCookie = <T extends EmptyObject>() => {\n const [user, setUser] = useState<User<T> | null>(null);\n const [idToken, setIdToken] = useState<string | undefined>();\n const [userChanged, setUserChanged] = useState<boolean>(false);\n const hasRunRef = useRef(false);\n const [isPending, startTransition] = useTransition();\n\n const router = useRouter();\n\n const prevUser = usePrevious(user);\n const prevPending = usePrevious(isPending);\n\n const fetchUser = useCallback(\n async (abortController?: AbortController): Promise<void> => {\n if (abortController?.signal.aborted) return;\n\n const response = getUserAndTokenFromCookie() || {};\n const userData = response[UserStorage.USER] as User<T>;\n const tokenData = response[OAuthTokens.ID_TOKEN];\n\n if (abortController?.signal.aborted) return;\n\n setIdToken(tokenData);\n setUser(userData || null);\n },\n [],\n );\n\n // call fetch immediately after a refresh\n useEffect(() => {\n setUserChanged(false);\n if (prevPending && !isPending) {\n fetchUser();\n }\n }, [prevPending, isPending, fetchUser]);\n\n useEffect(() => {\n if (!objectsAreEqual(prevUser, user)) {\n setUserChanged(true);\n }\n }, [user, prevUser]);\n\n useEffect(() => {\n let abortController = new AbortController();\n const cookieListener = () => {\n abortController = new AbortController();\n fetchUser(abortController);\n };\n\n document.addEventListener(\"visibilitychange\", cookieListener);\n window.addEventListener(\"storage\", cookieListener);\n window.addEventListener(\"focus\", cookieListener);\n\n fetchUser(abortController);\n\n const intervalId = setInterval(cookieListener, 2000);\n\n return () => {\n abortController.abort();\n document.removeEventListener(\"visibilitychange\", cookieListener);\n window.removeEventListener(\"storage\", cookieListener);\n window.removeEventListener(\"focus\", cookieListener);\n clearInterval(intervalId);\n };\n }, [fetchUser]);\n\n useEffect(() => {\n if (userChanged) {\n if (!hasRunRef.current) {\n hasRunRef.current = true;\n startTransition(() => {\n router.refresh();\n });\n }\n } else {\n hasRunRef.current = false;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userChanged]);\n\n return { user, idToken, fetchUser, isPending };\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":"AAEA,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,8 +0,0 @@
1
- import { printVersion } from "@/shared/index.js";
2
- printVersion();
3
- export { createCivicAuthPlugin } from "@/nextjs/config.js";
4
- export { getUser } from "@/nextjs/GetUser.js";
5
- export { handler } from "@/nextjs/routeHandler.js";
6
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, } from "@/nextjs/cookies.js";
7
- export { CivicNextAuthProvider as CivicAuthProvider, } from "@/nextjs/providers/NextAuthProvider.js";
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nextjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,CAAC;AACf,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":["import { printVersion } from \"@/shared/index.js\";\nprintVersion();\nexport { 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":"AAEA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { printVersion } from "@/shared/index.js";
2
- printVersion();
3
- export { authMiddleware, auth, withAuth } from "@/nextjs/middleware.js";
4
- //# 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,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,CAAC;AACf,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["import { printVersion } from \"@/shared/index.js\";\nprintVersion();\nexport { 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,13 +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 AuthConfigWithDefaults } from "@/nextjs/config.js";
6
- import type { AuthProviderProps } from "@/shared/providers/types.js";
7
- type NextCivicAuthProviderInternalProps = Omit<AuthProviderProps, "clientId"> & {
8
- resolvedConfig: AuthConfigWithDefaults;
9
- };
10
- type NextCivicAuthProviderProps = Omit<NextCivicAuthProviderInternalProps, "clientId" | "resolvedConfig" | "redirectUrl">;
11
- declare const CivicNextAuthProvider: ({ children, ...props }: NextCivicAuthProviderProps) => React.JSX.Element;
12
- export { CivicNextAuthProvider, type NextCivicAuthProviderProps };
13
- //# 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,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAWrE,KAAK,kCAAkC,GAAG,IAAI,CAC5C,iBAAiB,EACjB,UAAU,CACX,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC;CACxC,CAAC;AACF,KAAK,0BAA0B,GAAG,IAAI,CACpC,kCAAkC,EAClC,UAAU,GAAG,gBAAgB,GAAG,aAAa,CAC9C,CAAC;AA2GF,QAAA,MAAM,qBAAqB,2BAGxB,0BAA0B,sBAwC5B,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
@@ -1,94 +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, { useCallback, useEffect, useState } from "react";
6
- import { resolveAuthConfig, } from "@/nextjs/config.js";
7
- import { resolveCallbackUrl } from "@/nextjs/utils.js";
8
- import { ConfidentialClientPKCEConsumer } from "@/services/PKCE.js";
9
- import { NextjsClientStorage } from "@/nextjs/cookies.js";
10
- import { UserProvider } from "@/shared/providers/UserProvider.js";
11
- import { useUserCookie } from "@/nextjs/hooks/useUserCookie.js";
12
- import { CivicAuthConfigProvider } from "@/shared/providers/CivicAuthConfigContext.js";
13
- import { SessionProvider } from "@/shared/providers/SessionProvider.js";
14
- import { IframeProvider } from "@/shared/providers/IframeProvider.js";
15
- import { TokenProvider } from "@/shared/providers/TokenProvider.js";
16
- import { useSignIn } from "@/shared/hooks/useSignIn.js";
17
- import { useCivicAuthConfig } from "@/shared/hooks/useCivicAuthConfig.js";
18
- import { IFrameAndLoading } from "@/shared/components/IFrameAndLoading.js";
19
- import { BlockDisplay } from "@/shared/components/BlockDisplay.js";
20
- import { LoadingIcon } from "@/shared/components/LoadingIcon.js";
21
- import { useIframe } from "@/shared/hooks/useIframe.js";
22
- import { useSession } from "@/reactjs/index.js";
23
- import { useIsInIframe } from "@/shared/hooks/useIsInIframe.js";
24
- const CivicNextAuthTokenProviderInternal = ({ children, isLoading, displayMode = "iframe", user, fetchUser, ...props }) => {
25
- const { iframeMode, resolvedConfig } = props;
26
- const { iframeRef, setLogoutIframeIsVisible } = useIframe();
27
- const civicAuthConfig = useCivicAuthConfig();
28
- const { challengeUrl } = resolvedConfig;
29
- const pkceConsumer = new ConfidentialClientPKCEConsumer(challengeUrl);
30
- const [isSigningOut, setIsSigningOut] = useState(false);
31
- const { data: session } = useSession();
32
- const postSignOut = useCallback(async () => {
33
- setIsSigningOut(true);
34
- // user is signed out, manually update the user from cookies to not wait for polling
35
- await fetchUser();
36
- await props?.onSignOut?.();
37
- }, [fetchUser, props]);
38
- useEffect(() => {
39
- if (!session?.authenticated) {
40
- setIsSigningOut(false);
41
- }
42
- }, [session?.authenticated]);
43
- useEffect(() => {
44
- setLogoutIframeIsVisible(isSigningOut);
45
- }, [isSigningOut, setLogoutIframeIsVisible]);
46
- const { signIn, signOut } = useSignIn({
47
- postSignOut,
48
- pkceConsumer,
49
- displayMode,
50
- });
51
- useEffect(() => {
52
- if (iframeMode === "embedded" &&
53
- civicAuthConfig &&
54
- !session?.authenticated &&
55
- iframeRef?.current) {
56
- signIn();
57
- }
58
- }, [iframeMode, civicAuthConfig, session?.authenticated, iframeRef, signIn]);
59
- return (React.createElement(TokenProvider, null,
60
- React.createElement(UserProvider, { storage: new NextjsClientStorage(), user: user, signOut: signOut, signIn: signIn, displayMode: displayMode },
61
- React.createElement(IFrameAndLoading, { error: null, isLoading: isLoading, showIframeOnLogout: true }),
62
- isLoading && (React.createElement(BlockDisplay, null,
63
- React.createElement(LoadingIcon, null))),
64
- children)));
65
- };
66
- const CivicNextAuthProviderInternal = ({ children, ...props }) => {
67
- const isInIframe = useIsInIframe();
68
- // if the SDK loads in an iframe, we show the loading spinner as the iframe
69
- // will be waiting to be minimized
70
- const isLoading = isInIframe;
71
- const { user, idToken, fetchUser, isPending } = useUserCookie();
72
- const session = {
73
- authenticated: !!user,
74
- idToken,
75
- };
76
- return (React.createElement(SessionProvider, { data: session, isLoading: isLoading },
77
- React.createElement(CivicNextAuthTokenProviderInternal, { ...props, user: user, idToken: idToken, fetchUser: fetchUser, isLoading: isLoading || isPending }, children)));
78
- };
79
- const CivicNextAuthProvider = ({ children, ...props }) => {
80
- const resolvedConfig = resolveAuthConfig();
81
- const { clientId, oauthServer, callbackUrl, challengeUrl, logoutUrl, logoutCallbackUrl, } = resolvedConfig;
82
- const [redirectUrl, setRedirectUrl] = useState("");
83
- useEffect(() => {
84
- if (typeof globalThis.window !== "undefined") {
85
- const appUrl = globalThis.window.location.origin;
86
- setRedirectUrl(resolveCallbackUrl(resolvedConfig, appUrl));
87
- }
88
- }, [callbackUrl, resolvedConfig]);
89
- return (React.createElement(CivicAuthConfigProvider, { oauthServer: oauthServer, clientId: clientId, redirectUrl: redirectUrl, logoutRedirectUrl: logoutCallbackUrl, nonce: props?.nonce, challengeUrl: challengeUrl, logoutUrl: logoutUrl, logoutCallbackUrl: logoutCallbackUrl },
90
- React.createElement(IframeProvider, { iframeMode: props.iframeMode },
91
- React.createElement(CivicNextAuthProviderInternal, { ...props, resolvedConfig: resolvedConfig }, children))));
92
- };
93
- export { CivicNextAuthProvider };
94
- //# sourceMappingURL=NextAuthProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NextAuthProvider.js","sourceRoot":"","sources":["../../../../src/nextjs/providers/NextAuthProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n/**\n * A very small context provider for the user object - it takes the user object from the cookie and provides it to the app.\n */\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport {\n resolveAuthConfig,\n type AuthConfigWithDefaults,\n} from \"@/nextjs/config.js\";\nimport { resolveCallbackUrl } from \"@/nextjs/utils.js\";\nimport { ConfidentialClientPKCEConsumer } from \"@/services/PKCE.js\";\nimport { NextjsClientStorage } from \"@/nextjs/cookies.js\";\nimport { UserProvider } from \"@/shared/providers/UserProvider.js\";\nimport { useUserCookie } from \"@/nextjs/hooks/useUserCookie.js\";\nimport { CivicAuthConfigProvider } from \"@/shared/providers/CivicAuthConfigContext.js\";\nimport { SessionProvider } from \"@/shared/providers/SessionProvider.js\";\nimport { IframeProvider } from \"@/shared/providers/IframeProvider.js\";\nimport { TokenProvider } from \"@/shared/providers/TokenProvider.js\";\nimport { useSignIn } from \"@/shared/hooks/useSignIn.js\";\nimport { useCivicAuthConfig } from \"@/shared/hooks/useCivicAuthConfig.js\";\nimport { IFrameAndLoading } from \"@/shared/components/IFrameAndLoading.js\";\nimport { BlockDisplay } from \"@/shared/components/BlockDisplay.js\";\nimport { LoadingIcon } from \"@/shared/components/LoadingIcon.js\";\nimport { useIframe } from \"@/shared/hooks/useIframe.js\";\nimport { useSession } from \"@/reactjs/index.js\";\nimport type { AuthProviderProps } from \"@/shared/providers/types.js\";\nimport { useIsInIframe } from \"@/shared/hooks/useIsInIframe.js\";\nimport type { User } from \"@/types.js\";\n\ntype CivicNextAuthTokenProviderInternalProps =\n NextCivicAuthProviderInternalProps & {\n isLoading: boolean;\n idToken?: string;\n user: User | null;\n fetchUser: () => Promise<void>;\n };\ntype NextCivicAuthProviderInternalProps = Omit<\n AuthProviderProps,\n \"clientId\"\n> & {\n resolvedConfig: AuthConfigWithDefaults;\n};\ntype NextCivicAuthProviderProps = Omit<\n NextCivicAuthProviderInternalProps,\n \"clientId\" | \"resolvedConfig\" | \"redirectUrl\"\n>;\n\nconst CivicNextAuthTokenProviderInternal = ({\n children,\n isLoading,\n displayMode = \"iframe\",\n user,\n fetchUser,\n ...props\n}: CivicNextAuthTokenProviderInternalProps) => {\n const { iframeMode, resolvedConfig } = props;\n const { iframeRef, setLogoutIframeIsVisible } = useIframe();\n const civicAuthConfig = useCivicAuthConfig();\n const { challengeUrl } = resolvedConfig;\n const pkceConsumer = new ConfidentialClientPKCEConsumer(challengeUrl);\n const [isSigningOut, setIsSigningOut] = useState(false);\n const { data: session } = useSession();\n\n const postSignOut = useCallback(async () => {\n setIsSigningOut(true);\n // user is signed out, manually update the user from cookies to not wait for polling\n await fetchUser();\n await props?.onSignOut?.();\n }, [fetchUser, props]);\n\n useEffect(() => {\n if (!session?.authenticated) {\n setIsSigningOut(false);\n }\n }, [session?.authenticated]);\n\n useEffect(() => {\n setLogoutIframeIsVisible(isSigningOut);\n }, [isSigningOut, setLogoutIframeIsVisible]);\n\n const { signIn, signOut } = useSignIn({\n postSignOut,\n pkceConsumer,\n displayMode,\n });\n\n useEffect(() => {\n if (\n iframeMode === \"embedded\" &&\n civicAuthConfig &&\n !session?.authenticated &&\n iframeRef?.current\n ) {\n signIn();\n }\n }, [iframeMode, civicAuthConfig, session?.authenticated, iframeRef, signIn]);\n\n return (\n <TokenProvider>\n <UserProvider\n storage={new NextjsClientStorage()}\n user={user}\n signOut={signOut}\n signIn={signIn}\n displayMode={displayMode}\n >\n <IFrameAndLoading\n error={null}\n isLoading={isLoading}\n showIframeOnLogout={true}\n />\n {isLoading && (\n <BlockDisplay>\n <LoadingIcon />\n </BlockDisplay>\n )}\n {children}\n </UserProvider>\n </TokenProvider>\n );\n};\n\nconst CivicNextAuthProviderInternal = ({\n children,\n ...props\n}: NextCivicAuthProviderInternalProps) => {\n const isInIframe = useIsInIframe();\n // if the SDK loads in an iframe, we show the loading spinner as the iframe\n // will be waiting to be minimized\n const isLoading = isInIframe;\n const { user, idToken, fetchUser, isPending } = useUserCookie();\n\n const session = {\n authenticated: !!user,\n idToken,\n };\n\n return (\n <SessionProvider data={session} isLoading={isLoading}>\n <CivicNextAuthTokenProviderInternal\n {...props}\n user={user}\n idToken={idToken}\n fetchUser={fetchUser}\n isLoading={isLoading || isPending}\n >\n {children}\n </CivicNextAuthTokenProviderInternal>\n </SessionProvider>\n );\n};\n\nconst CivicNextAuthProvider = ({\n children,\n ...props\n}: NextCivicAuthProviderProps) => {\n const resolvedConfig = resolveAuthConfig();\n const {\n clientId,\n oauthServer,\n callbackUrl,\n challengeUrl,\n logoutUrl,\n logoutCallbackUrl,\n } = resolvedConfig;\n const [redirectUrl, setRedirectUrl] = useState<string>(\"\");\n\n useEffect(() => {\n if (typeof globalThis.window !== \"undefined\") {\n const appUrl = globalThis.window.location.origin;\n setRedirectUrl(resolveCallbackUrl(resolvedConfig, appUrl));\n }\n }, [callbackUrl, resolvedConfig]);\n\n return (\n <CivicAuthConfigProvider\n oauthServer={oauthServer}\n clientId={clientId}\n redirectUrl={redirectUrl}\n logoutRedirectUrl={logoutCallbackUrl}\n nonce={props?.nonce}\n challengeUrl={challengeUrl}\n logoutUrl={logoutUrl}\n logoutCallbackUrl={logoutCallbackUrl}\n >\n <IframeProvider iframeMode={props.iframeMode}>\n <CivicNextAuthProviderInternal\n {...props}\n resolvedConfig={resolvedConfig}\n >\n {children}\n </CivicNextAuthProviderInternal>\n </IframeProvider>\n </CivicAuthConfigProvider>\n );\n};\n\nexport { CivicNextAuthProvider, type NextCivicAuthProviderProps };\n"]}
@@ -1,19 +0,0 @@
1
- import type { NextRequest } from "next/server.js";
2
- import { NextResponse } from "next/server.js";
3
- import type { AuthConfig } from "@/nextjs/config.js";
4
- export declare function handleLogout(request: NextRequest, config: AuthConfig): Promise<string>;
5
- export declare function handleLogoutCallback(request: NextRequest, config: AuthConfig): Promise<NextResponse>;
6
- /**
7
- * Creates an authentication handler for Next.js API routes
8
- *
9
- * Usage:
10
- * ```ts
11
- * // app/api/auth/[...civicauth]/route.ts
12
- * import { handler } from '@civic/auth/nextjs'
13
- * export const GET = handler({
14
- * // optional config overrides
15
- * })
16
- * ```
17
- */
18
- export declare const handler: (authConfig?: {}) => (request: NextRequest) => Promise<NextResponse>;
19
- //# sourceMappingURL=routeHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routeHandler.d.ts","sourceRoot":"","sources":["../../../src/nextjs/routeHandler.ts"],"names":[],"mappings":"AAAA,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;AAmRrD,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,CAAC,CA+DvB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,iCAEF,WAAW,KAAG,OAAO,CAAC,YAAY,CA0CjD,CAAC"}