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

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 (701) hide show
  1. package/README.md +4 -0
  2. package/dist/chunk-CRTRMMJ7.js +59 -0
  3. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  4. package/dist/chunk-EAANLFR5.mjs +148 -0
  5. package/dist/chunk-EAANLFR5.mjs.map +1 -0
  6. package/dist/chunk-EGFTMH5S.mjs +214 -0
  7. package/dist/chunk-EGFTMH5S.mjs.map +1 -0
  8. package/dist/chunk-KCSGIIPA.js +214 -0
  9. package/dist/chunk-KCSGIIPA.js.map +1 -0
  10. package/dist/chunk-MVO4UZ2A.js +148 -0
  11. package/dist/chunk-MVO4UZ2A.js.map +1 -0
  12. package/dist/chunk-PMDIR5XE.mjs +502 -0
  13. package/dist/chunk-PMDIR5XE.mjs.map +1 -0
  14. package/dist/chunk-RGHW4PYM.mjs +59 -0
  15. package/dist/chunk-RGHW4PYM.mjs.map +1 -0
  16. package/dist/chunk-YNLXRD5L.js +502 -0
  17. package/dist/chunk-YNLXRD5L.js.map +1 -0
  18. package/dist/index-Bfi0hVMZ.d.mts +58 -0
  19. package/dist/index-Bfi0hVMZ.d.ts +58 -0
  20. package/dist/index.css +339 -0
  21. package/dist/index.css.map +1 -0
  22. package/dist/index.d.mts +2 -0
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/index.mjs +2 -0
  27. package/dist/index.mjs.map +1 -0
  28. package/dist/nextjs.d.mts +224 -0
  29. package/dist/nextjs.d.ts +224 -0
  30. package/dist/nextjs.js +239 -0
  31. package/dist/nextjs.js.map +1 -0
  32. package/dist/nextjs.mjs +239 -0
  33. package/dist/nextjs.mjs.map +1 -0
  34. package/dist/react.d.mts +101 -0
  35. package/dist/react.d.ts +101 -0
  36. package/dist/react.js +970 -0
  37. package/dist/react.js.map +1 -0
  38. package/dist/react.mjs +970 -0
  39. package/dist/react.mjs.map +1 -0
  40. package/dist/server.d.mts +56 -0
  41. package/dist/server.d.ts +56 -0
  42. package/dist/server.js +20 -0
  43. package/dist/server.js.map +1 -0
  44. package/dist/server.mjs +20 -0
  45. package/dist/server.mjs.map +1 -0
  46. package/package.json +42 -52
  47. package/.eslintignore +0 -3
  48. package/.eslintrc.json +0 -10
  49. package/.prettierignore +0 -3
  50. package/.prettierrc +0 -1
  51. package/.turbo/turbo-build.log +0 -13
  52. package/.turbo/turbo-lint$colon$fix.log +0 -16
  53. package/.turbo/turbo-test.log +0 -1153
  54. package/dist/cjs/src/browser/storage.d.ts +0 -6
  55. package/dist/cjs/src/browser/storage.d.ts.map +0 -1
  56. package/dist/cjs/src/browser/storage.js +0 -13
  57. package/dist/cjs/src/browser/storage.js.map +0 -1
  58. package/dist/cjs/src/config.d.ts +0 -3
  59. package/dist/cjs/src/config.d.ts.map +0 -1
  60. package/dist/cjs/src/config.js +0 -8
  61. package/dist/cjs/src/config.js.map +0 -1
  62. package/dist/cjs/src/constants.d.ts +0 -9
  63. package/dist/cjs/src/constants.d.ts.map +0 -1
  64. package/dist/cjs/src/constants.js +0 -26
  65. package/dist/cjs/src/constants.js.map +0 -1
  66. package/dist/cjs/src/index.d.ts +0 -4
  67. package/dist/cjs/src/index.d.ts.map +0 -1
  68. package/dist/cjs/src/index.js +0 -3
  69. package/dist/cjs/src/index.js.map +0 -1
  70. package/dist/cjs/src/lib/cookies.d.ts +0 -7
  71. package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
  72. package/dist/cjs/src/lib/cookies.js +0 -26
  73. package/dist/cjs/src/lib/cookies.js.map +0 -1
  74. package/dist/cjs/src/lib/jwt.d.ts +0 -3
  75. package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
  76. package/dist/cjs/src/lib/jwt.js +0 -13
  77. package/dist/cjs/src/lib/jwt.js.map +0 -1
  78. package/dist/cjs/src/lib/logger.d.ts +0 -26
  79. package/dist/cjs/src/lib/logger.d.ts.map +0 -1
  80. package/dist/cjs/src/lib/logger.js +0 -62
  81. package/dist/cjs/src/lib/logger.js.map +0 -1
  82. package/dist/cjs/src/lib/oauth.d.ts +0 -19
  83. package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
  84. package/dist/cjs/src/lib/oauth.js +0 -67
  85. package/dist/cjs/src/lib/oauth.js.map +0 -1
  86. package/dist/cjs/src/lib/postMessage.d.ts +0 -4
  87. package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
  88. package/dist/cjs/src/lib/postMessage.js +0 -18
  89. package/dist/cjs/src/lib/postMessage.js.map +0 -1
  90. package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
  91. package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
  92. package/dist/cjs/src/lib/windowUtil.js +0 -34
  93. package/dist/cjs/src/lib/windowUtil.js.map +0 -1
  94. package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
  95. package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
  96. package/dist/cjs/src/nextjs/GetUser.js +0 -22
  97. package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
  98. package/dist/cjs/src/nextjs/config.d.ts +0 -178
  99. package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
  100. package/dist/cjs/src/nextjs/config.js +0 -167
  101. package/dist/cjs/src/nextjs/config.js.map +0 -1
  102. package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
  103. package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
  104. package/dist/cjs/src/nextjs/cookies.js +0 -119
  105. package/dist/cjs/src/nextjs/cookies.js.map +0 -1
  106. package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
  107. package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
  108. package/dist/cjs/src/nextjs/hooks/index.js +0 -6
  109. package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
  110. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  111. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  112. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
  113. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  114. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  115. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  116. package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
  117. package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
  118. package/dist/cjs/src/nextjs/index.d.ts +0 -7
  119. package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
  120. package/dist/cjs/src/nextjs/index.js +0 -18
  121. package/dist/cjs/src/nextjs/index.js.map +0 -1
  122. package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
  123. package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
  124. package/dist/cjs/src/nextjs/middleware/index.js +0 -8
  125. package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
  126. package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
  127. package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
  128. package/dist/cjs/src/nextjs/middleware.js +0 -116
  129. package/dist/cjs/src/nextjs/middleware.js.map +0 -1
  130. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  131. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  132. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -76
  133. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  134. package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
  135. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
  136. package/dist/cjs/src/nextjs/routeHandler.js +0 -217
  137. package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
  138. package/dist/cjs/src/nextjs/utils.d.ts +0 -3
  139. package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
  140. package/dist/cjs/src/nextjs/utils.js +0 -9
  141. package/dist/cjs/src/nextjs/utils.js.map +0 -1
  142. package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
  143. package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
  144. package/dist/cjs/src/reactjs/components/SignInButton.js +0 -20
  145. package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
  146. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
  147. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  148. package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -20
  149. package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
  150. package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
  151. package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
  152. package/dist/cjs/src/reactjs/components/UserButton.js +0 -136
  153. package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
  154. package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
  155. package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
  156. package/dist/cjs/src/reactjs/components/index.js +0 -14
  157. package/dist/cjs/src/reactjs/components/index.js.map +0 -1
  158. package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -7
  159. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
  160. package/dist/cjs/src/reactjs/hooks/index.js +0 -16
  161. package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
  162. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
  163. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  164. package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
  165. package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
  166. package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
  167. package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
  168. package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
  169. package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
  170. package/dist/cjs/src/reactjs/index.d.ts +0 -6
  171. package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
  172. package/dist/cjs/src/reactjs/index.js +0 -30
  173. package/dist/cjs/src/reactjs/index.js.map +0 -1
  174. package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
  175. package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
  176. package/dist/cjs/src/reactjs/providers/index.js +0 -19
  177. package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
  178. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
  179. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  180. package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -61
  181. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
  182. package/dist/cjs/src/server/config.d.ts +0 -16
  183. package/dist/cjs/src/server/config.d.ts.map +0 -1
  184. package/dist/cjs/src/server/config.js +0 -3
  185. package/dist/cjs/src/server/config.js.map +0 -1
  186. package/dist/cjs/src/server/index.d.ts +0 -6
  187. package/dist/cjs/src/server/index.d.ts.map +0 -1
  188. package/dist/cjs/src/server/index.js +0 -14
  189. package/dist/cjs/src/server/index.js.map +0 -1
  190. package/dist/cjs/src/server/login.d.ts +0 -17
  191. package/dist/cjs/src/server/login.d.ts.map +0 -1
  192. package/dist/cjs/src/server/login.js +0 -42
  193. package/dist/cjs/src/server/login.js.map +0 -1
  194. package/dist/cjs/src/server/refresh.d.ts +0 -7
  195. package/dist/cjs/src/server/refresh.d.ts.map +0 -1
  196. package/dist/cjs/src/server/refresh.js +0 -16
  197. package/dist/cjs/src/server/refresh.js.map +0 -1
  198. package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
  199. package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
  200. package/dist/cjs/src/services/AuthenticationService.js +0 -218
  201. package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
  202. package/dist/cjs/src/services/PKCE.d.ts +0 -20
  203. package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
  204. package/dist/cjs/src/services/PKCE.js +0 -50
  205. package/dist/cjs/src/services/PKCE.js.map +0 -1
  206. package/dist/cjs/src/services/types.d.ts +0 -23
  207. package/dist/cjs/src/services/types.d.ts.map +0 -1
  208. package/dist/cjs/src/services/types.js +0 -11
  209. package/dist/cjs/src/services/types.js.map +0 -1
  210. package/dist/cjs/src/shared/AuthProvider.d.ts +0 -18
  211. package/dist/cjs/src/shared/AuthProvider.d.ts.map +0 -1
  212. package/dist/cjs/src/shared/AuthProvider.js +0 -246
  213. package/dist/cjs/src/shared/AuthProvider.js.map +0 -1
  214. package/dist/cjs/src/shared/CivicAuthProvider.d.ts +0 -6
  215. package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +0 -1
  216. package/dist/cjs/src/shared/CivicAuthProvider.js +0 -19
  217. package/dist/cjs/src/shared/CivicAuthProvider.js.map +0 -1
  218. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
  219. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
  220. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +0 -47
  221. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +0 -1
  222. package/dist/cjs/src/shared/UserProvider.d.ts +0 -17
  223. package/dist/cjs/src/shared/UserProvider.d.ts.map +0 -1
  224. package/dist/cjs/src/shared/UserProvider.js +0 -42
  225. package/dist/cjs/src/shared/UserProvider.js.map +0 -1
  226. package/dist/cjs/src/shared/UserSession.d.ts +0 -12
  227. package/dist/cjs/src/shared/UserSession.d.ts.map +0 -1
  228. package/dist/cjs/src/shared/UserSession.js +0 -24
  229. package/dist/cjs/src/shared/UserSession.js.map +0 -1
  230. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
  231. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  232. package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
  233. package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
  234. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  235. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  236. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -154
  237. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  238. package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
  239. package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
  240. package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
  241. package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
  242. package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
  243. package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
  244. package/dist/cjs/src/shared/components/LoadingIcon.js +0 -36
  245. package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
  246. package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
  247. package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
  248. package/dist/cjs/src/shared/hooks/index.js +0 -12
  249. package/dist/cjs/src/shared/hooks/index.js.map +0 -1
  250. package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
  251. package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
  252. package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
  253. package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
  254. package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
  255. package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
  256. package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
  257. package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
  258. package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
  259. package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
  260. package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
  261. package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
  262. package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
  263. package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
  264. package/dist/cjs/src/shared/hooks/useSession.js +0 -16
  265. package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
  266. package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
  267. package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
  268. package/dist/cjs/src/shared/hooks/useToken.js +0 -15
  269. package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
  270. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  271. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  272. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  273. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  274. package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
  275. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
  276. package/dist/cjs/src/shared/lib/UserSession.js +0 -24
  277. package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
  278. package/dist/cjs/src/shared/lib/session.d.ts +0 -3
  279. package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
  280. package/dist/cjs/src/shared/lib/session.js +0 -13
  281. package/dist/cjs/src/shared/lib/session.js.map +0 -1
  282. package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
  283. package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
  284. package/dist/cjs/src/shared/lib/storage.js +0 -21
  285. package/dist/cjs/src/shared/lib/storage.js.map +0 -1
  286. package/dist/cjs/src/shared/lib/types.d.ts +0 -22
  287. package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
  288. package/dist/cjs/src/shared/lib/types.js +0 -19
  289. package/dist/cjs/src/shared/lib/types.js.map +0 -1
  290. package/dist/cjs/src/shared/lib/util.d.ts +0 -33
  291. package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
  292. package/dist/cjs/src/shared/lib/util.js +0 -163
  293. package/dist/cjs/src/shared/lib/util.js.map +0 -1
  294. package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
  295. package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
  296. package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
  297. package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
  298. package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -20
  299. package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
  300. package/dist/cjs/src/shared/providers/AuthProvider.js +0 -289
  301. package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
  302. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  303. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  304. package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -21
  305. package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
  306. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
  307. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  308. package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
  309. package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
  310. package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
  311. package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
  312. package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
  313. package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
  314. package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
  315. package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
  316. package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
  317. package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
  318. package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
  319. package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
  320. package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
  321. package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
  322. package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
  323. package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
  324. package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
  325. package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
  326. package/dist/cjs/src/shared/session.d.ts +0 -3
  327. package/dist/cjs/src/shared/session.d.ts.map +0 -1
  328. package/dist/cjs/src/shared/session.js +0 -13
  329. package/dist/cjs/src/shared/session.js.map +0 -1
  330. package/dist/cjs/src/shared/util.d.ts +0 -39
  331. package/dist/cjs/src/shared/util.d.ts.map +0 -1
  332. package/dist/cjs/src/shared/util.js +0 -162
  333. package/dist/cjs/src/shared/util.js.map +0 -1
  334. package/dist/cjs/src/types.d.ts +0 -146
  335. package/dist/cjs/src/types.d.ts.map +0 -1
  336. package/dist/cjs/src/types.js +0 -3
  337. package/dist/cjs/src/types.js.map +0 -1
  338. package/dist/cjs/src/utils.d.ts +0 -15
  339. package/dist/cjs/src/utils.d.ts.map +0 -1
  340. package/dist/cjs/src/utils.js +0 -47
  341. package/dist/cjs/src/utils.js.map +0 -1
  342. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  343. package/dist/esm/src/browser/storage.d.ts +0 -6
  344. package/dist/esm/src/browser/storage.d.ts.map +0 -1
  345. package/dist/esm/src/browser/storage.js +0 -9
  346. package/dist/esm/src/browser/storage.js.map +0 -1
  347. package/dist/esm/src/config.d.ts +0 -3
  348. package/dist/esm/src/config.d.ts.map +0 -1
  349. package/dist/esm/src/config.js +0 -5
  350. package/dist/esm/src/config.js.map +0 -1
  351. package/dist/esm/src/constants.d.ts +0 -9
  352. package/dist/esm/src/constants.d.ts.map +0 -1
  353. package/dist/esm/src/constants.js +0 -17
  354. package/dist/esm/src/constants.js.map +0 -1
  355. package/dist/esm/src/index.d.ts +0 -4
  356. package/dist/esm/src/index.d.ts.map +0 -1
  357. package/dist/esm/src/index.js +0 -2
  358. package/dist/esm/src/index.js.map +0 -1
  359. package/dist/esm/src/lib/cookies.d.ts +0 -7
  360. package/dist/esm/src/lib/cookies.d.ts.map +0 -1
  361. package/dist/esm/src/lib/cookies.js +0 -23
  362. package/dist/esm/src/lib/cookies.js.map +0 -1
  363. package/dist/esm/src/lib/jwt.d.ts +0 -3
  364. package/dist/esm/src/lib/jwt.d.ts.map +0 -1
  365. package/dist/esm/src/lib/jwt.js +0 -9
  366. package/dist/esm/src/lib/jwt.js.map +0 -1
  367. package/dist/esm/src/lib/logger.d.ts +0 -26
  368. package/dist/esm/src/lib/logger.d.ts.map +0 -1
  369. package/dist/esm/src/lib/logger.js +0 -55
  370. package/dist/esm/src/lib/logger.js.map +0 -1
  371. package/dist/esm/src/lib/oauth.d.ts +0 -19
  372. package/dist/esm/src/lib/oauth.d.ts.map +0 -1
  373. package/dist/esm/src/lib/oauth.js +0 -60
  374. package/dist/esm/src/lib/oauth.js.map +0 -1
  375. package/dist/esm/src/lib/postMessage.d.ts +0 -4
  376. package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
  377. package/dist/esm/src/lib/postMessage.js +0 -15
  378. package/dist/esm/src/lib/postMessage.js.map +0 -1
  379. package/dist/esm/src/lib/windowUtil.d.ts +0 -4
  380. package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
  381. package/dist/esm/src/lib/windowUtil.js +0 -30
  382. package/dist/esm/src/lib/windowUtil.js.map +0 -1
  383. package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
  384. package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
  385. package/dist/esm/src/nextjs/GetUser.js +0 -18
  386. package/dist/esm/src/nextjs/GetUser.js.map +0 -1
  387. package/dist/esm/src/nextjs/config.d.ts +0 -178
  388. package/dist/esm/src/nextjs/config.d.ts.map +0 -1
  389. package/dist/esm/src/nextjs/config.js +0 -162
  390. package/dist/esm/src/nextjs/config.js.map +0 -1
  391. package/dist/esm/src/nextjs/cookies.d.ts +0 -30
  392. package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
  393. package/dist/esm/src/nextjs/cookies.js +0 -112
  394. package/dist/esm/src/nextjs/cookies.js.map +0 -1
  395. package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
  396. package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
  397. package/dist/esm/src/nextjs/hooks/index.js +0 -2
  398. package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
  399. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  400. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  401. package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
  402. package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  403. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  404. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  405. package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
  406. package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
  407. package/dist/esm/src/nextjs/index.d.ts +0 -7
  408. package/dist/esm/src/nextjs/index.d.ts.map +0 -1
  409. package/dist/esm/src/nextjs/index.js +0 -6
  410. package/dist/esm/src/nextjs/index.js.map +0 -1
  411. package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
  412. package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
  413. package/dist/esm/src/nextjs/middleware/index.js +0 -2
  414. package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
  415. package/dist/esm/src/nextjs/middleware.d.ts +0 -59
  416. package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
  417. package/dist/esm/src/nextjs/middleware.js +0 -107
  418. package/dist/esm/src/nextjs/middleware.js.map +0 -1
  419. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  420. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  421. package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -50
  422. package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  423. package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
  424. package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
  425. package/dist/esm/src/nextjs/routeHandler.js +0 -212
  426. package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
  427. package/dist/esm/src/nextjs/utils.d.ts +0 -3
  428. package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
  429. package/dist/esm/src/nextjs/utils.js +0 -5
  430. package/dist/esm/src/nextjs/utils.js.map +0 -1
  431. package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
  432. package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
  433. package/dist/esm/src/reactjs/components/SignInButton.js +0 -14
  434. package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
  435. package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
  436. package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  437. package/dist/esm/src/reactjs/components/SignOutButton.js +0 -14
  438. package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
  439. package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
  440. package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
  441. package/dist/esm/src/reactjs/components/UserButton.js +0 -110
  442. package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
  443. package/dist/esm/src/reactjs/components/index.d.ts +0 -6
  444. package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
  445. package/dist/esm/src/reactjs/components/index.js +0 -6
  446. package/dist/esm/src/reactjs/components/index.js.map +0 -1
  447. package/dist/esm/src/reactjs/hooks/index.d.ts +0 -7
  448. package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
  449. package/dist/esm/src/reactjs/hooks/index.js +0 -7
  450. package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
  451. package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
  452. package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  453. package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
  454. package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
  455. package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
  456. package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
  457. package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
  458. package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
  459. package/dist/esm/src/reactjs/index.d.ts +0 -6
  460. package/dist/esm/src/reactjs/index.d.ts.map +0 -1
  461. package/dist/esm/src/reactjs/index.js +0 -8
  462. package/dist/esm/src/reactjs/index.js.map +0 -1
  463. package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
  464. package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
  465. package/dist/esm/src/reactjs/providers/index.js +0 -7
  466. package/dist/esm/src/reactjs/providers/index.js.map +0 -1
  467. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
  468. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  469. package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -57
  470. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
  471. package/dist/esm/src/server/config.d.ts +0 -16
  472. package/dist/esm/src/server/config.d.ts.map +0 -1
  473. package/dist/esm/src/server/config.js +0 -2
  474. package/dist/esm/src/server/config.js.map +0 -1
  475. package/dist/esm/src/server/index.d.ts +0 -6
  476. package/dist/esm/src/server/index.d.ts.map +0 -1
  477. package/dist/esm/src/server/index.js +0 -5
  478. package/dist/esm/src/server/index.js.map +0 -1
  479. package/dist/esm/src/server/login.d.ts +0 -17
  480. package/dist/esm/src/server/login.d.ts.map +0 -1
  481. package/dist/esm/src/server/login.js +0 -37
  482. package/dist/esm/src/server/login.js.map +0 -1
  483. package/dist/esm/src/server/refresh.d.ts +0 -7
  484. package/dist/esm/src/server/refresh.d.ts.map +0 -1
  485. package/dist/esm/src/server/refresh.js +0 -13
  486. package/dist/esm/src/server/refresh.js.map +0 -1
  487. package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
  488. package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
  489. package/dist/esm/src/services/AuthenticationService.js +0 -212
  490. package/dist/esm/src/services/AuthenticationService.js.map +0 -1
  491. package/dist/esm/src/services/PKCE.d.ts +0 -20
  492. package/dist/esm/src/services/PKCE.d.ts.map +0 -1
  493. package/dist/esm/src/services/PKCE.js +0 -44
  494. package/dist/esm/src/services/PKCE.js.map +0 -1
  495. package/dist/esm/src/services/types.d.ts +0 -23
  496. package/dist/esm/src/services/types.d.ts.map +0 -1
  497. package/dist/esm/src/services/types.js +0 -7
  498. package/dist/esm/src/services/types.js.map +0 -1
  499. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
  500. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  501. package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
  502. package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
  503. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  504. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  505. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -128
  506. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  507. package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
  508. package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
  509. package/dist/esm/src/shared/components/CloseIcon.js +0 -6
  510. package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
  511. package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
  512. package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
  513. package/dist/esm/src/shared/components/LoadingIcon.js +0 -30
  514. package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
  515. package/dist/esm/src/shared/hooks/index.d.ts +0 -5
  516. package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
  517. package/dist/esm/src/shared/hooks/index.js +0 -5
  518. package/dist/esm/src/shared/hooks/index.js.map +0 -1
  519. package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
  520. package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
  521. package/dist/esm/src/shared/hooks/useAuth.js +0 -12
  522. package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
  523. package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
  524. package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
  525. package/dist/esm/src/shared/hooks/useConfig.js +0 -13
  526. package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
  527. package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
  528. package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
  529. package/dist/esm/src/shared/hooks/useIframe.js +0 -13
  530. package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
  531. package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
  532. package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
  533. package/dist/esm/src/shared/hooks/useSession.js +0 -13
  534. package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
  535. package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
  536. package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
  537. package/dist/esm/src/shared/hooks/useToken.js +0 -12
  538. package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
  539. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  540. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  541. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -39
  542. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  543. package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
  544. package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
  545. package/dist/esm/src/shared/lib/UserSession.js +0 -20
  546. package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
  547. package/dist/esm/src/shared/lib/session.d.ts +0 -3
  548. package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
  549. package/dist/esm/src/shared/lib/session.js +0 -10
  550. package/dist/esm/src/shared/lib/session.js.map +0 -1
  551. package/dist/esm/src/shared/lib/storage.d.ts +0 -25
  552. package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
  553. package/dist/esm/src/shared/lib/storage.js +0 -17
  554. package/dist/esm/src/shared/lib/storage.js.map +0 -1
  555. package/dist/esm/src/shared/lib/types.d.ts +0 -22
  556. package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
  557. package/dist/esm/src/shared/lib/types.js +0 -16
  558. package/dist/esm/src/shared/lib/types.js.map +0 -1
  559. package/dist/esm/src/shared/lib/util.d.ts +0 -33
  560. package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
  561. package/dist/esm/src/shared/lib/util.js +0 -127
  562. package/dist/esm/src/shared/lib/util.js.map +0 -1
  563. package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
  564. package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
  565. package/dist/esm/src/shared/providers/AuthContext.js +0 -3
  566. package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
  567. package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -20
  568. package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
  569. package/dist/esm/src/shared/providers/AuthProvider.js +0 -263
  570. package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
  571. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  572. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  573. package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -15
  574. package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
  575. package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
  576. package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  577. package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
  578. package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
  579. package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
  580. package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
  581. package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
  582. package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
  583. package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
  584. package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
  585. package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
  586. package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
  587. package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
  588. package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
  589. package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
  590. package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
  591. package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
  592. package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
  593. package/dist/esm/src/shared/providers/UserProvider.js +0 -38
  594. package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
  595. package/dist/esm/src/types.d.ts +0 -146
  596. package/dist/esm/src/types.d.ts.map +0 -1
  597. package/dist/esm/src/types.js +0 -2
  598. package/dist/esm/src/types.js.map +0 -1
  599. package/dist/esm/src/utils.d.ts +0 -15
  600. package/dist/esm/src/utils.d.ts.map +0 -1
  601. package/dist/esm/src/utils.js +0 -43
  602. package/dist/esm/src/utils.js.map +0 -1
  603. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  604. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  605. package/dist/src/nextjs/cookies.js +0 -113
  606. package/dist/src/nextjs/cookies.js.map +0 -1
  607. package/dist/tsconfig.tsbuildinfo +0 -1
  608. package/src/browser/storage.ts +0 -11
  609. package/src/config.ts +0 -6
  610. package/src/constants.ts +0 -29
  611. package/src/index.ts +0 -16
  612. package/src/lib/cookies.ts +0 -28
  613. package/src/lib/jwt.ts +0 -15
  614. package/src/lib/logger.ts +0 -72
  615. package/src/lib/oauth.ts +0 -83
  616. package/src/lib/postMessage.ts +0 -22
  617. package/src/lib/windowUtil.ts +0 -29
  618. package/src/nextjs/GetUser.ts +0 -22
  619. package/src/nextjs/config.ts +0 -205
  620. package/src/nextjs/cookies.ts +0 -162
  621. package/src/nextjs/hooks/index.ts +0 -1
  622. package/src/nextjs/hooks/useTokenCookie.ts +0 -41
  623. package/src/nextjs/hooks/useUserCookie.ts +0 -41
  624. package/src/nextjs/index.ts +0 -20
  625. package/src/nextjs/middleware/index.ts +0 -1
  626. package/src/nextjs/middleware.ts +0 -155
  627. package/src/nextjs/providers/NextAuthProvider.tsx +0 -87
  628. package/src/nextjs/routeHandler.ts +0 -297
  629. package/src/nextjs/utils.ts +0 -9
  630. package/src/reactjs/components/SignInButton.tsx +0 -32
  631. package/src/reactjs/components/SignOutButton.tsx +0 -24
  632. package/src/reactjs/components/UserButton.tsx +0 -215
  633. package/src/reactjs/components/index.ts +0 -5
  634. package/src/reactjs/hooks/index.ts +0 -6
  635. package/src/reactjs/hooks/useAuth.ts +0 -15
  636. package/src/reactjs/hooks/useUser.ts +0 -20
  637. package/src/reactjs/index.ts +0 -19
  638. package/src/reactjs/providers/index.ts +0 -27
  639. package/src/server/ServerAuthenticationResolver.ts +0 -102
  640. package/src/server/config.ts +0 -17
  641. package/src/server/index.ts +0 -12
  642. package/src/server/login.ts +0 -59
  643. package/src/server/refresh.ts +0 -23
  644. package/src/services/AuthenticationService.ts +0 -324
  645. package/src/services/PKCE.ts +0 -45
  646. package/src/services/types.ts +0 -54
  647. package/src/shared/components/CivicAuthIframe.tsx +0 -26
  648. package/src/shared/components/CivicAuthIframeContainer.tsx +0 -190
  649. package/src/shared/components/CloseIcon.tsx +0 -21
  650. package/src/shared/components/LoadingIcon.tsx +0 -53
  651. package/src/shared/hooks/index.ts +0 -4
  652. package/src/shared/hooks/useAuth.ts +0 -15
  653. package/src/shared/hooks/useConfig.ts +0 -14
  654. package/src/shared/hooks/useIframe.ts +0 -14
  655. package/src/shared/hooks/useSession.ts +0 -14
  656. package/src/shared/hooks/useToken.ts +0 -15
  657. package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -70
  658. package/src/shared/lib/UserSession.ts +0 -25
  659. package/src/shared/lib/session.ts +0 -11
  660. package/src/shared/lib/storage.ts +0 -40
  661. package/src/shared/lib/types.ts +0 -26
  662. package/src/shared/lib/util.ts +0 -217
  663. package/src/shared/providers/AuthContext.tsx +0 -11
  664. package/src/shared/providers/AuthProvider.tsx +0 -390
  665. package/src/shared/providers/CivicAuthProvider.tsx +0 -31
  666. package/src/shared/providers/ConfigProvider.tsx +0 -50
  667. package/src/shared/providers/IframeProvider.tsx +0 -34
  668. package/src/shared/providers/SessionProvider.tsx +0 -29
  669. package/src/shared/providers/TokenProvider.tsx +0 -78
  670. package/src/shared/providers/UserProvider.tsx +0 -80
  671. package/src/types.ts +0 -227
  672. package/src/utils.ts +0 -58
  673. package/test/integration/sdk.test.tsx +0 -266
  674. package/test/support/fixtures.ts +0 -56
  675. package/test/support/tokens.json +0 -26
  676. package/test/unit/lib/oauth.test.ts +0 -72
  677. package/test/unit/logger.test.ts +0 -175
  678. package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
  679. package/test/unit/nextjs/config.test.ts +0 -218
  680. package/test/unit/nextjs/getUser.test.ts +0 -41
  681. package/test/unit/nextjs/middleware.test.ts +0 -138
  682. package/test/unit/nextjs/routeHandler.test.ts.skipped +0 -369
  683. package/test/unit/nextjs/utils.test.ts +0 -17
  684. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -17
  685. package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
  686. package/test/unit/react/components/SignInButton.test.tsx +0 -50
  687. package/test/unit/react/components/SignOutButton.test.tsx +0 -49
  688. package/test/unit/server/login.test.ts +0 -181
  689. package/test/unit/server/session.test.ts +0 -51
  690. package/test/unit/services/AuthenticationService.test.ts +0 -152
  691. package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -115
  692. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
  693. package/test/unit/shared/UserSession.test.ts +0 -42
  694. package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
  695. package/test/unit/shared/storage.test.ts +0 -67
  696. package/test/unit/utils.test.ts +0 -48
  697. package/tsconfig.build.json +0 -5
  698. package/tsconfig.cjs.json +0 -8
  699. package/tsconfig.esm.json +0 -7
  700. package/tsconfig.json +0 -42
  701. package/vitest.config.ts +0 -41
@@ -0,0 +1,224 @@
1
+ import * as next_dist_shared_lib_image_config from 'next/dist/shared/lib/image-config';
2
+ import * as next_dist_lib_load_custom_routes from 'next/dist/lib/load-custom-routes';
3
+ import * as next_dist_server_config_shared from 'next/dist/server/config-shared';
4
+ import { NextConfig } from 'next';
5
+ import { U as User } from './index-Bfi0hVMZ.js';
6
+ import { NextRequest, NextResponse } from 'next/server.js';
7
+ import 'oslo/oauth2';
8
+
9
+ interface CookieConfig {
10
+ secure?: boolean;
11
+ sameSite?: "strict" | "lax" | "none";
12
+ domain?: string;
13
+ path?: string;
14
+ maxAge?: number;
15
+ }
16
+ type AuthConfigWithDefaults = {
17
+ clientId: string;
18
+ oauthServer: string;
19
+ callbackUrl: string;
20
+ loginUrl: string;
21
+ logoutUrl: string;
22
+ appUrl?: string;
23
+ challengeUrl: string;
24
+ include: string[];
25
+ exclude: string[];
26
+ cookies: {
27
+ tokens: CookieConfig;
28
+ user: CookieConfig;
29
+ };
30
+ };
31
+ type AuthConfig = Partial<AuthConfigWithDefaults>;
32
+ /**
33
+ * Creates a Next.js plugin that handles auth configuration.
34
+ *
35
+ * This is the main configuration point for the auth system.
36
+ * Do not set _civic_auth_* environment variables directly - instead,
37
+ * pass your configuration here:
38
+ *
39
+ * @example
40
+ * ```js
41
+ * // next.config.js
42
+ * export default createCivicAuthPlugin({
43
+ * clientId: 'my-client-id',
44
+ * callbackUrl: '/custom/callback',
45
+ * loginUrl: '/custom/login',
46
+ * logoutUrl: '/custom/logout',
47
+ * include: ['/protected/*'],
48
+ * exclude: ['/public/*']
49
+ * })
50
+ * ```
51
+ *
52
+ * The plugin sets internal environment variables that are used by
53
+ * the auth system. These variables should not be set manually.
54
+ */
55
+ declare const createCivicAuthPlugin: (clientId: string, authConfig?: AuthConfig) => (nextConfig?: NextConfig) => {
56
+ env: {
57
+ _civic_auth_client_id: string;
58
+ _civic_oauth_server: string;
59
+ _civic_auth_callback_url: string;
60
+ _civic_auth_challenge_url: string;
61
+ _civic_auth_login_url: string;
62
+ _civic_auth_logout_url: string;
63
+ _civic_auth_app_url: string | undefined;
64
+ _civic_auth_includes: string;
65
+ _civic_auth_excludes: string;
66
+ _civic_auth_cookie_config: string;
67
+ };
68
+ exportPathMap?: (defaultMap: next_dist_server_config_shared.ExportPathMap, ctx: {
69
+ dev: boolean;
70
+ dir: string;
71
+ outDir: string | null;
72
+ distDir: string;
73
+ buildId: string;
74
+ }) => Promise<next_dist_server_config_shared.ExportPathMap> | next_dist_server_config_shared.ExportPathMap;
75
+ i18n?: next_dist_server_config_shared.I18NConfig | null;
76
+ eslint?: next_dist_server_config_shared.ESLintConfig;
77
+ typescript?: next_dist_server_config_shared.TypeScriptConfig;
78
+ headers?: () => Promise<next_dist_lib_load_custom_routes.Header[]>;
79
+ rewrites?: () => Promise<next_dist_lib_load_custom_routes.Rewrite[] | {
80
+ beforeFiles: next_dist_lib_load_custom_routes.Rewrite[];
81
+ afterFiles: next_dist_lib_load_custom_routes.Rewrite[];
82
+ fallback: next_dist_lib_load_custom_routes.Rewrite[];
83
+ }>;
84
+ redirects?: () => Promise<next_dist_lib_load_custom_routes.Redirect[]>;
85
+ excludeDefaultMomentLocales?: boolean;
86
+ webpack?: next_dist_server_config_shared.NextJsWebpackConfig | null;
87
+ trailingSlash?: boolean;
88
+ distDir?: string;
89
+ cleanDistDir?: boolean;
90
+ assetPrefix?: string;
91
+ cacheHandler?: string | undefined;
92
+ cacheMaxMemorySize?: number;
93
+ useFileSystemPublicRoutes?: boolean;
94
+ generateBuildId?: () => string | null | Promise<string | null>;
95
+ generateEtags?: boolean;
96
+ pageExtensions?: string[];
97
+ compress?: boolean;
98
+ analyticsId?: string;
99
+ poweredByHeader?: boolean;
100
+ images?: next_dist_shared_lib_image_config.ImageConfig;
101
+ devIndicators?: {
102
+ buildActivity?: boolean;
103
+ buildActivityPosition?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
104
+ };
105
+ onDemandEntries?: {
106
+ maxInactiveAge?: number;
107
+ pagesBufferLength?: number;
108
+ };
109
+ amp?: {
110
+ canonicalBase?: string;
111
+ };
112
+ deploymentId?: string;
113
+ basePath?: string;
114
+ sassOptions?: {
115
+ [key: string]: any;
116
+ };
117
+ productionBrowserSourceMaps?: boolean;
118
+ optimizeFonts?: boolean;
119
+ reactProductionProfiling?: boolean;
120
+ reactStrictMode?: boolean | null;
121
+ publicRuntimeConfig?: {
122
+ [key: string]: any;
123
+ };
124
+ serverRuntimeConfig?: {
125
+ [key: string]: any;
126
+ };
127
+ httpAgentOptions?: {
128
+ keepAlive?: boolean;
129
+ };
130
+ outputFileTracing?: boolean;
131
+ staticPageGenerationTimeout?: number;
132
+ crossOrigin?: "anonymous" | "use-credentials";
133
+ swcMinify?: boolean;
134
+ compiler?: {
135
+ reactRemoveProperties?: boolean | {
136
+ properties?: string[];
137
+ };
138
+ relay?: {
139
+ src: string;
140
+ artifactDirectory?: string;
141
+ language?: "typescript" | "javascript" | "flow";
142
+ eagerEsModules?: boolean;
143
+ };
144
+ removeConsole?: boolean | {
145
+ exclude?: string[];
146
+ };
147
+ styledComponents?: boolean | next_dist_server_config_shared.StyledComponentsConfig;
148
+ emotion?: boolean | next_dist_server_config_shared.EmotionConfig;
149
+ styledJsx?: boolean | {
150
+ useLightningcss?: boolean;
151
+ };
152
+ };
153
+ output?: "standalone" | "export";
154
+ transpilePackages?: string[];
155
+ skipMiddlewareUrlNormalize?: boolean;
156
+ skipTrailingSlashRedirect?: boolean;
157
+ modularizeImports?: Record<string, {
158
+ transform: string | Record<string, string>;
159
+ preventFullImport?: boolean;
160
+ skipDefaultConversion?: boolean;
161
+ }>;
162
+ logging?: {
163
+ fetches?: {
164
+ fullUrl?: boolean;
165
+ };
166
+ };
167
+ experimental?: next_dist_server_config_shared.ExperimentalConfig;
168
+ };
169
+
170
+ /**
171
+ * Used on the server-side to get the user object from the cookie
172
+ */
173
+
174
+ declare const getUser: () => User | null;
175
+
176
+ type Middleware = (request: NextRequest) => Promise<NextResponse> | NextResponse;
177
+ /**
178
+ *
179
+ * Use this when auth is the only middleware you need.
180
+ * Usage:
181
+ *
182
+ * export default authMiddleware({ loginUrl = '/login' }); // or just authMiddleware();
183
+ *
184
+ */
185
+ declare const authMiddleware: (authConfig?: Omit<AuthConfigWithDefaults, "clientId">) => (request: NextRequest) => Promise<NextResponse>;
186
+ /**
187
+ * Usage:
188
+ *
189
+ * export default withAuth(async (request) => {
190
+ * console.log('my middleware');
191
+ * return NextResponse.next();
192
+ * })
193
+ */
194
+ declare function withAuth(middleware: Middleware): (request: NextRequest) => Promise<NextResponse>;
195
+ /**
196
+ * Use this when you want to configure the middleware here (an alternative is to do it in the next.config file)
197
+ *
198
+ * Usage:
199
+ *
200
+ * const withAuth = auth({ loginUrl = '/login' }); // or just auth();
201
+ *
202
+ * export default withAuth(async (request) => {
203
+ * console.log('my middleware');
204
+ * return NextResponse.next();
205
+ * })
206
+ *
207
+ */
208
+ declare function auth(authConfig?: AuthConfig): (middleware: Middleware) => ((request: NextRequest) => Promise<NextResponse>);
209
+
210
+ /**
211
+ * Creates an authentication handler for Next.js API routes
212
+ *
213
+ * Usage:
214
+ * ```ts
215
+ * // app/api/auth/[...civicauth]/route.ts
216
+ * import { handler } from '@civic/auth/nextjs'
217
+ * export const GET = handler({
218
+ * // optional config overrides
219
+ * })
220
+ * ```
221
+ */
222
+ declare const handler: (authConfig?: {}) => (request: NextRequest) => Promise<NextResponse>;
223
+
224
+ export { auth, authMiddleware, createCivicAuthPlugin, getUser, handler, withAuth };
package/dist/nextjs.js ADDED
@@ -0,0 +1,239 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+
5
+
6
+
7
+ var _chunkMVO4UZ2Ajs = require('./chunk-MVO4UZ2A.js');
8
+
9
+
10
+
11
+ var _chunkKCSGIIPAjs = require('./chunk-KCSGIIPA.js');
12
+
13
+
14
+
15
+
16
+
17
+ var _chunkYNLXRD5Ljs = require('./chunk-YNLXRD5L.js');
18
+
19
+
20
+
21
+
22
+ var _chunkCRTRMMJ7js = require('./chunk-CRTRMMJ7.js');
23
+
24
+ // src/nextjs/cookies.ts
25
+ var _headersjs = require('next/headers.js');
26
+ var clearAuthCookies = () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
27
+ const cookieStorage = new NextjsCookieStorage();
28
+ _chunkYNLXRD5Ljs.clearTokens.call(void 0, cookieStorage);
29
+ const clientStorage = new NextjsClientStorage();
30
+ const userSession = new (0, _chunkYNLXRD5Ljs.GenericUserSession)(clientStorage);
31
+ userSession.set(null);
32
+ });
33
+ var NextjsCookieStorage = class extends _chunkKCSGIIPAjs.CookieStorage {
34
+ constructor(config = {}) {
35
+ super(_chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, config), {
36
+ secure: true,
37
+ httpOnly: true
38
+ }));
39
+ }
40
+ get(key) {
41
+ var _a;
42
+ return ((_a = _headersjs.cookies.call(void 0, ).get(key)) == null ? void 0 : _a.value) || null;
43
+ }
44
+ set(key, value) {
45
+ _headersjs.cookies.call(void 0, ).set(key, value, this.settings);
46
+ }
47
+ };
48
+ var NextjsClientStorage = class extends _chunkKCSGIIPAjs.CookieStorage {
49
+ constructor(config = {}) {
50
+ super(_chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, config), {
51
+ secure: false,
52
+ httpOnly: false
53
+ }));
54
+ }
55
+ get(key) {
56
+ var _a;
57
+ return ((_a = _headersjs.cookies.call(void 0, ).get(key)) == null ? void 0 : _a.value) || null;
58
+ }
59
+ set(key, value) {
60
+ _headersjs.cookies.call(void 0, ).set(key, value, this.settings);
61
+ }
62
+ };
63
+
64
+ // src/nextjs/GetUser.ts
65
+ var getUser2 = () => {
66
+ const clientStorage = new NextjsClientStorage();
67
+ const userSession = new (0, _chunkYNLXRD5Ljs.GenericUserSession)(clientStorage);
68
+ return userSession.get();
69
+ };
70
+
71
+ // src/nextjs/middleware.ts
72
+ var _serverjs = require('next/server.js');
73
+ var _picomatch = require('picomatch'); var _picomatch2 = _interopRequireDefault(_picomatch);
74
+ var matchGlob = (pathname, globPattern) => {
75
+ const matches = _picomatch2.default.call(void 0, globPattern);
76
+ return matches(pathname);
77
+ };
78
+ var matchesGlobs = (pathname, patterns) => patterns.some((pattern) => {
79
+ if (!pattern) return false;
80
+ console.log("matching", {
81
+ pattern,
82
+ pathname,
83
+ match: matchGlob(pathname, pattern)
84
+ });
85
+ return matchGlob(pathname, pattern);
86
+ });
87
+ var applyAuth = (authConfig, request) => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
88
+ const authConfigWithDefaults = _chunkMVO4UZ2Ajs.resolveAuthConfig.call(void 0, authConfig);
89
+ const isAuthenticated = !!request.cookies.get("id_token");
90
+ if (request.nextUrl.pathname === authConfigWithDefaults.loginUrl) {
91
+ console.log("\u2192 Skipping auth check - this is the login URL");
92
+ return void 0;
93
+ }
94
+ if (!matchesGlobs(request.nextUrl.pathname, authConfigWithDefaults.include)) {
95
+ console.log("\u2192 Skipping auth check - path not in include patterns");
96
+ return void 0;
97
+ }
98
+ if (matchesGlobs(request.nextUrl.pathname, authConfigWithDefaults.exclude)) {
99
+ console.log("\u2192 Skipping auth check - path in exclude patterns");
100
+ return void 0;
101
+ }
102
+ if (!isAuthenticated) {
103
+ console.log("\u2192 No valid token found - redirecting to login");
104
+ const loginUrl = new URL(authConfigWithDefaults.loginUrl, request.url);
105
+ return _serverjs.NextResponse.redirect(loginUrl);
106
+ }
107
+ console.log("\u2192 Auth check passed");
108
+ return void 0;
109
+ });
110
+ var authMiddleware = (authConfig = _chunkMVO4UZ2Ajs.defaultAuthConfig) => (request) => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
111
+ const response = yield applyAuth(authConfig, request);
112
+ if (response) return response;
113
+ return _serverjs.NextResponse.next();
114
+ });
115
+ function withAuth(middleware) {
116
+ return (request) => _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
117
+ const response = yield applyAuth({}, request);
118
+ if (response) return response;
119
+ return middleware(request);
120
+ });
121
+ }
122
+ function auth(authConfig = {}) {
123
+ return (middleware) => {
124
+ return (request) => _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
125
+ const response = yield applyAuth(authConfig, request);
126
+ if (response) return response;
127
+ return middleware(request);
128
+ });
129
+ };
130
+ }
131
+
132
+ // src/nextjs/routeHandler.ts
133
+
134
+ var _cachejs = require('next/cache.js');
135
+ var logger = _chunkMVO4UZ2Ajs.loggers.nextjs.handlers.auth;
136
+ var AuthError = class extends Error {
137
+ constructor(message, status = 401) {
138
+ super(message);
139
+ this.status = status;
140
+ this.name = "AuthError";
141
+ }
142
+ };
143
+ function handleChallenge() {
144
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
145
+ const cookieStorage = new NextjsCookieStorage();
146
+ const pkceProducer = new (0, _chunkYNLXRD5Ljs.GenericPublicClientPKCEProducer)(cookieStorage);
147
+ const challenge = yield pkceProducer.getCodeChallenge();
148
+ return _serverjs.NextResponse.json({ status: "success", challenge });
149
+ });
150
+ }
151
+ function handleCallback(request, config) {
152
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
153
+ const code = request.nextUrl.searchParams.get("code");
154
+ const state = request.nextUrl.searchParams.get("state");
155
+ if (!code || !state) throw new AuthError("Bad parameters", 400);
156
+ const cookieStorage = new NextjsCookieStorage();
157
+ const resolvedConfigs = _chunkMVO4UZ2Ajs.resolveAuthConfig.call(void 0, config);
158
+ const callbackUrl = _chunkMVO4UZ2Ajs.resolveCallbackUrl.call(void 0, resolvedConfigs, request.url);
159
+ try {
160
+ yield _chunkKCSGIIPAjs.resolveOAuthAccessCode.call(void 0, code, state, cookieStorage, _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, resolvedConfigs), {
161
+ redirectUrl: callbackUrl
162
+ }));
163
+ } catch (error) {
164
+ logger.error("Token exchange failed:", error);
165
+ throw new AuthError("Failed to authenticate user", 401);
166
+ }
167
+ const user = yield _chunkYNLXRD5Ljs.getUser.call(void 0, cookieStorage);
168
+ if (!user) {
169
+ throw new AuthError("Failed to get user info", 401);
170
+ }
171
+ const clientStorage = new NextjsClientStorage();
172
+ const userSession = new (0, _chunkYNLXRD5Ljs.GenericUserSession)(clientStorage);
173
+ userSession.set(user);
174
+ const response = new (0, _serverjs.NextResponse)(`<html></html>`);
175
+ response.headers.set("Content-Type", "text/html; charset=utf-8");
176
+ return response;
177
+ });
178
+ }
179
+ var getAbsoluteRedirectPath = (redirectPath, currentBasePath) => {
180
+ if (/^(https?:\/\/|www\.).+/i.test(redirectPath)) {
181
+ return redirectPath;
182
+ }
183
+ return new URL(redirectPath, currentBasePath).href;
184
+ };
185
+ function handleLogout(request, config) {
186
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
187
+ var _a;
188
+ const resolvedConfigs = _chunkMVO4UZ2Ajs.resolveAuthConfig.call(void 0, config);
189
+ const defaultRedirectPath = (_a = resolvedConfigs.loginUrl) != null ? _a : "/";
190
+ const redirectTarget = new URL(request.url).searchParams.get("redirect") || defaultRedirectPath;
191
+ const isAbsoluteRedirect = /^(https?:\/\/|www\.).+/i.test(redirectTarget);
192
+ const finalRedirectUrl = getAbsoluteRedirectPath(
193
+ redirectTarget,
194
+ new URL(request.url).origin
195
+ );
196
+ const response = _serverjs.NextResponse.redirect(finalRedirectUrl);
197
+ clearAuthCookies();
198
+ try {
199
+ _cachejs.revalidatePath.call(void 0, isAbsoluteRedirect ? finalRedirectUrl : redirectTarget);
200
+ } catch (error) {
201
+ logger.warn("Failed to revalidate path after logout:", error);
202
+ }
203
+ return response;
204
+ });
205
+ }
206
+ var handler = (authConfig = {}) => (request) => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
207
+ const config = _chunkMVO4UZ2Ajs.resolveAuthConfig.call(void 0, authConfig);
208
+ try {
209
+ const pathname = request.nextUrl.pathname;
210
+ const pathSegments = pathname.split("/");
211
+ const lastSegment = pathSegments[pathSegments.length - 1];
212
+ switch (lastSegment) {
213
+ case "challenge":
214
+ return yield handleChallenge();
215
+ case "callback":
216
+ return yield handleCallback(request, config);
217
+ case "logout":
218
+ return yield handleLogout(request, config);
219
+ default:
220
+ throw new AuthError(`Invalid auth route: ${pathname}`, 404);
221
+ }
222
+ } catch (error) {
223
+ logger.error("Auth handler error:", error);
224
+ const status = error instanceof AuthError ? error.status : 500;
225
+ const message = error instanceof Error ? error.message : "Authentication failed";
226
+ const response = _serverjs.NextResponse.json({ error: message }, { status });
227
+ clearAuthCookies();
228
+ return response;
229
+ }
230
+ });
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ exports.auth = auth; exports.authMiddleware = authMiddleware; exports.createCivicAuthPlugin = _chunkMVO4UZ2Ajs.createCivicAuthPlugin; exports.getUser = getUser2; exports.handler = handler; exports.withAuth = withAuth;
239
+ //# sourceMappingURL=nextjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/nextjs.js","../src/nextjs/cookies.ts","../src/nextjs/GetUser.ts","../src/nextjs/middleware.ts","../src/nextjs/routeHandler.ts"],"names":["getUser","NextResponse"],"mappings":"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","file":"/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/nextjs.js","sourcesContent":[null,"import { SessionData, UnknownObject, User } from \"@/types\";\nimport { NextResponse } from \"next/server\";\nimport { AuthConfig } from \"@/nextjs/config\";\nimport { CookieStorage, CookieStorageSettings } from \"@/server\";\nimport { cookies } from \"next/headers.js\";\nimport { GenericUserSession } from \"@/shared/UserSession\";\nimport { clearTokens } from \"@/shared/util\";\n\n/**\n * Creates HTTP-only cookies for authentication tokens\n */\nconst createTokenCookies = (\n response: NextResponse,\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 response.cookies.set(\"access_token\", sessionData.accessToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.idToken) {\n response.cookies.set(\"id_token\", sessionData.idToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.refreshToken) {\n response.cookies.set(\"refresh_token\", sessionData.refreshToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n};\n\n/**\n * Creates a client-readable cookie with user info\n */\nconst createUserInfoCookie = (\n response: NextResponse,\n user: User<UnknownObject> | null,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n if (!user) {\n response.cookies.set(\"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 response.cookies.set(\"user\", JSON.stringify(frontendUser), {\n ...config.cookies?.user,\n maxAge,\n });\n};\n\n/**\n * Clears all authentication cookies\n */\nconst clearAuthCookies = async () => {\n // clear session, and tokens\n const cookieStorage = new NextjsCookieStorage();\n clearTokens(cookieStorage);\n\n // clear user\n const clientStorage = new NextjsClientStorage();\n const userSession = new GenericUserSession(clientStorage);\n userSession.set(null);\n};\n\nclass NextjsCookieStorage extends CookieStorage {\n constructor(config: Partial<CookieStorageSettings> = {}) {\n super({\n ...config,\n secure: true,\n httpOnly: true,\n });\n }\n\n get(key: string): string | null {\n return cookies().get(key)?.value || null;\n }\n\n set(key: string, value: string): void {\n cookies().set(key, value, this.settings);\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 get(key: string): string | null {\n return cookies().get(key)?.value || null;\n }\n\n set(key: string, value: string): void {\n cookies().set(key, value, this.settings);\n }\n}\n\nexport {\n createTokenCookies,\n createUserInfoCookie,\n clearAuthCookies,\n NextjsCookieStorage,\n NextjsClientStorage,\n};\n","/**\n * Used on the server-side to get the user object from the cookie\n */\nimport { User } from \"@/types\";\nimport { GenericUserSession } from \"@/shared/UserSession\";\nimport { NextjsClientStorage } from \"@/nextjs/cookies\";\n\nexport const getUser = (): User | null => {\n const clientStorage = new NextjsClientStorage();\n const userSession = new GenericUserSession(clientStorage);\n return userSession.get();\n};\n","/**\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 { NextRequest, NextResponse } from \"next/server.js\";\nimport picomatch from \"picomatch\";\nimport {\n AuthConfig,\n defaultAuthConfig,\n resolveAuthConfig,\n} 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\n // Check for any valid auth token\n const isAuthenticated = !!request.cookies.get(\"id_token\");\n\n // skip auth check for login url\n if (request.nextUrl.pathname === authConfigWithDefaults.loginUrl) {\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 console.log(\"→ No valid token found - redirecting to login\");\n const loginUrl = new URL(authConfigWithDefaults.loginUrl, request.url);\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 = defaultAuthConfig) =>\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 async (request: NextRequest): Promise<NextResponse> => {\n const response = await applyAuth({}, request);\n if (response) return response;\n return middleware(request);\n };\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 return middleware(request);\n };\n };\n}\n","import { NextRequest, NextResponse } from \"next/server.js\";\nimport { revalidatePath } from \"next/cache.js\";\nimport { AuthConfig, resolveAuthConfig } from \"@/nextjs/config.js\";\nimport { loggers } from \"@/lib/logger.js\";\nimport {\n clearAuthCookies,\n NextjsClientStorage,\n NextjsCookieStorage,\n} from \"@/nextjs/cookies.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { resolveOAuthAccessCode } from \"@/server/login.js\";\nimport { getUser } from \"@/shared/session.js\";\nimport { resolveCallbackUrl } from \"@/nextjs/utils.js\";\nimport { GenericUserSession } from \"@/shared/UserSession.js\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nclass AuthError extends Error {\n constructor(\n message: string,\n public readonly status: number = 401,\n ) {\n super(message);\n this.name = \"AuthError\";\n }\n}\n\n/**\n * create a code verifier and challenge for PKCE\n * saving the verifier in a cookie for later use\n * @returns {Promise<NextResponse>}\n */\nasync function handleChallenge(): Promise<NextResponse> {\n const cookieStorage = new NextjsCookieStorage();\n const pkceProducer = new GenericPublicClientPKCEProducer(cookieStorage);\n\n const challenge = await pkceProducer.getCodeChallenge();\n\n return NextResponse.json({ status: \"success\", challenge });\n}\n\nasync function handleCallback(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const code = request.nextUrl.searchParams.get(\"code\");\n const state = request.nextUrl.searchParams.get(\"state\");\n if (!code || !state) throw new AuthError(\"Bad parameters\", 400);\n\n const cookieStorage = new NextjsCookieStorage();\n\n const resolvedConfigs = resolveAuthConfig(config);\n const callbackUrl = resolveCallbackUrl(resolvedConfigs, request.url);\n\n try {\n await resolveOAuthAccessCode(code, state, cookieStorage, {\n ...resolvedConfigs,\n redirectUrl: callbackUrl,\n });\n } catch (error) {\n logger.error(\"Token exchange failed:\", error);\n throw new AuthError(\"Failed to authenticate user\", 401);\n }\n\n const user = await getUser(cookieStorage);\n if (!user) {\n throw new AuthError(\"Failed to get user info\", 401);\n }\n\n const clientStorage = new NextjsClientStorage();\n const userSession = new GenericUserSession(clientStorage);\n\n userSession.set(user);\n\n // return an empty HTML response so the iframe doesn't show any response\n // in the short moment between the redirect and the parent window\n // acknowledging the redirect and closing the iframe\n const response = new NextResponse(`<html></html>`);\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n return response;\n}\n\n/**\n * If redirectPath is an absolute path, return it as-is.\n * Otherwise for relative paths, append it to the current domain.\n * @param redirectPath\n * @returns\n */\nconst getAbsoluteRedirectPath = (\n redirectPath: string,\n currentBasePath: string,\n) => {\n // Check if the redirectPath is an absolute URL\n if (/^(https?:\\/\\/|www\\.).+/i.test(redirectPath)) {\n return redirectPath; // Return as-is if it's an absolute URL\n }\n return new URL(redirectPath, currentBasePath).href;\n};\n\nasync function handleLogout(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n const defaultRedirectPath = resolvedConfigs.loginUrl ?? \"/\";\n const redirectTarget =\n new URL(request.url).searchParams.get(\"redirect\") || defaultRedirectPath;\n const isAbsoluteRedirect = /^(https?:\\/\\/|www\\.).+/i.test(redirectTarget);\n const finalRedirectUrl = getAbsoluteRedirectPath(\n redirectTarget,\n new URL(request.url).origin,\n );\n\n const response = NextResponse.redirect(finalRedirectUrl);\n\n clearAuthCookies();\n\n try {\n revalidatePath(isAbsoluteRedirect ? finalRedirectUrl : redirectTarget);\n } catch (error) {\n logger.warn(\"Failed to revalidate path after logout:\", error);\n }\n\n return response;\n}\n\n/**\n * Creates an authentication handler for Next.js API routes\n *\n * Usage:\n * ```ts\n * // app/api/auth/[...civicauth]/route.ts\n * import { handler } from '@civic/auth/nextjs'\n * export const GET = handler({\n * // optional config overrides\n * })\n * ```\n */\nexport const handler =\n (authConfig = {}) =>\n async (request: NextRequest): Promise<NextResponse> => {\n const config = resolveAuthConfig(authConfig);\n\n try {\n const pathname = request.nextUrl.pathname;\n const pathSegments = pathname.split(\"/\");\n const lastSegment = pathSegments[pathSegments.length - 1];\n\n switch (lastSegment) {\n case \"challenge\":\n return await handleChallenge();\n case \"callback\":\n return await handleCallback(request, config);\n case \"logout\":\n return await handleLogout(request, config);\n default:\n throw new AuthError(`Invalid auth route: ${pathname}`, 404);\n }\n } catch (error) {\n logger.error(\"Auth handler error:\", error);\n\n const status = error instanceof AuthError ? error.status : 500;\n const message =\n error instanceof Error ? error.message : \"Authentication failed\";\n\n const response = NextResponse.json({ error: message }, { status });\n\n clearAuthCookies();\n return response;\n }\n };\n"]}