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

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