@civic/auth 0.2.5 → 0.2.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/dist/cjs/browser/storage.d.ts +1 -0
  2. package/dist/cjs/browser/storage.d.ts.map +1 -1
  3. package/dist/cjs/browser/storage.js +3 -0
  4. package/dist/cjs/browser/storage.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -0
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +3 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/lib/logger.js +1 -1
  10. package/dist/cjs/lib/logger.js.map +1 -1
  11. package/dist/cjs/nextjs/cookies.d.ts +1 -0
  12. package/dist/cjs/nextjs/cookies.d.ts.map +1 -1
  13. package/dist/cjs/nextjs/cookies.js +6 -2
  14. package/dist/cjs/nextjs/cookies.js.map +1 -1
  15. package/dist/cjs/server/index.d.ts +3 -1
  16. package/dist/cjs/server/index.d.ts.map +1 -1
  17. package/dist/cjs/server/index.js +5 -2
  18. package/dist/cjs/server/index.js.map +1 -1
  19. package/dist/cjs/server/login.d.ts +0 -4
  20. package/dist/cjs/server/login.d.ts.map +1 -1
  21. package/dist/cjs/server/login.js +0 -20
  22. package/dist/cjs/server/login.js.map +1 -1
  23. package/dist/cjs/server/logout.d.ts +7 -0
  24. package/dist/cjs/server/logout.d.ts.map +1 -0
  25. package/dist/cjs/server/logout.js +26 -0
  26. package/dist/cjs/server/logout.js.map +1 -0
  27. package/dist/cjs/shared/index.d.ts +1 -0
  28. package/dist/cjs/shared/index.d.ts.map +1 -1
  29. package/dist/cjs/shared/index.js +3 -1
  30. package/dist/cjs/shared/index.js.map +1 -1
  31. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +1 -0
  32. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +1 -1
  33. package/dist/cjs/shared/lib/BrowserCookieStorage.js +3 -0
  34. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +1 -1
  35. package/dist/cjs/shared/lib/UserSession.d.ts +1 -0
  36. package/dist/cjs/shared/lib/UserSession.d.ts.map +1 -1
  37. package/dist/cjs/shared/lib/UserSession.js +3 -0
  38. package/dist/cjs/shared/lib/UserSession.js.map +1 -1
  39. package/dist/cjs/shared/lib/storage.d.ts +1 -0
  40. package/dist/cjs/shared/lib/storage.d.ts.map +1 -1
  41. package/dist/cjs/shared/lib/storage.js.map +1 -1
  42. package/dist/cjs/shared/lib/util.js +3 -3
  43. package/dist/cjs/shared/lib/util.js.map +1 -1
  44. package/dist/cjs/shared/version.d.ts +1 -1
  45. package/dist/cjs/shared/version.d.ts.map +1 -1
  46. package/dist/cjs/shared/version.js +1 -1
  47. package/dist/cjs/shared/version.js.map +1 -1
  48. package/dist/cjs/types.d.ts +1 -0
  49. package/dist/cjs/types.d.ts.map +1 -1
  50. package/dist/cjs/types.js.map +1 -1
  51. package/dist/esm/browser/storage.d.ts +1 -0
  52. package/dist/esm/browser/storage.d.ts.map +1 -1
  53. package/dist/esm/browser/storage.js +3 -0
  54. package/dist/esm/browser/storage.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -0
  56. package/dist/esm/index.d.ts.map +1 -1
  57. package/dist/esm/index.js +1 -0
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/lib/logger.js +1 -1
  60. package/dist/esm/lib/logger.js.map +1 -1
  61. package/dist/esm/nextjs/cookies.d.ts +1 -0
  62. package/dist/esm/nextjs/cookies.d.ts.map +1 -1
  63. package/dist/esm/nextjs/cookies.js +6 -2
  64. package/dist/esm/nextjs/cookies.js.map +1 -1
  65. package/dist/esm/server/index.d.ts +3 -1
  66. package/dist/esm/server/index.d.ts.map +1 -1
  67. package/dist/esm/server/index.js +3 -1
  68. package/dist/esm/server/index.js.map +1 -1
  69. package/dist/esm/server/login.d.ts +0 -4
  70. package/dist/esm/server/login.d.ts.map +1 -1
  71. package/dist/esm/server/login.js +0 -19
  72. package/dist/esm/server/login.js.map +1 -1
  73. package/dist/esm/server/logout.d.ts +7 -0
  74. package/dist/esm/server/logout.d.ts.map +1 -0
  75. package/dist/esm/server/logout.js +23 -0
  76. package/dist/esm/server/logout.js.map +1 -0
  77. package/dist/esm/shared/index.d.ts +1 -0
  78. package/dist/esm/shared/index.d.ts.map +1 -1
  79. package/dist/esm/shared/index.js +1 -0
  80. package/dist/esm/shared/index.js.map +1 -1
  81. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +1 -0
  82. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +1 -1
  83. package/dist/esm/shared/lib/BrowserCookieStorage.js +3 -0
  84. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +1 -1
  85. package/dist/esm/shared/lib/UserSession.d.ts +1 -0
  86. package/dist/esm/shared/lib/UserSession.d.ts.map +1 -1
  87. package/dist/esm/shared/lib/UserSession.js +3 -0
  88. package/dist/esm/shared/lib/UserSession.js.map +1 -1
  89. package/dist/esm/shared/lib/storage.d.ts +1 -0
  90. package/dist/esm/shared/lib/storage.d.ts.map +1 -1
  91. package/dist/esm/shared/lib/storage.js.map +1 -1
  92. package/dist/esm/shared/lib/util.js +3 -3
  93. package/dist/esm/shared/lib/util.js.map +1 -1
  94. package/dist/esm/shared/version.d.ts +1 -1
  95. package/dist/esm/shared/version.d.ts.map +1 -1
  96. package/dist/esm/shared/version.js +1 -1
  97. package/dist/esm/shared/version.js.map +1 -1
  98. package/dist/esm/types.d.ts +1 -0
  99. package/dist/esm/types.d.ts.map +1 -1
  100. package/dist/esm/types.js.map +1 -1
  101. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  102. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  103. package/package.json +18 -19
  104. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  105. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  106. package/dist/cjs/nextjs/GetUser.js +0 -11
  107. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  108. package/dist/cjs/reactjs/hooks/useAuth.d.ts +0 -3
  109. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  110. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  111. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  112. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  113. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  114. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  115. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  116. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  117. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  118. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  119. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  120. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  121. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  122. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  123. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  124. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  125. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  126. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  127. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  128. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  129. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  130. package/dist/esm/nextjs/GetUser.js +0 -7
  131. package/dist/esm/nextjs/GetUser.js.map +0 -1
  132. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  133. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  134. package/dist/esm/reactjs/hooks/useAuth.js +0 -12
  135. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  136. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  137. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  138. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  139. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  140. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  141. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  142. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  143. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  144. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  145. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  146. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  147. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  148. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  149. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  150. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  151. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  152. package/dist/generateVersion.d.ts +0 -2
  153. package/dist/generateVersion.d.ts.map +0 -1
  154. package/dist/generateVersion.js +0 -12
  155. package/dist/generateVersion.js.map +0 -1
  156. package/dist/package.json +0 -118
  157. package/dist/src/browser/storage.d.ts +0 -9
  158. package/dist/src/browser/storage.d.ts.map +0 -1
  159. package/dist/src/browser/storage.js +0 -17
  160. package/dist/src/browser/storage.js.map +0 -1
  161. package/dist/src/config.d.ts +0 -3
  162. package/dist/src/config.d.ts.map +0 -1
  163. package/dist/src/config.js +0 -5
  164. package/dist/src/config.js.map +0 -1
  165. package/dist/src/constants.d.ts +0 -8
  166. package/dist/src/constants.d.ts.map +0 -1
  167. package/dist/src/constants.js +0 -16
  168. package/dist/src/constants.js.map +0 -1
  169. package/dist/src/index.d.ts +0 -6
  170. package/dist/src/index.d.ts.map +0 -1
  171. package/dist/src/index.js +0 -4
  172. package/dist/src/index.js.map +0 -1
  173. package/dist/src/lib/cookies.d.ts +0 -7
  174. package/dist/src/lib/cookies.d.ts.map +0 -1
  175. package/dist/src/lib/cookies.js +0 -25
  176. package/dist/src/lib/cookies.js.map +0 -1
  177. package/dist/src/lib/jwt.d.ts +0 -3
  178. package/dist/src/lib/jwt.d.ts.map +0 -1
  179. package/dist/src/lib/jwt.js +0 -9
  180. package/dist/src/lib/jwt.js.map +0 -1
  181. package/dist/src/lib/logger.d.ts +0 -26
  182. package/dist/src/lib/logger.d.ts.map +0 -1
  183. package/dist/src/lib/logger.js +0 -55
  184. package/dist/src/lib/logger.js.map +0 -1
  185. package/dist/src/lib/oauth.d.ts +0 -19
  186. package/dist/src/lib/oauth.d.ts.map +0 -1
  187. package/dist/src/lib/oauth.js +0 -61
  188. package/dist/src/lib/oauth.js.map +0 -1
  189. package/dist/src/lib/obj.d.ts +0 -3
  190. package/dist/src/lib/obj.d.ts.map +0 -1
  191. package/dist/src/lib/obj.js +0 -18
  192. package/dist/src/lib/obj.js.map +0 -1
  193. package/dist/src/lib/postMessage.d.ts +0 -4
  194. package/dist/src/lib/postMessage.d.ts.map +0 -1
  195. package/dist/src/lib/postMessage.js +0 -15
  196. package/dist/src/lib/postMessage.js.map +0 -1
  197. package/dist/src/lib/windowUtil.d.ts +0 -4
  198. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  199. package/dist/src/lib/windowUtil.js +0 -31
  200. package/dist/src/lib/windowUtil.js.map +0 -1
  201. package/dist/src/nextjs/GetUser.d.ts +0 -6
  202. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  203. package/dist/src/nextjs/GetUser.js +0 -7
  204. package/dist/src/nextjs/GetUser.js.map +0 -1
  205. package/dist/src/nextjs/config.d.ts +0 -181
  206. package/dist/src/nextjs/config.d.ts.map +0 -1
  207. package/dist/src/nextjs/config.js +0 -177
  208. package/dist/src/nextjs/config.js.map +0 -1
  209. package/dist/src/nextjs/cookies.d.ts +0 -30
  210. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  211. package/dist/src/nextjs/cookies.js +0 -112
  212. package/dist/src/nextjs/cookies.js.map +0 -1
  213. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  214. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  215. package/dist/src/nextjs/hooks/index.js +0 -2
  216. package/dist/src/nextjs/hooks/index.js.map +0 -1
  217. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  218. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  219. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  220. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  221. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  222. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  223. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  224. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  225. package/dist/src/nextjs/index.d.ts +0 -7
  226. package/dist/src/nextjs/index.d.ts.map +0 -1
  227. package/dist/src/nextjs/index.js +0 -8
  228. package/dist/src/nextjs/index.js.map +0 -1
  229. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  230. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  231. package/dist/src/nextjs/middleware/index.js +0 -4
  232. package/dist/src/nextjs/middleware/index.js.map +0 -1
  233. package/dist/src/nextjs/middleware.d.ts +0 -59
  234. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  235. package/dist/src/nextjs/middleware.js +0 -107
  236. package/dist/src/nextjs/middleware.js.map +0 -1
  237. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  238. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  239. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  240. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  241. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  242. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  243. package/dist/src/nextjs/routeHandler.js +0 -309
  244. package/dist/src/nextjs/routeHandler.js.map +0 -1
  245. package/dist/src/nextjs/utils.d.ts +0 -3
  246. package/dist/src/nextjs/utils.d.ts.map +0 -1
  247. package/dist/src/nextjs/utils.js +0 -5
  248. package/dist/src/nextjs/utils.js.map +0 -1
  249. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  250. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  251. package/dist/src/reactjs/components/SignInButton.js +0 -14
  252. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  253. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  254. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  255. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  256. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  257. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  258. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  259. package/dist/src/reactjs/components/UserButton.js +0 -118
  260. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  261. package/dist/src/reactjs/components/index.d.ts +0 -6
  262. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  263. package/dist/src/reactjs/components/index.js +0 -6
  264. package/dist/src/reactjs/components/index.js.map +0 -1
  265. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  266. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  267. package/dist/src/reactjs/hooks/index.js +0 -6
  268. package/dist/src/reactjs/hooks/index.js.map +0 -1
  269. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  270. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  271. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  272. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  273. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  274. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  275. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  276. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  277. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  278. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  279. package/dist/src/reactjs/hooks/useUser.js +0 -12
  280. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  281. package/dist/src/reactjs/index.d.ts +0 -6
  282. package/dist/src/reactjs/index.d.ts.map +0 -1
  283. package/dist/src/reactjs/index.js +0 -10
  284. package/dist/src/reactjs/index.js.map +0 -1
  285. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  286. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  287. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  288. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  289. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  290. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  291. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  292. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  293. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  294. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  295. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  296. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  297. package/dist/src/reactjs/providers/index.d.ts +0 -8
  298. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  299. package/dist/src/reactjs/providers/index.js +0 -7
  300. package/dist/src/reactjs/providers/index.js.map +0 -1
  301. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  302. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  303. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  304. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  305. package/dist/src/server/config.d.ts +0 -10
  306. package/dist/src/server/config.d.ts.map +0 -1
  307. package/dist/src/server/config.js +0 -2
  308. package/dist/src/server/config.js.map +0 -1
  309. package/dist/src/server/index.d.ts +0 -7
  310. package/dist/src/server/index.d.ts.map +0 -1
  311. package/dist/src/server/index.js +0 -7
  312. package/dist/src/server/index.js.map +0 -1
  313. package/dist/src/server/login.d.ts +0 -21
  314. package/dist/src/server/login.d.ts.map +0 -1
  315. package/dist/src/server/login.js +0 -56
  316. package/dist/src/server/login.js.map +0 -1
  317. package/dist/src/server/refresh.d.ts +0 -7
  318. package/dist/src/server/refresh.d.ts.map +0 -1
  319. package/dist/src/server/refresh.js +0 -13
  320. package/dist/src/server/refresh.js.map +0 -1
  321. package/dist/src/services/AuthenticationService.d.ts +0 -91
  322. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  323. package/dist/src/services/AuthenticationService.js +0 -322
  324. package/dist/src/services/AuthenticationService.js.map +0 -1
  325. package/dist/src/services/PKCE.d.ts +0 -20
  326. package/dist/src/services/PKCE.d.ts.map +0 -1
  327. package/dist/src/services/PKCE.js +0 -44
  328. package/dist/src/services/PKCE.js.map +0 -1
  329. package/dist/src/services/types.d.ts +0 -24
  330. package/dist/src/services/types.d.ts.map +0 -1
  331. package/dist/src/services/types.js +0 -7
  332. package/dist/src/services/types.js.map +0 -1
  333. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  334. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  335. package/dist/src/shared/components/BlockDisplay.js +0 -25
  336. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  337. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  338. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  339. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  340. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  341. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  342. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  343. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  344. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  345. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  346. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  347. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  348. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  349. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  350. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  351. package/dist/src/shared/components/CloseIcon.js +0 -6
  352. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  353. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  354. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  355. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  356. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  357. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  358. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  359. package/dist/src/shared/components/LoadingIcon.js +0 -30
  360. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  361. package/dist/src/shared/hooks/index.d.ts +0 -11
  362. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  363. package/dist/src/shared/hooks/index.js +0 -11
  364. package/dist/src/shared/hooks/index.js.map +0 -1
  365. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  366. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  367. package/dist/src/shared/hooks/useAuth.js +0 -12
  368. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  369. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  370. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  371. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  372. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  373. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  374. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  375. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  376. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  377. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  378. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  379. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  380. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  381. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  382. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  383. package/dist/src/shared/hooks/useIframe.js +0 -13
  384. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  385. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  386. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  387. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  388. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  389. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  390. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  391. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  392. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  393. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  394. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  395. package/dist/src/shared/hooks/useRefresh.js +0 -38
  396. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  397. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  398. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  399. package/dist/src/shared/hooks/useSession.js +0 -13
  400. package/dist/src/shared/hooks/useSession.js.map +0 -1
  401. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  402. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  403. package/dist/src/shared/hooks/useSignIn.js +0 -126
  404. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  405. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  406. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  407. package/dist/src/shared/hooks/useToken.js +0 -12
  408. package/dist/src/shared/hooks/useToken.js.map +0 -1
  409. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  410. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  411. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  412. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  413. package/dist/src/shared/index.d.ts +0 -5
  414. package/dist/src/shared/index.d.ts.map +0 -1
  415. package/dist/src/shared/index.js +0 -16
  416. package/dist/src/shared/index.js.map +0 -1
  417. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  418. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  419. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  420. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  421. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  422. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  423. package/dist/src/shared/lib/UserSession.js +0 -20
  424. package/dist/src/shared/lib/UserSession.js.map +0 -1
  425. package/dist/src/shared/lib/session.d.ts +0 -3
  426. package/dist/src/shared/lib/session.d.ts.map +0 -1
  427. package/dist/src/shared/lib/session.js +0 -21
  428. package/dist/src/shared/lib/session.js.map +0 -1
  429. package/dist/src/shared/lib/storage.d.ts +0 -25
  430. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  431. package/dist/src/shared/lib/storage.js +0 -17
  432. package/dist/src/shared/lib/storage.js.map +0 -1
  433. package/dist/src/shared/lib/types.d.ts +0 -36
  434. package/dist/src/shared/lib/types.d.ts.map +0 -1
  435. package/dist/src/shared/lib/types.js +0 -18
  436. package/dist/src/shared/lib/types.js.map +0 -1
  437. package/dist/src/shared/lib/util.d.ts +0 -34
  438. package/dist/src/shared/lib/util.d.ts.map +0 -1
  439. package/dist/src/shared/lib/util.js +0 -137
  440. package/dist/src/shared/lib/util.js.map +0 -1
  441. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  442. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  443. package/dist/src/shared/providers/AuthContext.js +0 -3
  444. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  445. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  446. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  447. package/dist/src/shared/providers/AuthProvider.js +0 -72
  448. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  449. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  450. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  451. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  452. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  453. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  454. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  455. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  456. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  457. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  458. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  459. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  460. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  461. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  462. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  463. package/dist/src/shared/providers/IframeProvider.js +0 -35
  464. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  465. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  466. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  467. package/dist/src/shared/providers/SessionProvider.js +0 -23
  468. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  469. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  470. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  471. package/dist/src/shared/providers/TokenProvider.js +0 -42
  472. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  473. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  474. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  475. package/dist/src/shared/providers/UserProvider.js +0 -52
  476. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  477. package/dist/src/shared/providers/types.d.ts +0 -15
  478. package/dist/src/shared/providers/types.d.ts.map +0 -1
  479. package/dist/src/shared/providers/types.js +0 -2
  480. package/dist/src/shared/providers/types.js.map +0 -1
  481. package/dist/src/shared/version.d.ts +0 -2
  482. package/dist/src/shared/version.d.ts.map +0 -1
  483. package/dist/src/shared/version.js +0 -3
  484. package/dist/src/shared/version.js.map +0 -1
  485. package/dist/src/types.d.ts +0 -148
  486. package/dist/src/types.d.ts.map +0 -1
  487. package/dist/src/types.js +0 -4
  488. package/dist/src/types.js.map +0 -1
  489. package/dist/src/utils.d.ts +0 -15
  490. package/dist/src/utils.d.ts.map +0 -1
  491. package/dist/src/utils.js +0 -43
  492. package/dist/src/utils.js.map +0 -1
  493. package/dist/src/version.d.ts +0 -2
  494. package/dist/src/version.d.ts.map +0 -1
  495. package/dist/src/version.js +0 -3
  496. package/dist/src/version.js.map +0 -1
  497. package/dist/test/integration/sdk.test.d.ts +0 -2
  498. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  499. package/dist/test/integration/sdk.test.js +0 -237
  500. package/dist/test/integration/sdk.test.js.map +0 -1
  501. package/dist/test/support/fixtures.d.ts +0 -26
  502. package/dist/test/support/fixtures.d.ts.map +0 -1
  503. package/dist/test/support/fixtures.js +0 -55
  504. package/dist/test/support/fixtures.js.map +0 -1
  505. package/dist/test/support/tokens.json +0 -26
  506. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  507. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  508. package/dist/test/unit/lib/oauth.test.js +0 -56
  509. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  510. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  511. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  512. package/dist/test/unit/lib/obj.test.js +0 -37
  513. package/dist/test/unit/lib/obj.test.js.map +0 -1
  514. package/dist/test/unit/logger.test.d.ts +0 -2
  515. package/dist/test/unit/logger.test.d.ts.map +0 -1
  516. package/dist/test/unit/logger.test.js +0 -141
  517. package/dist/test/unit/logger.test.js.map +0 -1
  518. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  519. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  520. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  521. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  522. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  523. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  524. package/dist/test/unit/nextjs/config.test.js +0 -203
  525. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  526. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  527. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  528. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  529. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  530. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  531. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  532. package/dist/test/unit/nextjs/handler.test.js +0 -207
  533. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  534. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  535. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  536. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  537. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  538. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  539. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  540. package/dist/test/unit/nextjs/utils.test.js +0 -13
  541. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  542. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  543. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  544. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  545. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  546. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  547. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  548. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  549. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  550. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  551. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  552. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  553. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  554. package/dist/test/unit/server/login.test.d.ts +0 -2
  555. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  556. package/dist/test/unit/server/login.test.js +0 -184
  557. package/dist/test/unit/server/login.test.js.map +0 -1
  558. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  559. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  560. package/dist/test/unit/server/refresh.test.js +0 -55
  561. package/dist/test/unit/server/refresh.test.js.map +0 -1
  562. package/dist/test/unit/server/session.test.d.ts +0 -2
  563. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  564. package/dist/test/unit/server/session.test.js +0 -41
  565. package/dist/test/unit/server/session.test.js.map +0 -1
  566. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  567. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  568. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  569. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  570. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  571. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  572. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  573. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  574. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  575. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  576. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  577. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  578. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  579. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  580. package/dist/test/unit/shared/UserSession.test.js +0 -37
  581. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  582. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  583. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  584. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  585. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  586. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  587. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  588. package/dist/test/unit/shared/printVersion.test.js +0 -39
  589. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  590. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  591. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  592. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  593. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  594. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  595. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  596. package/dist/test/unit/shared/storage.test.js +0 -53
  597. package/dist/test/unit/shared/storage.test.js.map +0 -1
  598. package/dist/test/unit/utils.test.d.ts +0 -2
  599. package/dist/test/unit/utils.test.d.ts.map +0 -1
  600. package/dist/test/unit/utils.test.js +0 -40
  601. package/dist/test/unit/utils.test.js.map +0 -1
  602. package/dist/tsconfig.tsbuildinfo +0 -1
  603. package/dist/vitest.config.d.ts +0 -3
  604. package/dist/vitest.config.d.ts.map +0 -1
  605. package/dist/vitest.config.js +0 -44
  606. package/dist/vitest.config.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/nextjs/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,CA8DtE,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,YACpB,UAAU,KACjB,sBA2CF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,qBAAqB,eACpB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,mBAE1C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAyBk9a,CAAC;6BAAsG,CAAC;;;sBAAke,CAAC;yBAA4H,CAAC;;;qBAA+H,CAAC;;;;;;;;;;;;;;;;;;iBAA8pE,CAAC;;;;;;;6BAAg6C,CAAC;sBAAoC,CAAC;;aAAoC,CAAC;;6BAA0D,CAAC;oBAA8B,CAAC;0BAAkE,CAAC;;qBAA2C,CAAC;mBAAiC,CAAC;;wBAA+C,CAAC;eAAmD,CAAC;iBAA4C,CAAC;2BAAyC,CAAC;;;;;;;;;yBAA4zC,CAAC;6BAAwC,CAAC;;;eAAkD,CAAC;mBAAuB,CAAC;;;;CAD3xnB,CAAC"}
@@ -1,177 +0,0 @@
1
- import { loggers } from "@/lib/logger.js";
2
- import { withoutUndefined } from "@/utils.js";
3
- import { CodeVerifier, OAuthTokens, } from "@/shared/lib/types.js";
4
- import { DEFAULT_AUTH_SERVER } from "@/constants.js";
5
- const logger = loggers.nextjs.handlers.auth;
6
- const defaultServerSecure = !(process.env.NODE_ENV === "development");
7
- /**
8
- * Default configuration values that will be used if not overridden
9
- */
10
- export const defaultAuthConfig = {
11
- oauthServer: DEFAULT_AUTH_SERVER,
12
- callbackUrl: "/api/auth/callback",
13
- challengeUrl: "/api/auth/challenge",
14
- logoutUrl: "/api/auth/logout",
15
- logoutCallbackUrl: "/api/auth/logoutcallback",
16
- loginUrl: "/",
17
- include: ["/*"],
18
- exclude: [],
19
- cookies: {
20
- tokens: {
21
- [OAuthTokens.ID_TOKEN]: {
22
- secure: defaultServerSecure,
23
- httpOnly: true,
24
- sameSite: "strict",
25
- path: "/",
26
- },
27
- [OAuthTokens.ACCESS_TOKEN]: {
28
- secure: defaultServerSecure,
29
- httpOnly: true,
30
- sameSite: "strict",
31
- path: "/",
32
- },
33
- [OAuthTokens.REFRESH_TOKEN]: {
34
- secure: defaultServerSecure,
35
- httpOnly: true,
36
- sameSite: "strict",
37
- path: "/",
38
- },
39
- [OAuthTokens.EXPIRES_IN]: {
40
- secure: defaultServerSecure,
41
- httpOnly: true,
42
- sameSite: "strict",
43
- path: "/",
44
- },
45
- [OAuthTokens.TIMESTAMP]: {
46
- secure: defaultServerSecure,
47
- httpOnly: true,
48
- sameSite: "strict",
49
- path: "/",
50
- },
51
- [CodeVerifier.COOKIE_NAME]: {
52
- secure: defaultServerSecure,
53
- httpOnly: true,
54
- sameSite: "strict",
55
- path: "/",
56
- },
57
- [CodeVerifier.APP_URL]: {
58
- secure: defaultServerSecure,
59
- httpOnly: true,
60
- sameSite: "strict",
61
- path: "/",
62
- },
63
- },
64
- user: {
65
- secure: defaultServerSecure,
66
- httpOnly: false,
67
- sameSite: "strict",
68
- path: "/",
69
- maxAge: 60 * 60, // 1 hour
70
- },
71
- },
72
- };
73
- /**
74
- * Resolves the authentication configuration by combining:
75
- * 1. Default values
76
- * 2. Environment variables (set internally by the plugin)
77
- * 3. Explicitly passed configuration
78
- *
79
- * Note: Developers should not set _civic_auth_* environment variables directly.
80
- * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:
81
- *
82
- * @example
83
- * ```js
84
- * // next.config.js
85
- * export default createCivicAuthPlugin({
86
- * callbackUrl: '/custom/callback',
87
- * })
88
- * ```
89
- */
90
- export const resolveAuthConfig = (config = {}) => {
91
- // Read configuration that was set by the plugin via environment variables
92
- const configFromEnv = withoutUndefined({
93
- clientId: process.env._civic_auth_client_id,
94
- oauthServer: process.env._civic_oauth_server,
95
- callbackUrl: process.env._civic_auth_callback_url,
96
- challengeUrl: process.env._civic_auth_challenge_url,
97
- loginUrl: process.env._civic_auth_login_url,
98
- logoutUrl: process.env._civic_auth_logout_url,
99
- logoutCallbackUrl: process.env._civic_auth_logout_callback_url,
100
- include: process.env._civic_auth_includes?.split(","),
101
- exclude: process.env._civic_auth_excludes?.split(","),
102
- cookies: process.env._civic_auth_cookie_config
103
- ? JSON.parse(process.env._civic_auth_cookie_config)
104
- : undefined,
105
- });
106
- const mergedConfig = {
107
- ...defaultAuthConfig,
108
- ...configFromEnv, // Apply plugin-set config
109
- ...config, // Override with directly passed config
110
- cookies: {
111
- tokens: {
112
- ...defaultAuthConfig.cookies.tokens,
113
- ...(configFromEnv?.cookies?.tokens || {}),
114
- ...(config.cookies?.tokens || {}),
115
- },
116
- user: {
117
- ...defaultAuthConfig.cookies.user,
118
- ...(configFromEnv?.cookies?.user || {}),
119
- ...(config.cookies?.user || {}),
120
- },
121
- },
122
- };
123
- logger.debug("Config from environment:", JSON.stringify(configFromEnv, null, 2));
124
- logger.debug("Resolved config:", JSON.stringify(mergedConfig, null, 2));
125
- if (mergedConfig.clientId === undefined) {
126
- throw new Error("Civic Auth client ID is required");
127
- }
128
- return mergedConfig;
129
- };
130
- /**
131
- * Creates a Next.js plugin that handles auth configuration.
132
- *
133
- * This is the main configuration point for the auth system.
134
- * Do not set _civic_auth_* environment variables directly - instead,
135
- * pass your configuration here:
136
- *
137
- * @example
138
- * ```js
139
- * // next.config.js
140
- * export default createCivicAuthPlugin({
141
- * clientId: 'my-client-id',
142
- * callbackUrl: '/custom/callback',
143
- * loginUrl: '/custom/login',
144
- * logoutUrl: '/custom/logout',
145
- * logoutCallbackUrl: '/custom/logoutcallback',
146
- * include: ['/protected/*'],
147
- * exclude: ['/public/*']
148
- * })
149
- * ```
150
- *
151
- * The plugin sets internal environment variables that are used by
152
- * the auth system. These variables should not be set manually.
153
- */
154
- export const createCivicAuthPlugin = (authConfig) => {
155
- return (nextConfig) => {
156
- logger.debug("createCivicAuthPlugin nextConfig", JSON.stringify(nextConfig, null, 2));
157
- const resolvedConfig = resolveAuthConfig({ ...authConfig });
158
- return {
159
- ...nextConfig,
160
- env: {
161
- ...nextConfig?.env,
162
- // Internal environment variables - do not set these manually
163
- _civic_auth_client_id: resolvedConfig.clientId,
164
- _civic_oauth_server: resolvedConfig.oauthServer,
165
- _civic_auth_callback_url: resolvedConfig.callbackUrl,
166
- _civic_auth_challenge_url: resolvedConfig.challengeUrl,
167
- _civic_auth_login_url: resolvedConfig.loginUrl,
168
- _civic_auth_logout_url: resolvedConfig.logoutUrl,
169
- _civic_auth_logout_callback_url: resolvedConfig.logoutCallbackUrl,
170
- _civic_auth_includes: resolvedConfig.include.join(","),
171
- _civic_auth_excludes: resolvedConfig.exclude.join(","),
172
- _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),
173
- },
174
- };
175
- };
176
- };
177
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/nextjs/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable turbo/no-undeclared-env-vars */\nimport type { NextConfig } from \"next\";\nimport { loggers } from \"@/lib/logger.js\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport {\n CodeVerifier,\n type CookieConfig,\n OAuthTokens,\n type TokensCookieConfig,\n} from \"@/shared/lib/types.js\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nexport type CookiesConfigObject = {\n tokens: TokensCookieConfig;\n user: CookieConfig;\n};\n\nexport type AuthConfigWithDefaults = {\n clientId: string;\n oauthServer: string;\n callbackUrl: string;\n loginUrl: string;\n logoutUrl: string;\n logoutCallbackUrl: string;\n challengeUrl: string;\n include: string[];\n exclude: string[];\n cookies: CookiesConfigObject;\n};\n\nexport type AuthConfig = Partial<AuthConfigWithDefaults>;\n\nexport type DefinedAuthConfig = AuthConfigWithDefaults;\n\nconst defaultServerSecure = !(process.env.NODE_ENV === \"development\");\n/**\n * Default configuration values that will be used if not overridden\n */\nexport const defaultAuthConfig: Omit<AuthConfigWithDefaults, \"clientId\"> = {\n oauthServer: DEFAULT_AUTH_SERVER,\n callbackUrl: \"/api/auth/callback\",\n challengeUrl: \"/api/auth/challenge\",\n logoutUrl: \"/api/auth/logout\",\n logoutCallbackUrl: \"/api/auth/logoutcallback\",\n loginUrl: \"/\",\n include: [\"/*\"],\n exclude: [],\n cookies: {\n tokens: {\n [OAuthTokens.ID_TOKEN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.ACCESS_TOKEN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.REFRESH_TOKEN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.EXPIRES_IN]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [OAuthTokens.TIMESTAMP]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [CodeVerifier.COOKIE_NAME]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n [CodeVerifier.APP_URL]: {\n secure: defaultServerSecure,\n httpOnly: true,\n sameSite: \"strict\",\n path: \"/\",\n },\n },\n user: {\n secure: defaultServerSecure,\n httpOnly: false,\n sameSite: \"strict\",\n path: \"/\",\n maxAge: 60 * 60, // 1 hour\n },\n },\n};\n\n/**\n * Resolves the authentication configuration by combining:\n * 1. Default values\n * 2. Environment variables (set internally by the plugin)\n * 3. Explicitly passed configuration\n *\n * Note: Developers should not set _civic_auth_* environment variables directly.\n * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:\n *\n * @example\n * ```js\n * // next.config.js\n * export default createCivicAuthPlugin({\n * callbackUrl: '/custom/callback',\n * })\n * ```\n */\nexport const resolveAuthConfig = (\n config: AuthConfig = {},\n): AuthConfigWithDefaults => {\n // Read configuration that was set by the plugin via environment variables\n const configFromEnv = withoutUndefined({\n clientId: process.env._civic_auth_client_id,\n oauthServer: process.env._civic_oauth_server,\n callbackUrl: process.env._civic_auth_callback_url,\n challengeUrl: process.env._civic_auth_challenge_url,\n loginUrl: process.env._civic_auth_login_url,\n logoutUrl: process.env._civic_auth_logout_url,\n logoutCallbackUrl: process.env._civic_auth_logout_callback_url,\n include: process.env._civic_auth_includes?.split(\",\"),\n exclude: process.env._civic_auth_excludes?.split(\",\"),\n cookies: process.env._civic_auth_cookie_config\n ? JSON.parse(process.env._civic_auth_cookie_config)\n : undefined,\n }) as AuthConfig;\n const mergedConfig = {\n ...defaultAuthConfig,\n ...configFromEnv, // Apply plugin-set config\n ...config, // Override with directly passed config\n cookies: {\n tokens: {\n ...defaultAuthConfig.cookies.tokens,\n ...(configFromEnv?.cookies?.tokens || {}),\n ...(config.cookies?.tokens || {}),\n },\n user: {\n ...defaultAuthConfig.cookies.user,\n ...(configFromEnv?.cookies?.user || {}),\n ...(config.cookies?.user || {}),\n },\n },\n };\n\n logger.debug(\n \"Config from environment:\",\n JSON.stringify(configFromEnv, null, 2),\n );\n logger.debug(\"Resolved config:\", JSON.stringify(mergedConfig, null, 2));\n if (mergedConfig.clientId === undefined) {\n throw new Error(\"Civic Auth client ID is required\");\n }\n return mergedConfig as AuthConfigWithDefaults & { clientId: string };\n};\n\n/**\n * Creates a Next.js plugin that handles auth configuration.\n *\n * This is the main configuration point for the auth system.\n * Do not set _civic_auth_* environment variables directly - instead,\n * pass your configuration here:\n *\n * @example\n * ```js\n * // next.config.js\n * export default createCivicAuthPlugin({\n * clientId: 'my-client-id',\n * callbackUrl: '/custom/callback',\n * loginUrl: '/custom/login',\n * logoutUrl: '/custom/logout',\n * logoutCallbackUrl: '/custom/logoutcallback',\n * include: ['/protected/*'],\n * exclude: ['/public/*']\n * })\n * ```\n *\n * The plugin sets internal environment variables that are used by\n * the auth system. These variables should not be set manually.\n */\nexport const createCivicAuthPlugin = (\n authConfig: AuthConfig & Pick<Required<AuthConfig>, \"clientId\">,\n) => {\n return (nextConfig?: NextConfig) => {\n logger.debug(\n \"createCivicAuthPlugin nextConfig\",\n JSON.stringify(nextConfig, null, 2),\n );\n const resolvedConfig = resolveAuthConfig({ ...authConfig });\n return {\n ...nextConfig,\n env: {\n ...nextConfig?.env,\n // Internal environment variables - do not set these manually\n _civic_auth_client_id: resolvedConfig.clientId,\n _civic_oauth_server: resolvedConfig.oauthServer,\n _civic_auth_callback_url: resolvedConfig.callbackUrl,\n _civic_auth_challenge_url: resolvedConfig.challengeUrl,\n _civic_auth_login_url: resolvedConfig.loginUrl,\n _civic_auth_logout_url: resolvedConfig.logoutUrl,\n _civic_auth_logout_callback_url: resolvedConfig.logoutCallbackUrl,\n _civic_auth_includes: resolvedConfig.include.join(\",\"),\n _civic_auth_excludes: resolvedConfig.exclude.join(\",\"),\n _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),\n },\n };\n };\n};\n"]}
@@ -1,30 +0,0 @@
1
- import type { SessionData, UnknownObject, User } from "@/types.js";
2
- import type { AuthConfig } from "@/nextjs/config.js";
3
- import type { CodeVerifier, OAuthTokens, TokensCookieConfig } from "@/shared/lib/types.js";
4
- import { CookieStorage, type CookieStorageSettings } from "@/shared/lib/storage.js";
5
- /**
6
- * Creates HTTP-only cookies for authentication tokens
7
- */
8
- declare const createTokenCookies: (response: Response, sessionData: SessionData, config: AuthConfig) => void;
9
- /**
10
- * Creates a client-readable cookie with user info
11
- */
12
- declare const createUserInfoCookie: (response: Response, user: User<UnknownObject> | null, sessionData: SessionData, config: AuthConfig) => void;
13
- /**
14
- * Clears all authentication cookies
15
- */
16
- declare const clearAuthCookies: (config: AuthConfig) => Promise<void>;
17
- type KeySetter = OAuthTokens | CodeVerifier;
18
- declare class NextjsCookieStorage extends CookieStorage {
19
- readonly config: Partial<TokensCookieConfig>;
20
- constructor(config?: Partial<TokensCookieConfig>);
21
- get(key: string): Promise<string | null>;
22
- set(key: KeySetter, value: string): Promise<void>;
23
- }
24
- declare class NextjsClientStorage extends CookieStorage {
25
- constructor(config?: Partial<CookieStorageSettings>);
26
- get(key: string): Promise<string | null>;
27
- set(key: string, value: string): Promise<void>;
28
- }
29
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, };
30
- //# sourceMappingURL=cookies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EACX,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,QAAA,MAAM,kBAAkB,aACZ,QAAQ,eACL,WAAW,UAChB,UAAU,SA4BnB,CAAC;AAcF;;GAEG;AACH,QAAA,MAAM,oBAAoB,aACd,QAAQ,QACZ,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,eACnB,WAAW,UAChB,UAAU,SAyBnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,gBAAgB,WAAkB,UAAU,kBASjD,CAAC;AAEF,KAAK,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAC5C,cAAM,mBAAoB,SAAQ,aAAa;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC;gBAAnC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAOvD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOxD;AAED,cAAM,mBAAoB,SAAQ,aAAa;gBACjC,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAQjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrD;AAED,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
@@ -1,112 +0,0 @@
1
- import { cookies } from "next/headers.js";
2
- import { GenericUserSession } from "@/shared/lib/UserSession.js";
3
- import { clearTokens } from "@/shared/lib/util.js";
4
- import { CookieStorage, } from "@/shared/lib/storage.js";
5
- /**
6
- * Creates HTTP-only cookies for authentication tokens
7
- */
8
- const createTokenCookies = (response, sessionData, config) => {
9
- const maxAge = sessionData.expiresIn ?? 3600;
10
- const cookieOptions = {
11
- ...config.cookies?.tokens,
12
- maxAge,
13
- };
14
- if (sessionData.accessToken) {
15
- setCookie(response, "access_token", sessionData.accessToken, {
16
- ...cookieOptions,
17
- httpOnly: true,
18
- });
19
- }
20
- if (sessionData.idToken) {
21
- setCookie(response, "id_token", sessionData.idToken, {
22
- ...cookieOptions,
23
- httpOnly: true,
24
- });
25
- }
26
- if (sessionData.refreshToken) {
27
- setCookie(response, "refresh_token", sessionData.refreshToken, {
28
- ...cookieOptions,
29
- httpOnly: true,
30
- });
31
- }
32
- };
33
- const setCookie = (response, key, value, cookieData) => {
34
- response.headers.set("Set-Cookie", `${key}=${value}; Path=${cookieData.path}; Domain=${cookieData.domain}; Max-Age=${cookieData.maxAge}; Secure; HttpOnly; SameSite=${cookieData.sameSite}`);
35
- };
36
- /**
37
- * Creates a client-readable cookie with user info
38
- */
39
- const createUserInfoCookie = (response, user, sessionData, config) => {
40
- if (!user) {
41
- // unset the "user" cookie
42
- setCookie(response, "user", "", {
43
- ...config.cookies?.user,
44
- maxAge: 0,
45
- });
46
- return;
47
- }
48
- const maxAge = sessionData.expiresIn ?? 3600;
49
- // TODO select fields to include in the user cookie
50
- const frontendUser = {
51
- ...user,
52
- };
53
- // TODO make call to get user info from the
54
- // auth server /userinfo endpoint when it's available
55
- // then add to the default claims above
56
- setCookie(response, "user", JSON.stringify(frontendUser), {
57
- ...config.cookies?.user,
58
- maxAge,
59
- });
60
- };
61
- /**
62
- * Clears all authentication cookies
63
- */
64
- const clearAuthCookies = async (config) => {
65
- // clear session, and tokens
66
- const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens);
67
- await clearTokens(cookieStorage);
68
- // clear user
69
- const clientStorage = new NextjsClientStorage();
70
- const userSession = new GenericUserSession(clientStorage);
71
- await userSession.set(null);
72
- };
73
- class NextjsCookieStorage extends CookieStorage {
74
- config;
75
- constructor(config = {}) {
76
- super({
77
- secure: true,
78
- httpOnly: true,
79
- });
80
- this.config = config;
81
- }
82
- async get(key) {
83
- const cookieStore = await cookies();
84
- return cookieStore.get(key)?.value || null;
85
- }
86
- async set(key, value) {
87
- const cookieStore = await cookies();
88
- const cookieSettings = this.config?.[key] || {
89
- ...this.settings,
90
- };
91
- cookieStore.set(key, value, cookieSettings);
92
- }
93
- }
94
- class NextjsClientStorage extends CookieStorage {
95
- constructor(config = {}) {
96
- super({
97
- ...config,
98
- secure: false,
99
- httpOnly: false,
100
- });
101
- }
102
- async get(key) {
103
- const cookieStore = await cookies();
104
- return cookieStore.get(key)?.value || null;
105
- }
106
- async set(key, value) {
107
- const cookieStore = await cookies();
108
- cookieStore.set(key, value, this.settings);
109
- }
110
- }
111
- export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, NextjsClientStorage, };
112
- //# sourceMappingURL=cookies.js.map
@@ -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":"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","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