@civic/auth 0.3.2-beta.1 → 0.3.2-beta.2

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 (522) hide show
  1. package/dist/cjs/constants.d.ts +2 -1
  2. package/dist/cjs/constants.d.ts.map +1 -1
  3. package/dist/cjs/constants.js +9 -1
  4. package/dist/cjs/constants.js.map +1 -1
  5. package/dist/cjs/nextjs/config.d.ts.map +1 -1
  6. package/dist/cjs/nextjs/config.js +1 -1
  7. package/dist/cjs/nextjs/config.js.map +1 -1
  8. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +6 -0
  9. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +1 -0
  10. package/dist/cjs/reactjs/hooks/useSignIn.js +38 -0
  11. package/dist/cjs/reactjs/hooks/useSignIn.js.map +1 -0
  12. package/dist/cjs/services/UserinfoService.d.ts +5 -0
  13. package/dist/cjs/services/UserinfoService.d.ts.map +1 -0
  14. package/dist/cjs/services/UserinfoService.js +15 -0
  15. package/dist/cjs/services/UserinfoService.js.map +1 -0
  16. package/dist/cjs/shared/lib/session.d.ts.map +1 -1
  17. package/dist/cjs/shared/lib/session.js +7 -5
  18. package/dist/cjs/shared/lib/session.js.map +1 -1
  19. package/dist/cjs/shared/lib/util.d.ts.map +1 -1
  20. package/dist/cjs/shared/lib/util.js +5 -5
  21. package/dist/cjs/shared/lib/util.js.map +1 -1
  22. package/dist/cjs/shared/providers/TokenProvider.d.ts.map +1 -1
  23. package/dist/cjs/shared/providers/TokenProvider.js +2 -5
  24. package/dist/cjs/shared/providers/TokenProvider.js.map +1 -1
  25. package/dist/cjs/shared/providers/UserProvider.d.ts +2 -2
  26. package/dist/cjs/shared/providers/UserProvider.d.ts.map +1 -1
  27. package/dist/cjs/shared/providers/UserProvider.js.map +1 -1
  28. package/dist/cjs/shared/version.d.ts +1 -1
  29. package/dist/cjs/shared/version.js +1 -1
  30. package/dist/cjs/shared/version.js.map +1 -1
  31. package/dist/cjs/types.d.ts +3 -11
  32. package/dist/cjs/types.d.ts.map +1 -1
  33. package/dist/cjs/types.js +1 -3
  34. package/dist/cjs/types.js.map +1 -1
  35. package/dist/esm/constants.d.ts +2 -1
  36. package/dist/esm/constants.d.ts.map +1 -1
  37. package/dist/esm/constants.js +8 -1
  38. package/dist/esm/constants.js.map +1 -1
  39. package/dist/esm/nextjs/config.d.ts.map +1 -1
  40. package/dist/esm/nextjs/config.js +1 -1
  41. package/dist/esm/nextjs/config.js.map +1 -1
  42. package/dist/esm/reactjs/hooks/useSignIn.d.ts +6 -0
  43. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +1 -0
  44. package/dist/esm/reactjs/hooks/useSignIn.js +34 -0
  45. package/dist/esm/reactjs/hooks/useSignIn.js.map +1 -0
  46. package/dist/esm/shared/lib/session.d.ts.map +1 -1
  47. package/dist/esm/shared/lib/session.js +8 -6
  48. package/dist/esm/shared/lib/session.js.map +1 -1
  49. package/dist/esm/shared/lib/util.d.ts.map +1 -1
  50. package/dist/esm/shared/lib/util.js +5 -5
  51. package/dist/esm/shared/lib/util.js.map +1 -1
  52. package/dist/esm/shared/providers/TokenProvider.d.ts.map +1 -1
  53. package/dist/esm/shared/providers/TokenProvider.js +2 -5
  54. package/dist/esm/shared/providers/TokenProvider.js.map +1 -1
  55. package/dist/esm/shared/providers/UserProvider.d.ts +2 -2
  56. package/dist/esm/shared/providers/UserProvider.d.ts.map +1 -1
  57. package/dist/esm/shared/providers/UserProvider.js.map +1 -1
  58. package/dist/esm/shared/version.d.ts +1 -1
  59. package/dist/esm/shared/version.js +1 -1
  60. package/dist/esm/shared/version.js.map +1 -1
  61. package/dist/esm/types.d.ts +3 -11
  62. package/dist/esm/types.d.ts.map +1 -1
  63. package/dist/esm/types.js +1 -2
  64. package/dist/esm/types.js.map +1 -1
  65. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  66. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  67. package/package.json +18 -19
  68. package/dist/generateVersion.d.ts +0 -2
  69. package/dist/generateVersion.d.ts.map +0 -1
  70. package/dist/generateVersion.js +0 -12
  71. package/dist/generateVersion.js.map +0 -1
  72. package/dist/package.json +0 -118
  73. package/dist/src/browser/storage.d.ts +0 -9
  74. package/dist/src/browser/storage.d.ts.map +0 -1
  75. package/dist/src/browser/storage.js +0 -17
  76. package/dist/src/browser/storage.js.map +0 -1
  77. package/dist/src/config.d.ts +0 -3
  78. package/dist/src/config.d.ts.map +0 -1
  79. package/dist/src/config.js +0 -5
  80. package/dist/src/config.js.map +0 -1
  81. package/dist/src/constants.d.ts +0 -8
  82. package/dist/src/constants.d.ts.map +0 -1
  83. package/dist/src/constants.js +0 -16
  84. package/dist/src/constants.js.map +0 -1
  85. package/dist/src/index.d.ts +0 -6
  86. package/dist/src/index.d.ts.map +0 -1
  87. package/dist/src/index.js +0 -4
  88. package/dist/src/index.js.map +0 -1
  89. package/dist/src/lib/cookies.d.ts +0 -7
  90. package/dist/src/lib/cookies.d.ts.map +0 -1
  91. package/dist/src/lib/cookies.js +0 -25
  92. package/dist/src/lib/cookies.js.map +0 -1
  93. package/dist/src/lib/jwt.d.ts +0 -3
  94. package/dist/src/lib/jwt.d.ts.map +0 -1
  95. package/dist/src/lib/jwt.js +0 -9
  96. package/dist/src/lib/jwt.js.map +0 -1
  97. package/dist/src/lib/logger.d.ts +0 -26
  98. package/dist/src/lib/logger.d.ts.map +0 -1
  99. package/dist/src/lib/logger.js +0 -55
  100. package/dist/src/lib/logger.js.map +0 -1
  101. package/dist/src/lib/oauth.d.ts +0 -19
  102. package/dist/src/lib/oauth.d.ts.map +0 -1
  103. package/dist/src/lib/oauth.js +0 -61
  104. package/dist/src/lib/oauth.js.map +0 -1
  105. package/dist/src/lib/obj.d.ts +0 -3
  106. package/dist/src/lib/obj.d.ts.map +0 -1
  107. package/dist/src/lib/obj.js +0 -18
  108. package/dist/src/lib/obj.js.map +0 -1
  109. package/dist/src/lib/postMessage.d.ts +0 -4
  110. package/dist/src/lib/postMessage.d.ts.map +0 -1
  111. package/dist/src/lib/postMessage.js +0 -15
  112. package/dist/src/lib/postMessage.js.map +0 -1
  113. package/dist/src/lib/windowUtil.d.ts +0 -4
  114. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  115. package/dist/src/lib/windowUtil.js +0 -31
  116. package/dist/src/lib/windowUtil.js.map +0 -1
  117. package/dist/src/nextjs/GetUser.d.ts +0 -6
  118. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  119. package/dist/src/nextjs/GetUser.js +0 -7
  120. package/dist/src/nextjs/GetUser.js.map +0 -1
  121. package/dist/src/nextjs/config.d.ts +0 -181
  122. package/dist/src/nextjs/config.d.ts.map +0 -1
  123. package/dist/src/nextjs/config.js +0 -177
  124. package/dist/src/nextjs/config.js.map +0 -1
  125. package/dist/src/nextjs/cookies.d.ts +0 -30
  126. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  127. package/dist/src/nextjs/cookies.js +0 -112
  128. package/dist/src/nextjs/cookies.js.map +0 -1
  129. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  130. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  131. package/dist/src/nextjs/hooks/index.js +0 -2
  132. package/dist/src/nextjs/hooks/index.js.map +0 -1
  133. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  134. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  135. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  136. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  137. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  138. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  139. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  140. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  141. package/dist/src/nextjs/index.d.ts +0 -7
  142. package/dist/src/nextjs/index.d.ts.map +0 -1
  143. package/dist/src/nextjs/index.js +0 -8
  144. package/dist/src/nextjs/index.js.map +0 -1
  145. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  146. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  147. package/dist/src/nextjs/middleware/index.js +0 -4
  148. package/dist/src/nextjs/middleware/index.js.map +0 -1
  149. package/dist/src/nextjs/middleware.d.ts +0 -59
  150. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  151. package/dist/src/nextjs/middleware.js +0 -107
  152. package/dist/src/nextjs/middleware.js.map +0 -1
  153. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  154. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  155. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  156. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  157. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  158. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  159. package/dist/src/nextjs/routeHandler.js +0 -309
  160. package/dist/src/nextjs/routeHandler.js.map +0 -1
  161. package/dist/src/nextjs/utils.d.ts +0 -3
  162. package/dist/src/nextjs/utils.d.ts.map +0 -1
  163. package/dist/src/nextjs/utils.js +0 -5
  164. package/dist/src/nextjs/utils.js.map +0 -1
  165. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  166. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  167. package/dist/src/reactjs/components/SignInButton.js +0 -14
  168. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  169. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  170. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  171. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  172. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  173. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  174. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  175. package/dist/src/reactjs/components/UserButton.js +0 -118
  176. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  177. package/dist/src/reactjs/components/index.d.ts +0 -6
  178. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  179. package/dist/src/reactjs/components/index.js +0 -6
  180. package/dist/src/reactjs/components/index.js.map +0 -1
  181. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  182. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  183. package/dist/src/reactjs/hooks/index.js +0 -6
  184. package/dist/src/reactjs/hooks/index.js.map +0 -1
  185. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  186. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  187. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  188. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  189. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  190. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  191. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  192. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  193. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  194. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  195. package/dist/src/reactjs/hooks/useUser.js +0 -12
  196. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  197. package/dist/src/reactjs/index.d.ts +0 -6
  198. package/dist/src/reactjs/index.d.ts.map +0 -1
  199. package/dist/src/reactjs/index.js +0 -10
  200. package/dist/src/reactjs/index.js.map +0 -1
  201. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  202. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  203. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  204. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  205. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  206. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  207. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  208. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  209. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  210. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  211. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  212. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  213. package/dist/src/reactjs/providers/index.d.ts +0 -8
  214. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  215. package/dist/src/reactjs/providers/index.js +0 -7
  216. package/dist/src/reactjs/providers/index.js.map +0 -1
  217. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  218. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  219. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  220. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  221. package/dist/src/server/config.d.ts +0 -10
  222. package/dist/src/server/config.d.ts.map +0 -1
  223. package/dist/src/server/config.js +0 -2
  224. package/dist/src/server/config.js.map +0 -1
  225. package/dist/src/server/index.d.ts +0 -7
  226. package/dist/src/server/index.d.ts.map +0 -1
  227. package/dist/src/server/index.js +0 -7
  228. package/dist/src/server/index.js.map +0 -1
  229. package/dist/src/server/login.d.ts +0 -21
  230. package/dist/src/server/login.d.ts.map +0 -1
  231. package/dist/src/server/login.js +0 -56
  232. package/dist/src/server/login.js.map +0 -1
  233. package/dist/src/server/refresh.d.ts +0 -7
  234. package/dist/src/server/refresh.d.ts.map +0 -1
  235. package/dist/src/server/refresh.js +0 -13
  236. package/dist/src/server/refresh.js.map +0 -1
  237. package/dist/src/services/AuthenticationService.d.ts +0 -91
  238. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  239. package/dist/src/services/AuthenticationService.js +0 -322
  240. package/dist/src/services/AuthenticationService.js.map +0 -1
  241. package/dist/src/services/PKCE.d.ts +0 -20
  242. package/dist/src/services/PKCE.d.ts.map +0 -1
  243. package/dist/src/services/PKCE.js +0 -44
  244. package/dist/src/services/PKCE.js.map +0 -1
  245. package/dist/src/services/types.d.ts +0 -24
  246. package/dist/src/services/types.d.ts.map +0 -1
  247. package/dist/src/services/types.js +0 -7
  248. package/dist/src/services/types.js.map +0 -1
  249. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  250. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  251. package/dist/src/shared/components/BlockDisplay.js +0 -25
  252. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  253. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  254. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  255. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  256. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  257. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  258. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  259. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  260. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  261. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  262. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  263. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  264. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  265. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  266. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  267. package/dist/src/shared/components/CloseIcon.js +0 -6
  268. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  269. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  270. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  271. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  272. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  273. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  274. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  275. package/dist/src/shared/components/LoadingIcon.js +0 -30
  276. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  277. package/dist/src/shared/hooks/index.d.ts +0 -11
  278. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  279. package/dist/src/shared/hooks/index.js +0 -11
  280. package/dist/src/shared/hooks/index.js.map +0 -1
  281. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  282. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  283. package/dist/src/shared/hooks/useAuth.js +0 -12
  284. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  285. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  286. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  287. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  288. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  289. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  290. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  291. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  292. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  293. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  294. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  295. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  296. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  297. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  298. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  299. package/dist/src/shared/hooks/useIframe.js +0 -13
  300. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  301. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  302. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  303. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  304. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  305. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  306. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  307. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  308. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  309. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  310. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  311. package/dist/src/shared/hooks/useRefresh.js +0 -38
  312. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  313. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  314. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  315. package/dist/src/shared/hooks/useSession.js +0 -13
  316. package/dist/src/shared/hooks/useSession.js.map +0 -1
  317. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  318. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  319. package/dist/src/shared/hooks/useSignIn.js +0 -126
  320. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  321. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  322. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  323. package/dist/src/shared/hooks/useToken.js +0 -12
  324. package/dist/src/shared/hooks/useToken.js.map +0 -1
  325. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  326. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  327. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  328. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  329. package/dist/src/shared/index.d.ts +0 -5
  330. package/dist/src/shared/index.d.ts.map +0 -1
  331. package/dist/src/shared/index.js +0 -16
  332. package/dist/src/shared/index.js.map +0 -1
  333. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  334. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  335. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  336. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  337. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  338. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  339. package/dist/src/shared/lib/UserSession.js +0 -20
  340. package/dist/src/shared/lib/UserSession.js.map +0 -1
  341. package/dist/src/shared/lib/session.d.ts +0 -3
  342. package/dist/src/shared/lib/session.d.ts.map +0 -1
  343. package/dist/src/shared/lib/session.js +0 -21
  344. package/dist/src/shared/lib/session.js.map +0 -1
  345. package/dist/src/shared/lib/storage.d.ts +0 -25
  346. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  347. package/dist/src/shared/lib/storage.js +0 -17
  348. package/dist/src/shared/lib/storage.js.map +0 -1
  349. package/dist/src/shared/lib/types.d.ts +0 -36
  350. package/dist/src/shared/lib/types.d.ts.map +0 -1
  351. package/dist/src/shared/lib/types.js +0 -18
  352. package/dist/src/shared/lib/types.js.map +0 -1
  353. package/dist/src/shared/lib/util.d.ts +0 -34
  354. package/dist/src/shared/lib/util.d.ts.map +0 -1
  355. package/dist/src/shared/lib/util.js +0 -137
  356. package/dist/src/shared/lib/util.js.map +0 -1
  357. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  358. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  359. package/dist/src/shared/providers/AuthContext.js +0 -3
  360. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  361. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  362. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  363. package/dist/src/shared/providers/AuthProvider.js +0 -72
  364. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  365. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  366. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  367. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  368. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  369. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  370. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  371. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  372. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  373. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  374. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  375. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  376. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  377. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  378. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  379. package/dist/src/shared/providers/IframeProvider.js +0 -35
  380. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  381. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  382. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  383. package/dist/src/shared/providers/SessionProvider.js +0 -23
  384. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  385. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  386. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  387. package/dist/src/shared/providers/TokenProvider.js +0 -42
  388. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  389. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  390. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  391. package/dist/src/shared/providers/UserProvider.js +0 -52
  392. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  393. package/dist/src/shared/providers/types.d.ts +0 -15
  394. package/dist/src/shared/providers/types.d.ts.map +0 -1
  395. package/dist/src/shared/providers/types.js +0 -2
  396. package/dist/src/shared/providers/types.js.map +0 -1
  397. package/dist/src/shared/version.d.ts +0 -2
  398. package/dist/src/shared/version.d.ts.map +0 -1
  399. package/dist/src/shared/version.js +0 -3
  400. package/dist/src/shared/version.js.map +0 -1
  401. package/dist/src/types.d.ts +0 -148
  402. package/dist/src/types.d.ts.map +0 -1
  403. package/dist/src/types.js +0 -4
  404. package/dist/src/types.js.map +0 -1
  405. package/dist/src/utils.d.ts +0 -15
  406. package/dist/src/utils.d.ts.map +0 -1
  407. package/dist/src/utils.js +0 -43
  408. package/dist/src/utils.js.map +0 -1
  409. package/dist/src/version.d.ts +0 -2
  410. package/dist/src/version.d.ts.map +0 -1
  411. package/dist/src/version.js +0 -3
  412. package/dist/src/version.js.map +0 -1
  413. package/dist/test/integration/sdk.test.d.ts +0 -2
  414. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  415. package/dist/test/integration/sdk.test.js +0 -237
  416. package/dist/test/integration/sdk.test.js.map +0 -1
  417. package/dist/test/support/fixtures.d.ts +0 -26
  418. package/dist/test/support/fixtures.d.ts.map +0 -1
  419. package/dist/test/support/fixtures.js +0 -55
  420. package/dist/test/support/fixtures.js.map +0 -1
  421. package/dist/test/support/tokens.json +0 -26
  422. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  423. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  424. package/dist/test/unit/lib/oauth.test.js +0 -56
  425. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  426. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  427. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  428. package/dist/test/unit/lib/obj.test.js +0 -37
  429. package/dist/test/unit/lib/obj.test.js.map +0 -1
  430. package/dist/test/unit/logger.test.d.ts +0 -2
  431. package/dist/test/unit/logger.test.d.ts.map +0 -1
  432. package/dist/test/unit/logger.test.js +0 -141
  433. package/dist/test/unit/logger.test.js.map +0 -1
  434. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  435. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  436. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  437. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  438. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  439. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  440. package/dist/test/unit/nextjs/config.test.js +0 -203
  441. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  442. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  443. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  444. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  445. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  446. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  447. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  448. package/dist/test/unit/nextjs/handler.test.js +0 -207
  449. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  450. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  451. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  452. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  453. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  454. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  455. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  456. package/dist/test/unit/nextjs/utils.test.js +0 -13
  457. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  458. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  459. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  460. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  461. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  462. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  463. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  464. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  465. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  466. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  467. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  468. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  469. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  470. package/dist/test/unit/server/login.test.d.ts +0 -2
  471. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  472. package/dist/test/unit/server/login.test.js +0 -184
  473. package/dist/test/unit/server/login.test.js.map +0 -1
  474. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  475. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  476. package/dist/test/unit/server/refresh.test.js +0 -55
  477. package/dist/test/unit/server/refresh.test.js.map +0 -1
  478. package/dist/test/unit/server/session.test.d.ts +0 -2
  479. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  480. package/dist/test/unit/server/session.test.js +0 -41
  481. package/dist/test/unit/server/session.test.js.map +0 -1
  482. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  483. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  484. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  485. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  486. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  487. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  488. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  489. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  490. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  491. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  492. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  493. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  494. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  495. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  496. package/dist/test/unit/shared/UserSession.test.js +0 -37
  497. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  498. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  499. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  500. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  501. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  502. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  503. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  504. package/dist/test/unit/shared/printVersion.test.js +0 -39
  505. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  506. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  507. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  508. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  509. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  510. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  511. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  512. package/dist/test/unit/shared/storage.test.js +0 -53
  513. package/dist/test/unit/shared/storage.test.js.map +0 -1
  514. package/dist/test/unit/utils.test.d.ts +0 -2
  515. package/dist/test/unit/utils.test.d.ts.map +0 -1
  516. package/dist/test/unit/utils.test.js +0 -40
  517. package/dist/test/unit/utils.test.js.map +0 -1
  518. package/dist/tsconfig.tsbuildinfo +0 -1
  519. package/dist/vitest.config.d.ts +0 -3
  520. package/dist/vitest.config.d.ts.map +0 -1
  521. package/dist/vitest.config.js +0 -44
  522. package/dist/vitest.config.js.map +0 -1
@@ -1,38 +0,0 @@
1
- import { LocalStorageAdapter } from "@/browser/storage.js";
2
- import { useEffect, useMemo, useState } from "react";
3
- import { GenericAuthenticationRefresher } from "../lib/GenericAuthenticationRefresher.js";
4
- import { useCivicAuthConfig } from "./useCivicAuthConfig.js";
5
- const useRefresh = (session) => {
6
- const authConfig = useCivicAuthConfig();
7
- const storage = useMemo(() => new LocalStorageAdapter(), []);
8
- // setup token autorefresh
9
- const [refresher, setRefresher] = useState(undefined);
10
- useEffect(() => {
11
- if (!authConfig)
12
- return;
13
- const abortController = new AbortController();
14
- const currentRefresher = refresher;
15
- GenericAuthenticationRefresher.build({ ...authConfig }, storage).then((newRefresher) => {
16
- if (abortController.signal.aborted)
17
- return;
18
- currentRefresher?.clearAutorefresh();
19
- setRefresher(newRefresher);
20
- });
21
- return () => {
22
- abortController.abort();
23
- currentRefresher?.clearAutorefresh();
24
- };
25
- // eslint-disable-next-line react-hooks/exhaustive-deps
26
- }, [authConfig, storage]); // Only depend on what actually changes
27
- useEffect(() => {
28
- if (session?.authenticated) {
29
- refresher?.setupAutorefresh();
30
- }
31
- else {
32
- refresher?.clearAutorefresh();
33
- }
34
- return () => refresher?.clearAutorefresh();
35
- }, [refresher, session?.authenticated]);
36
- };
37
- export { useRefresh };
38
- //# sourceMappingURL=useRefresh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRefresh.js","sourceRoot":"","sources":["../../../../src/shared/hooks/useRefresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,UAAU,GAAG,CAAC,OAA2B,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAExC,SAAS,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,SAAS,CAAC;QAEnC,8BAA8B,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CACnE,CAAC,YAAY,EAAE,EAAE;YACf,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3C,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;YACrC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC,CACF,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;QACvC,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,uCAAuC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC7C,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { GenericAuthenticationRefresher } from \"../lib/GenericAuthenticationRefresher.js\";\nimport { useCivicAuthConfig } from \"./useCivicAuthConfig.js\";\nimport type { SessionData } from \"@/types.js\";\n\nconst useRefresh = (session: SessionData | null) => {\n const authConfig = useCivicAuthConfig();\n const storage = useMemo(() => new LocalStorageAdapter(), []);\n\n // setup token autorefresh\n const [refresher, setRefresher] = useState<\n GenericAuthenticationRefresher | undefined\n >(undefined);\n\n useEffect(() => {\n if (!authConfig) return;\n const abortController = new AbortController();\n const currentRefresher = refresher;\n\n GenericAuthenticationRefresher.build({ ...authConfig }, storage).then(\n (newRefresher) => {\n if (abortController.signal.aborted) return;\n\n currentRefresher?.clearAutorefresh();\n setRefresher(newRefresher);\n },\n );\n\n return () => {\n abortController.abort();\n currentRefresher?.clearAutorefresh();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [authConfig, storage]); // Only depend on what actually changes\n\n useEffect(() => {\n if (session?.authenticated) {\n refresher?.setupAutorefresh();\n } else {\n refresher?.clearAutorefresh();\n }\n\n return () => refresher?.clearAutorefresh();\n }, [refresher, session?.authenticated]);\n};\n\nexport { useRefresh };\n"]}
@@ -1,3 +0,0 @@
1
- declare const useSession: () => import("@/shared/providers/SessionProvider.js").SessionProviderOutput;
2
- export { useSession };
3
- //# sourceMappingURL=useSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/useSession.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,UAAU,6EAMf,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- "use client";
2
- import { useContext } from "react";
3
- import { SessionContext } from "@/shared/providers/SessionProvider.js";
4
- // TokenProvider will use this internal context to access session
5
- const useSession = () => {
6
- const context = useContext(SessionContext);
7
- if (!context) {
8
- throw new Error("useSession must be used within an SessionProvider");
9
- }
10
- return context;
11
- };
12
- export { useSession };
13
- //# sourceMappingURL=useSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSession.js","sourceRoot":"","sources":["../../../../src/shared/hooks/useSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,iEAAiE;AACjE,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { SessionContext } from \"@/shared/providers/SessionProvider.js\";\n\n// TokenProvider will use this internal context to access session\nconst useSession = () => {\n const context = useContext(SessionContext);\n if (!context) {\n throw new Error(\"useSession must be used within an SessionProvider\");\n }\n return context;\n};\n\nexport { useSession };\n"]}
@@ -1,15 +0,0 @@
1
- import type { DisplayMode } from "@/types.js";
2
- import { type PKCEConsumer } from "@/services/types.js";
3
- type SignInProps = {
4
- pkceConsumer?: PKCEConsumer;
5
- preSignOut?: () => Promise<void>;
6
- postSignOut?: () => Promise<void>;
7
- displayMode: DisplayMode;
8
- };
9
- declare const useSignIn: ({ pkceConsumer, preSignOut, postSignOut, displayMode, }: SignInProps) => {
10
- signIn: () => Promise<void>;
11
- signOut: () => Promise<void>;
12
- displayMode: DisplayMode;
13
- };
14
- export { useSignIn };
15
- //# sourceMappingURL=useSignIn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/useSignIn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKpE,KAAK,WAAW,GAAG;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,QAAA,MAAM,SAAS,4DAKZ,WAAW;kBAkEyB,OAAO,CAAC,IAAI,CAAC;;;CAsEnD,CAAC;AACF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,126 +0,0 @@
1
- import { BrowserAuthenticationInitiator } from "@/services/AuthenticationService.js";
2
- import { BrowserPublicClientPKCEProducer } from "@/services/PKCE.js";
3
- import { useCivicAuthConfig } from "@/shared/hooks/useCivicAuthConfig.js";
4
- import { useIframe } from "@/shared/hooks/useIframe.js";
5
- import { useCallback, useEffect, useMemo } from "react";
6
- import { PopupError } from "@/services/types.js";
7
- import { useSession } from "./useSession.js";
8
- import { LocalStorageAdapter } from "@/browser/storage.js";
9
- import { clearTokens, clearUser } from "../lib/util.js";
10
- const useSignIn = ({ pkceConsumer, preSignOut, postSignOut, displayMode, }) => {
11
- const civicAuthConfig = useCivicAuthConfig();
12
- const { iframeRef, logoutIframeRef, setIframeIsVisible, setLogoutIframeIsVisible, } = useIframe();
13
- const { data: session } = useSession();
14
- const authInitiator = useMemo(() => {
15
- if (!civicAuthConfig) {
16
- return null;
17
- }
18
- const { clientId, redirectUrl, logoutUrl, logoutRedirectUrl, nonce, oauthServer, endpoints, scopes, } = civicAuthConfig;
19
- return new BrowserAuthenticationInitiator({
20
- pkceConsumer: pkceConsumer || new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side
21
- clientId,
22
- redirectUrl,
23
- logoutUrl,
24
- logoutRedirectUrl,
25
- scopes,
26
- displayMode,
27
- oauthServer,
28
- endpointOverrides: endpoints,
29
- nonce,
30
- });
31
- }, [civicAuthConfig, displayMode, pkceConsumer]);
32
- useEffect(() => {
33
- return () => {
34
- if (authInitiator) {
35
- authInitiator.cleanup();
36
- }
37
- };
38
- }, [authInitiator]);
39
- // This effect is used to clear the tokens and user when the user signs out after a redirect
40
- useEffect(() => {
41
- const params = new URLSearchParams(window.location.search);
42
- const state = params.get("state");
43
- const localStorage = new LocalStorageAdapter();
44
- localStorage.get("logout_state").then((storedLogoutState) => {
45
- if (state && state === storedLogoutState) {
46
- // Clear storage
47
- clearTokens(localStorage);
48
- clearUser(localStorage);
49
- LocalStorageAdapter.emitter.emit("signOut");
50
- // Clean up storage and URL
51
- sessionStorage.removeItem("logout_state");
52
- const cleanUrl = window.location.href.split("?")[0];
53
- window.history.replaceState({}, document.title, cleanUrl);
54
- }
55
- });
56
- }, []);
57
- const signIn = useCallback(async () => {
58
- if (!authInitiator)
59
- return;
60
- authInitiator.setDisplayMode(displayMode);
61
- if (displayMode === "iframe") {
62
- setIframeIsVisible(true);
63
- }
64
- const useIframeRef = iframeRef?.current || null;
65
- await authInitiator.signIn(useIframeRef).catch((error) => {
66
- console.log("signIn error", {
67
- error,
68
- isPopupError: error instanceof PopupError,
69
- });
70
- // if we've tried to open a popup and it has failed, then fallback to redirect mode
71
- if (error instanceof PopupError) {
72
- setIframeIsVisible(false); // hide the iframe
73
- authInitiator.cleanup(); // clear any event listeners from before
74
- authInitiator.setDisplayMode("redirect"); // switch to redirect mode
75
- authInitiator.signIn(useIframeRef); // retry the sign in
76
- }
77
- });
78
- }, [authInitiator, displayMode, iframeRef, setIframeIsVisible]);
79
- const signOut = useCallback(async () => {
80
- const idToken = session?.idToken;
81
- if (!authInitiator)
82
- return;
83
- if (displayMode === "iframe") {
84
- setIframeIsVisible(false);
85
- setLogoutIframeIsVisible(true);
86
- }
87
- try {
88
- await preSignOut?.();
89
- const useIframeRef = logoutIframeRef?.current || null;
90
- await authInitiator.signOut(idToken, useIframeRef).catch((error) => {
91
- console.log("signOut error", {
92
- error,
93
- isPopupError: error instanceof PopupError,
94
- });
95
- // Same popup fallback as signIn
96
- if (error instanceof PopupError) {
97
- setLogoutIframeIsVisible(false);
98
- authInitiator.cleanup();
99
- authInitiator.setDisplayMode("redirect");
100
- authInitiator.signOut(idToken, useIframeRef);
101
- }
102
- });
103
- }
104
- catch (error) {
105
- console.error("Signout error:", error);
106
- }
107
- setLogoutIframeIsVisible(false);
108
- await postSignOut?.();
109
- }, [
110
- session?.idToken,
111
- authInitiator,
112
- displayMode,
113
- setLogoutIframeIsVisible,
114
- postSignOut,
115
- setIframeIsVisible,
116
- preSignOut,
117
- logoutIframeRef,
118
- ]);
119
- return {
120
- signIn,
121
- signOut,
122
- displayMode,
123
- };
124
- };
125
- export { useSignIn };
126
- //# sourceMappingURL=useSignIn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSignIn.js","sourceRoot":"","sources":["../../../../src/shared/hooks/useSignIn.ts"],"names":[],"mappings":"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","sourcesContent":["import { BrowserAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { BrowserPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { useCivicAuthConfig } from \"@/shared/hooks/useCivicAuthConfig.js\";\nimport type { DisplayMode } from \"@/types.js\";\nimport { useIframe } from \"@/shared/hooks/useIframe.js\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport { PopupError, type PKCEConsumer } from \"@/services/types.js\";\nimport { useSession } from \"./useSession.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { clearTokens, clearUser } from \"../lib/util.js\";\n\ntype SignInProps = {\n pkceConsumer?: PKCEConsumer;\n preSignOut?: () => Promise<void>;\n postSignOut?: () => Promise<void>;\n displayMode: DisplayMode;\n};\nconst useSignIn = ({\n pkceConsumer,\n preSignOut,\n postSignOut,\n displayMode,\n}: SignInProps) => {\n const civicAuthConfig = useCivicAuthConfig();\n const {\n iframeRef,\n logoutIframeRef,\n setIframeIsVisible,\n setLogoutIframeIsVisible,\n } = useIframe();\n const { data: session } = useSession();\n\n const authInitiator = useMemo(() => {\n if (!civicAuthConfig) {\n return null;\n }\n const {\n clientId,\n redirectUrl,\n logoutUrl,\n logoutRedirectUrl,\n nonce,\n oauthServer,\n endpoints,\n scopes,\n } = civicAuthConfig;\n return new BrowserAuthenticationInitiator({\n pkceConsumer: pkceConsumer || new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side\n clientId,\n redirectUrl,\n logoutUrl,\n logoutRedirectUrl,\n scopes,\n displayMode,\n oauthServer,\n endpointOverrides: endpoints,\n nonce,\n });\n }, [civicAuthConfig, displayMode, pkceConsumer]);\n\n useEffect(() => {\n return () => {\n if (authInitiator) {\n authInitiator.cleanup();\n }\n };\n }, [authInitiator]);\n\n // This effect is used to clear the tokens and user when the user signs out after a redirect\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const state = params.get(\"state\");\n const localStorage = new LocalStorageAdapter();\n localStorage.get(\"logout_state\").then((storedLogoutState) => {\n if (state && state === storedLogoutState) {\n // Clear storage\n clearTokens(localStorage);\n clearUser(localStorage);\n LocalStorageAdapter.emitter.emit(\"signOut\");\n\n // Clean up storage and URL\n sessionStorage.removeItem(\"logout_state\");\n const cleanUrl = window.location.href.split(\"?\")[0];\n window.history.replaceState({}, document.title, cleanUrl);\n }\n });\n }, []);\n\n const signIn = useCallback(async (): Promise<void> => {\n if (!authInitiator) return;\n\n authInitiator.setDisplayMode(displayMode);\n if (displayMode === \"iframe\") {\n setIframeIsVisible(true);\n }\n const useIframeRef = iframeRef?.current || null;\n await authInitiator.signIn(useIframeRef).catch((error) => {\n console.log(\"signIn error\", {\n error,\n isPopupError: error instanceof PopupError,\n });\n // if we've tried to open a popup and it has failed, then fallback to redirect mode\n if (error instanceof PopupError) {\n setIframeIsVisible(false); // hide the iframe\n authInitiator.cleanup(); // clear any event listeners from before\n authInitiator.setDisplayMode(\"redirect\"); // switch to redirect mode\n authInitiator.signIn(useIframeRef); // retry the sign in\n }\n });\n }, [authInitiator, displayMode, iframeRef, setIframeIsVisible]);\n\n const signOut = useCallback(async () => {\n const idToken = session?.idToken;\n if (!authInitiator) return;\n\n if (displayMode === \"iframe\") {\n setIframeIsVisible(false);\n setLogoutIframeIsVisible(true);\n }\n\n try {\n await preSignOut?.();\n\n const useIframeRef = logoutIframeRef?.current || null;\n await authInitiator.signOut(idToken, useIframeRef).catch((error) => {\n console.log(\"signOut error\", {\n error,\n isPopupError: error instanceof PopupError,\n });\n // Same popup fallback as signIn\n if (error instanceof PopupError) {\n setLogoutIframeIsVisible(false);\n authInitiator.cleanup();\n authInitiator.setDisplayMode(\"redirect\");\n authInitiator.signOut(idToken, useIframeRef);\n }\n });\n } catch (error) {\n console.error(\"Signout error:\", error);\n }\n setLogoutIframeIsVisible(false);\n await postSignOut?.();\n }, [\n session?.idToken,\n authInitiator,\n displayMode,\n setLogoutIframeIsVisible,\n postSignOut,\n setIframeIsVisible,\n preSignOut,\n logoutIframeRef,\n ]);\n\n return {\n signIn,\n signOut,\n displayMode,\n };\n};\nexport { useSignIn };\n"]}
@@ -1,3 +0,0 @@
1
- declare const useToken: () => import("@/shared/providers/TokenProvider.js").TokenContextType;
2
- export { useToken };
3
- //# sourceMappingURL=useToken.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToken.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/useToken.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,sEAQb,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- "use client";
2
- import { useContext } from "react";
3
- import { TokenContext } from "@/shared/providers/TokenProvider.js";
4
- const useToken = () => {
5
- const context = useContext(TokenContext);
6
- if (!context) {
7
- throw new Error("useToken must be used within a TokenProvider");
8
- }
9
- return context;
10
- };
11
- export { useToken };
12
- //# sourceMappingURL=useToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToken.js","sourceRoot":"","sources":["../../../../src/shared/hooks/useToken.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { TokenContext } from \"@/shared/providers/TokenProvider.js\";\n\nconst useToken = () => {\n const context = useContext(TokenContext);\n\n if (!context) {\n throw new Error(\"useToken must be used within a TokenProvider\");\n }\n\n return context;\n};\n\nexport { useToken };\n"]}
@@ -1,5 +0,0 @@
1
- declare const useWindowFocused: () => {
2
- isWindowFocused: boolean;
3
- };
4
- export { useWindowFocused };
5
- //# sourceMappingURL=useWindowFocused.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWindowFocused.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/useWindowFocused.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB;;CAmBrB,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,21 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- const useWindowFocused = () => {
3
- const [isWindowFocused, setIsWindowFocused] = useState(true);
4
- useEffect(() => {
5
- const handleFocus = () => {
6
- setIsWindowFocused(true);
7
- };
8
- const handleBlur = () => {
9
- setIsWindowFocused(false);
10
- };
11
- window.addEventListener("focus", handleFocus);
12
- window.addEventListener("blur", handleBlur);
13
- return () => {
14
- window.removeEventListener("focus", handleFocus);
15
- window.removeEventListener("blur", handleBlur);
16
- };
17
- }, []);
18
- return { isWindowFocused };
19
- };
20
- export { useWindowFocused };
21
- //# sourceMappingURL=useWindowFocused.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWindowFocused.js","sourceRoot":"","sources":["../../../../src/shared/hooks/useWindowFocused.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE5C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,eAAe,EAAE,CAAC;AAC7B,CAAC,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import { useEffect, useState } from \"react\";\n\nconst useWindowFocused = () => {\n const [isWindowFocused, setIsWindowFocused] = useState(true);\n useEffect(() => {\n const handleFocus = () => {\n setIsWindowFocused(true);\n };\n\n const handleBlur = () => {\n setIsWindowFocused(false);\n };\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleBlur);\n\n return () => {\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleBlur);\n };\n }, []);\n return { isWindowFocused };\n};\nexport { useWindowFocused };\n"]}
@@ -1,5 +0,0 @@
1
- import { VERSION } from "./version.js";
2
- export { VERSION };
3
- export declare const getVersion: () => string;
4
- export declare const printVersion: () => void;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,eAAO,MAAM,UAAU,cAAgB,CAAC;AAExC,eAAO,MAAM,YAAY,YAWxB,CAAC"}
@@ -1,16 +0,0 @@
1
- import { VERSION } from "./version.js";
2
- export { VERSION };
3
- let versionPrinted = false;
4
- export const getVersion = () => VERSION;
5
- // print the version to the browser
6
- export const printVersion = () => {
7
- if (!versionPrinted) {
8
- versionPrinted = true;
9
- if (getVersion() &&
10
- typeof window !== "undefined" &&
11
- typeof document !== "undefined") {
12
- console.log(getVersion());
13
- }
14
- }
15
- };
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;AACxC,mCAAmC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,CAAC;QACtB,IACE,UAAU,EAAE;YACZ,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,QAAQ,KAAK,WAAW,EAC/B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { VERSION } from \"./version.js\";\nexport { VERSION };\nlet versionPrinted = false;\nexport const getVersion = () => VERSION;\n// print the version to the browser\nexport const printVersion = () => {\n if (!versionPrinted) {\n versionPrinted = true;\n if (\n getVersion() &&\n typeof window !== \"undefined\" &&\n typeof document !== \"undefined\"\n ) {\n console.log(getVersion());\n }\n }\n};\n"]}
@@ -1,20 +0,0 @@
1
- import type { AuthenticationRefresher } from "@/services/types.js";
2
- import type { AuthStorage, Endpoints, OIDCTokenResponseBody } from "@/types.js";
3
- import type { AuthConfig } from "@/server/config.js";
4
- export declare class GenericAuthenticationRefresher implements AuthenticationRefresher {
5
- private authConfig;
6
- private storage;
7
- private endpointOverrides?;
8
- private oauth2client;
9
- private endpoints;
10
- private refreshTimeout;
11
- private constructor();
12
- get oauthServer(): string;
13
- init(): Promise<this>;
14
- static build(authConfig: AuthConfig, storage: AuthStorage, endpointOverrides?: Partial<Endpoints>): Promise<GenericAuthenticationRefresher>;
15
- refreshTokens(): Promise<OIDCTokenResponseBody>;
16
- private handleRefresh;
17
- setupAutorefresh(): Promise<void>;
18
- clearAutorefresh(): void;
19
- }
20
- //# sourceMappingURL=GenericAuthenticationRefresher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericAuthenticationRefresher.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/GenericAuthenticationRefresher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,qBAAa,8BAA+B,YAAW,uBAAuB;IAM1E,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,iBAAiB,CAAC;IAP5B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO;IAMP,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;WAkBd,KAAK,CAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACrC,OAAO,CAAC,8BAA8B,CAAC;IAWpC,aAAa;YAiBL,aAAa;IAWrB,gBAAgB;IAkBtB,gBAAgB;CAKjB"}
@@ -1,73 +0,0 @@
1
- import { getEndpointsWithOverrides, retrieveTokens, storeTokens, } from "@/shared/lib/util.js";
2
- import { OAuth2Client } from "oslo/oauth2";
3
- import { DEFAULT_AUTH_SERVER } from "@/constants.js";
4
- export class GenericAuthenticationRefresher {
5
- authConfig;
6
- storage;
7
- endpointOverrides;
8
- oauth2client;
9
- endpoints;
10
- refreshTimeout;
11
- constructor(authConfig, storage, endpointOverrides) {
12
- this.authConfig = authConfig;
13
- this.storage = storage;
14
- this.endpointOverrides = endpointOverrides;
15
- }
16
- get oauthServer() {
17
- return this.authConfig.oauthServer || DEFAULT_AUTH_SERVER;
18
- }
19
- async init() {
20
- // resolve oauth config
21
- this.endpoints = await getEndpointsWithOverrides(this.oauthServer, this.endpointOverrides);
22
- this.oauth2client = new OAuth2Client(this.authConfig.clientId, this.endpoints.auth, this.endpoints.token, {
23
- redirectURI: this.authConfig.redirectUrl,
24
- });
25
- return this;
26
- }
27
- static async build(authConfig, storage, endpointOverrides) {
28
- const refresher = new GenericAuthenticationRefresher(authConfig, storage, endpointOverrides);
29
- await refresher.init();
30
- return refresher;
31
- }
32
- async refreshTokens() {
33
- if (!this.oauth2client)
34
- await this.init();
35
- const tokens = await retrieveTokens(this.storage);
36
- if (!tokens?.refresh_token)
37
- throw new Error("No refresh token available");
38
- const oauth2Client = this.oauth2client;
39
- const refreshedTokens = await oauth2Client.refreshAccessToken(tokens.refresh_token);
40
- await storeTokens(this.storage, refreshedTokens);
41
- return tokens;
42
- }
43
- async handleRefresh() {
44
- try {
45
- await this.refreshTokens();
46
- await this.setupAutorefresh(); // Reset the timeout after successful refresh
47
- console.log("Autorefreshed tokens");
48
- }
49
- catch (error) {
50
- console.error("Failed to refresh tokens:", error);
51
- }
52
- }
53
- async setupAutorefresh() {
54
- // Clear any existing timeout
55
- this.clearAutorefresh();
56
- // get expires_in
57
- const tokens = await retrieveTokens(this.storage);
58
- const expires_in = tokens?.expires_in || 60;
59
- // Calculate time until expiry (subtract 30 seconds as buffer)
60
- const bufferTimeMs = 30 * 1000; // 30 seconds in milliseconds
61
- const expiresInMs = expires_in * 1000; // Convert to milliseconds
62
- const refreshTimeMs = Math.max(0, expiresInMs - bufferTimeMs);
63
- this.refreshTimeout = setTimeout(() => {
64
- this.handleRefresh();
65
- }, refreshTimeMs);
66
- }
67
- clearAutorefresh() {
68
- if (this.refreshTimeout) {
69
- clearTimeout(this.refreshTimeout);
70
- }
71
- }
72
- }
73
- //# sourceMappingURL=GenericAuthenticationRefresher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericAuthenticationRefresher.js","sourceRoot":"","sources":["../../../../src/shared/lib/GenericAuthenticationRefresher.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AuthenticationRefresher } from \"@/services/types.js\";\nimport type { AuthStorage, Endpoints, OIDCTokenResponseBody } from \"@/types.js\";\nimport {\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/lib/util.js\";\nimport type { AuthConfig } from \"@/server/config.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\n\nexport class GenericAuthenticationRefresher implements AuthenticationRefresher {\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n private refreshTimeout: NodeJS.Timeout | undefined;\n\n private constructor(\n private authConfig: AuthConfig,\n private storage: AuthStorage,\n private endpointOverrides?: Partial<Endpoints>,\n ) {}\n\n get oauthServer(): string {\n return this.authConfig.oauthServer || DEFAULT_AUTH_SERVER;\n }\n\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.oauthServer,\n this.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.authConfig.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.authConfig.redirectUrl,\n },\n );\n\n return this;\n }\n\n static async build(\n authConfig: AuthConfig,\n storage: AuthStorage,\n endpointOverrides?: Partial<Endpoints>,\n ): Promise<GenericAuthenticationRefresher> {\n const refresher = new GenericAuthenticationRefresher(\n authConfig,\n storage,\n endpointOverrides,\n );\n await refresher.init();\n\n return refresher;\n }\n\n async refreshTokens() {\n if (!this.oauth2client) await this.init();\n\n const tokens = await retrieveTokens(this.storage);\n if (!tokens?.refresh_token) throw new Error(\"No refresh token available\");\n\n const oauth2Client = this.oauth2client!;\n const refreshedTokens =\n await oauth2Client.refreshAccessToken<OIDCTokenResponseBody>(\n tokens.refresh_token,\n );\n\n await storeTokens(this.storage, refreshedTokens);\n\n return tokens;\n }\n\n private async handleRefresh() {\n try {\n await this.refreshTokens();\n await this.setupAutorefresh(); // Reset the timeout after successful refresh\n\n console.log(\"Autorefreshed tokens\");\n } catch (error) {\n console.error(\"Failed to refresh tokens:\", error);\n }\n }\n\n async setupAutorefresh() {\n // Clear any existing timeout\n this.clearAutorefresh();\n\n // get expires_in\n const tokens = await retrieveTokens(this.storage);\n const expires_in = tokens?.expires_in || 60;\n\n // Calculate time until expiry (subtract 30 seconds as buffer)\n const bufferTimeMs = 30 * 1000; // 30 seconds in milliseconds\n const expiresInMs = expires_in * 1000; // Convert to milliseconds\n const refreshTimeMs = Math.max(0, expiresInMs - bufferTimeMs);\n\n this.refreshTimeout = setTimeout(() => {\n this.handleRefresh();\n }, refreshTimeMs);\n }\n\n clearAutorefresh() {\n if (this.refreshTimeout) {\n clearTimeout(this.refreshTimeout);\n }\n }\n}\n"]}
@@ -1,12 +0,0 @@
1
- import type { AuthStorage, User } from "@/types.js";
2
- export interface UserSession {
3
- get(): Promise<User | null>;
4
- set(user: User): Promise<void>;
5
- }
6
- export declare class GenericUserSession implements UserSession {
7
- readonly storage: AuthStorage;
8
- constructor(storage: AuthStorage);
9
- get(): Promise<User | null>;
10
- set(user: User | null): Promise<void>;
11
- }
12
- //# sourceMappingURL=UserSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserSession.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/UserSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAsB,IAAI,EAAE,MAAM,YAAY,CAAC;AAIxE,MAAM,WAAW,WAAW;IAC1B,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC5B,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,qBAAa,kBAAmB,YAAW,WAAW;IACxC,QAAQ,CAAC,OAAO,EAAE,WAAW;gBAApB,OAAO,EAAE,WAAW;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAK3B,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAO5C"}
@@ -1,20 +0,0 @@
1
- import { UserStorage } from "@/shared/lib/types.js";
2
- import { convertForwardedTokenFormat } from "@/lib/jwt.js";
3
- export class GenericUserSession {
4
- storage;
5
- constructor(storage) {
6
- this.storage = storage;
7
- }
8
- async get() {
9
- const user = await this.storage.get(UserStorage.USER);
10
- return user ? JSON.parse(user) : null;
11
- }
12
- async set(user) {
13
- const forwardedTokens = user?.forwardedTokens
14
- ? convertForwardedTokenFormat(user?.forwardedTokens)
15
- : null;
16
- const value = user ? JSON.stringify({ ...user, forwardedTokens }) : "";
17
- await this.storage.set(UserStorage.USER, value);
18
- }
19
- }
20
- //# sourceMappingURL=UserSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserSession.js","sourceRoot":"","sources":["../../../../src/shared/lib/UserSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAO3D,MAAM,OAAO,kBAAkB;IACR;IAArB,YAAqB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAE7C,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAiB;QACzB,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe;YAC3C,CAAC,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAqC,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;CACF","sourcesContent":["import type { AuthStorage, ForwardedTokensJWT, User } from \"@/types.js\";\nimport { UserStorage } from \"@/shared/lib/types.js\";\nimport { convertForwardedTokenFormat } from \"@/lib/jwt.js\";\n\nexport interface UserSession {\n get(): Promise<User | null>;\n set(user: User): Promise<void>;\n}\n\nexport class GenericUserSession implements UserSession {\n constructor(readonly storage: AuthStorage) {}\n\n async get(): Promise<User | null> {\n const user = await this.storage.get(UserStorage.USER);\n return user ? JSON.parse(user) : null;\n }\n\n async set(user: User | null): Promise<void> {\n const forwardedTokens = user?.forwardedTokens\n ? convertForwardedTokenFormat(user?.forwardedTokens as ForwardedTokensJWT)\n : null;\n const value = user ? JSON.stringify({ ...user, forwardedTokens }) : \"\";\n await this.storage.set(UserStorage.USER, value);\n }\n}\n"]}
@@ -1,3 +0,0 @@
1
- import { type AuthStorage, type User } from "@/types.js";
2
- export declare function getUser(storage: AuthStorage): Promise<User | null>;
3
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,WAAW,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAcpE,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAQxE"}
@@ -1,21 +0,0 @@
1
- import { retrieveTokens } from "@/shared/lib/util.js";
2
- import { parseJWT } from "oslo/jwt";
3
- import { tokenKeys } from "@/types.js";
4
- // Function to omit keys from an object
5
- const omitKeys = (keys, obj) => {
6
- const result = { ...obj };
7
- keys.forEach((key) => {
8
- delete result[key];
9
- });
10
- return result;
11
- };
12
- export async function getUser(storage) {
13
- const tokens = await retrieveTokens(storage);
14
- if (!tokens)
15
- return null;
16
- const parsedToken = parseJWT(tokens.id_token)?.payload;
17
- // Assumes all information is in the ID token
18
- // remove the token keys from the user object to stop it getting too large
19
- return parsedToken ? omitKeys(tokenKeys, parsedToken) : null;
20
- }
21
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/shared/lib/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAA+B,MAAM,YAAY,CAAC;AAEpE,uCAAuC;AACvC,MAAM,QAAQ,GAAG,CACf,IAAS,EACT,GAAM,EACM,EAAE;IACd,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAoB;IAChD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAe,CAAC;IAC/D,6CAA6C;IAC7C,0EAA0E;IAC1E,OAAO,WAAW,CAAC,CAAC,CAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC","sourcesContent":["import { retrieveTokens } from \"@/shared/lib/util.js\";\nimport { parseJWT } from \"oslo/jwt\";\nimport { tokenKeys, type AuthStorage, type User } from \"@/types.js\";\n\n// Function to omit keys from an object\nconst omitKeys = <K extends keyof T, T extends Record<string, unknown>>(\n keys: K[],\n obj: T,\n): Omit<T, K> => {\n const result = { ...obj };\n keys.forEach((key) => {\n delete result[key];\n });\n return result;\n};\n\nexport async function getUser(storage: AuthStorage): Promise<User | null> {\n const tokens = await retrieveTokens(storage);\n if (!tokens) return null;\n\n const parsedToken = parseJWT(tokens.id_token)?.payload as User;\n // Assumes all information is in the ID token\n // remove the token keys from the user object to stop it getting too large\n return parsedToken ? (omitKeys(tokenKeys, parsedToken) as User) : null;\n}\n"]}
@@ -1,25 +0,0 @@
1
- import type { AuthStorage, SessionData, UnknownObject, User } from "@/types.js";
2
- type SameSiteOption = "strict" | "lax" | "none";
3
- export interface SessionStorage {
4
- get(): SessionData;
5
- getUser(): User<UnknownObject> | null;
6
- set(data: Partial<SessionData>): void;
7
- setUser(data: User<UnknownObject> | null): void;
8
- clear(): void;
9
- }
10
- export type CookieStorageSettings = {
11
- httpOnly: boolean;
12
- secure: boolean;
13
- sameSite: SameSiteOption;
14
- expires: Date;
15
- path: string;
16
- };
17
- export declare const DEFAULT_COOKIE_DURATION: number;
18
- export declare abstract class CookieStorage implements AuthStorage {
19
- protected settings: CookieStorageSettings;
20
- protected constructor(settings?: Partial<CookieStorageSettings>);
21
- abstract get(key: string): Promise<string | null>;
22
- abstract set(key: string, value: string): Promise<void>;
23
- }
24
- export {};
25
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEhF,KAAK,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,WAAW,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACtC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAU,CAAC;AAE/C,8BAAsB,aAAc,YAAW,WAAW;IACxD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,aAAa,QAAQ,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAanE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACxD"}
@@ -1,17 +0,0 @@
1
- export const DEFAULT_COOKIE_DURATION = 60 * 15; // 15 minutes
2
- export class CookieStorage {
3
- settings;
4
- constructor(settings = {}) {
5
- this.settings = {
6
- httpOnly: settings.httpOnly ?? true,
7
- secure: settings.secure ?? true,
8
- // the callback request comes the auth server
9
- // 'lax' ensures the code_verifier cookie is sent with the request
10
- sameSite: settings.sameSite ?? "lax",
11
- expires: settings.expires ??
12
- new Date(Date.now() + 1000 * DEFAULT_COOKIE_DURATION),
13
- path: settings.path ?? "/",
14
- };
15
- }
16
- }
17
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/shared/lib/storage.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;AAE7D,MAAM,OAAgB,aAAa;IACvB,QAAQ,CAAwB;IAC1C,YAAsB,WAA2C,EAAE;QACjE,IAAI,CAAC,QAAQ,GAAG;YACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;YACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;YAC/B,6CAA6C;YAC7C,kEAAkE;YAClE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;YACpC,OAAO,EACL,QAAQ,CAAC,OAAO;gBAChB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,uBAAuB,CAAC;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,GAAG;SAC3B,CAAC;IACJ,CAAC;CAGF","sourcesContent":["import type { AuthStorage, SessionData, UnknownObject, User } from \"@/types.js\";\n\ntype SameSiteOption = \"strict\" | \"lax\" | \"none\";\n\nexport interface SessionStorage {\n get(): SessionData;\n getUser(): User<UnknownObject> | null;\n set(data: Partial<SessionData>): void;\n setUser(data: User<UnknownObject> | null): void;\n clear(): void;\n}\n\nexport type CookieStorageSettings = {\n httpOnly: boolean;\n secure: boolean;\n sameSite: SameSiteOption;\n expires: Date;\n path: string;\n};\n\nexport const DEFAULT_COOKIE_DURATION = 60 * 15; // 15 minutes\n\nexport abstract class CookieStorage implements AuthStorage {\n protected settings: CookieStorageSettings;\n protected constructor(settings: Partial<CookieStorageSettings> = {}) {\n this.settings = {\n httpOnly: settings.httpOnly ?? true,\n secure: settings.secure ?? true,\n // the callback request comes the auth server\n // 'lax' ensures the code_verifier cookie is sent with the request\n sameSite: settings.sameSite ?? \"lax\",\n expires:\n settings.expires ??\n new Date(Date.now() + 1000 * DEFAULT_COOKIE_DURATION),\n path: settings.path ?? \"/\",\n };\n }\n abstract get(key: string): Promise<string | null>;\n abstract set(key: string, value: string): Promise<void>;\n}\n"]}