@civic/auth 0.2.5 → 0.2.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/dist/cjs/browser/storage.d.ts +1 -0
  2. package/dist/cjs/browser/storage.d.ts.map +1 -1
  3. package/dist/cjs/browser/storage.js +3 -0
  4. package/dist/cjs/browser/storage.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -0
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +3 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/lib/logger.js +1 -1
  10. package/dist/cjs/lib/logger.js.map +1 -1
  11. package/dist/cjs/nextjs/cookies.d.ts +1 -0
  12. package/dist/cjs/nextjs/cookies.d.ts.map +1 -1
  13. package/dist/cjs/nextjs/cookies.js +6 -2
  14. package/dist/cjs/nextjs/cookies.js.map +1 -1
  15. package/dist/cjs/server/index.d.ts +3 -1
  16. package/dist/cjs/server/index.d.ts.map +1 -1
  17. package/dist/cjs/server/index.js +5 -2
  18. package/dist/cjs/server/index.js.map +1 -1
  19. package/dist/cjs/server/login.d.ts +0 -4
  20. package/dist/cjs/server/login.d.ts.map +1 -1
  21. package/dist/cjs/server/login.js +0 -20
  22. package/dist/cjs/server/login.js.map +1 -1
  23. package/dist/cjs/server/logout.d.ts +7 -0
  24. package/dist/cjs/server/logout.d.ts.map +1 -0
  25. package/dist/cjs/server/logout.js +26 -0
  26. package/dist/cjs/server/logout.js.map +1 -0
  27. package/dist/cjs/shared/index.d.ts +1 -0
  28. package/dist/cjs/shared/index.d.ts.map +1 -1
  29. package/dist/cjs/shared/index.js +3 -1
  30. package/dist/cjs/shared/index.js.map +1 -1
  31. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +1 -0
  32. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +1 -1
  33. package/dist/cjs/shared/lib/BrowserCookieStorage.js +3 -0
  34. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +1 -1
  35. package/dist/cjs/shared/lib/UserSession.d.ts +1 -0
  36. package/dist/cjs/shared/lib/UserSession.d.ts.map +1 -1
  37. package/dist/cjs/shared/lib/UserSession.js +3 -0
  38. package/dist/cjs/shared/lib/UserSession.js.map +1 -1
  39. package/dist/cjs/shared/lib/storage.d.ts +1 -0
  40. package/dist/cjs/shared/lib/storage.d.ts.map +1 -1
  41. package/dist/cjs/shared/lib/storage.js.map +1 -1
  42. package/dist/cjs/shared/lib/util.js +3 -3
  43. package/dist/cjs/shared/lib/util.js.map +1 -1
  44. package/dist/cjs/shared/version.d.ts +1 -1
  45. package/dist/cjs/shared/version.d.ts.map +1 -1
  46. package/dist/cjs/shared/version.js +1 -1
  47. package/dist/cjs/shared/version.js.map +1 -1
  48. package/dist/cjs/types.d.ts +1 -0
  49. package/dist/cjs/types.d.ts.map +1 -1
  50. package/dist/cjs/types.js.map +1 -1
  51. package/dist/esm/browser/storage.d.ts +1 -0
  52. package/dist/esm/browser/storage.d.ts.map +1 -1
  53. package/dist/esm/browser/storage.js +3 -0
  54. package/dist/esm/browser/storage.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -0
  56. package/dist/esm/index.d.ts.map +1 -1
  57. package/dist/esm/index.js +1 -0
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/lib/logger.js +1 -1
  60. package/dist/esm/lib/logger.js.map +1 -1
  61. package/dist/esm/nextjs/cookies.d.ts +1 -0
  62. package/dist/esm/nextjs/cookies.d.ts.map +1 -1
  63. package/dist/esm/nextjs/cookies.js +6 -2
  64. package/dist/esm/nextjs/cookies.js.map +1 -1
  65. package/dist/esm/server/index.d.ts +3 -1
  66. package/dist/esm/server/index.d.ts.map +1 -1
  67. package/dist/esm/server/index.js +3 -1
  68. package/dist/esm/server/index.js.map +1 -1
  69. package/dist/esm/server/login.d.ts +0 -4
  70. package/dist/esm/server/login.d.ts.map +1 -1
  71. package/dist/esm/server/login.js +0 -19
  72. package/dist/esm/server/login.js.map +1 -1
  73. package/dist/esm/server/logout.d.ts +7 -0
  74. package/dist/esm/server/logout.d.ts.map +1 -0
  75. package/dist/esm/server/logout.js +23 -0
  76. package/dist/esm/server/logout.js.map +1 -0
  77. package/dist/esm/shared/index.d.ts +1 -0
  78. package/dist/esm/shared/index.d.ts.map +1 -1
  79. package/dist/esm/shared/index.js +1 -0
  80. package/dist/esm/shared/index.js.map +1 -1
  81. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +1 -0
  82. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +1 -1
  83. package/dist/esm/shared/lib/BrowserCookieStorage.js +3 -0
  84. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +1 -1
  85. package/dist/esm/shared/lib/UserSession.d.ts +1 -0
  86. package/dist/esm/shared/lib/UserSession.d.ts.map +1 -1
  87. package/dist/esm/shared/lib/UserSession.js +3 -0
  88. package/dist/esm/shared/lib/UserSession.js.map +1 -1
  89. package/dist/esm/shared/lib/storage.d.ts +1 -0
  90. package/dist/esm/shared/lib/storage.d.ts.map +1 -1
  91. package/dist/esm/shared/lib/storage.js.map +1 -1
  92. package/dist/esm/shared/lib/util.js +3 -3
  93. package/dist/esm/shared/lib/util.js.map +1 -1
  94. package/dist/esm/shared/version.d.ts +1 -1
  95. package/dist/esm/shared/version.d.ts.map +1 -1
  96. package/dist/esm/shared/version.js +1 -1
  97. package/dist/esm/shared/version.js.map +1 -1
  98. package/dist/esm/types.d.ts +1 -0
  99. package/dist/esm/types.d.ts.map +1 -1
  100. package/dist/esm/types.js.map +1 -1
  101. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  102. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  103. package/package.json +18 -19
  104. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  105. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  106. package/dist/cjs/nextjs/GetUser.js +0 -11
  107. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  108. package/dist/cjs/reactjs/hooks/useAuth.d.ts +0 -3
  109. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  110. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  111. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  112. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  113. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  114. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  115. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  116. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  117. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  118. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  119. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  120. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  121. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  122. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  123. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  124. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  125. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  126. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  127. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  128. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  129. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  130. package/dist/esm/nextjs/GetUser.js +0 -7
  131. package/dist/esm/nextjs/GetUser.js.map +0 -1
  132. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  133. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  134. package/dist/esm/reactjs/hooks/useAuth.js +0 -12
  135. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  136. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  137. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  138. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  139. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  140. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  141. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  142. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  143. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  144. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  145. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  146. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  147. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  148. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  149. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  150. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  151. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  152. package/dist/generateVersion.d.ts +0 -2
  153. package/dist/generateVersion.d.ts.map +0 -1
  154. package/dist/generateVersion.js +0 -12
  155. package/dist/generateVersion.js.map +0 -1
  156. package/dist/package.json +0 -118
  157. package/dist/src/browser/storage.d.ts +0 -9
  158. package/dist/src/browser/storage.d.ts.map +0 -1
  159. package/dist/src/browser/storage.js +0 -17
  160. package/dist/src/browser/storage.js.map +0 -1
  161. package/dist/src/config.d.ts +0 -3
  162. package/dist/src/config.d.ts.map +0 -1
  163. package/dist/src/config.js +0 -5
  164. package/dist/src/config.js.map +0 -1
  165. package/dist/src/constants.d.ts +0 -8
  166. package/dist/src/constants.d.ts.map +0 -1
  167. package/dist/src/constants.js +0 -16
  168. package/dist/src/constants.js.map +0 -1
  169. package/dist/src/index.d.ts +0 -6
  170. package/dist/src/index.d.ts.map +0 -1
  171. package/dist/src/index.js +0 -4
  172. package/dist/src/index.js.map +0 -1
  173. package/dist/src/lib/cookies.d.ts +0 -7
  174. package/dist/src/lib/cookies.d.ts.map +0 -1
  175. package/dist/src/lib/cookies.js +0 -25
  176. package/dist/src/lib/cookies.js.map +0 -1
  177. package/dist/src/lib/jwt.d.ts +0 -3
  178. package/dist/src/lib/jwt.d.ts.map +0 -1
  179. package/dist/src/lib/jwt.js +0 -9
  180. package/dist/src/lib/jwt.js.map +0 -1
  181. package/dist/src/lib/logger.d.ts +0 -26
  182. package/dist/src/lib/logger.d.ts.map +0 -1
  183. package/dist/src/lib/logger.js +0 -55
  184. package/dist/src/lib/logger.js.map +0 -1
  185. package/dist/src/lib/oauth.d.ts +0 -19
  186. package/dist/src/lib/oauth.d.ts.map +0 -1
  187. package/dist/src/lib/oauth.js +0 -61
  188. package/dist/src/lib/oauth.js.map +0 -1
  189. package/dist/src/lib/obj.d.ts +0 -3
  190. package/dist/src/lib/obj.d.ts.map +0 -1
  191. package/dist/src/lib/obj.js +0 -18
  192. package/dist/src/lib/obj.js.map +0 -1
  193. package/dist/src/lib/postMessage.d.ts +0 -4
  194. package/dist/src/lib/postMessage.d.ts.map +0 -1
  195. package/dist/src/lib/postMessage.js +0 -15
  196. package/dist/src/lib/postMessage.js.map +0 -1
  197. package/dist/src/lib/windowUtil.d.ts +0 -4
  198. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  199. package/dist/src/lib/windowUtil.js +0 -31
  200. package/dist/src/lib/windowUtil.js.map +0 -1
  201. package/dist/src/nextjs/GetUser.d.ts +0 -6
  202. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  203. package/dist/src/nextjs/GetUser.js +0 -7
  204. package/dist/src/nextjs/GetUser.js.map +0 -1
  205. package/dist/src/nextjs/config.d.ts +0 -181
  206. package/dist/src/nextjs/config.d.ts.map +0 -1
  207. package/dist/src/nextjs/config.js +0 -177
  208. package/dist/src/nextjs/config.js.map +0 -1
  209. package/dist/src/nextjs/cookies.d.ts +0 -30
  210. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  211. package/dist/src/nextjs/cookies.js +0 -112
  212. package/dist/src/nextjs/cookies.js.map +0 -1
  213. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  214. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  215. package/dist/src/nextjs/hooks/index.js +0 -2
  216. package/dist/src/nextjs/hooks/index.js.map +0 -1
  217. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  218. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  219. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  220. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  221. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  222. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  223. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  224. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  225. package/dist/src/nextjs/index.d.ts +0 -7
  226. package/dist/src/nextjs/index.d.ts.map +0 -1
  227. package/dist/src/nextjs/index.js +0 -8
  228. package/dist/src/nextjs/index.js.map +0 -1
  229. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  230. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  231. package/dist/src/nextjs/middleware/index.js +0 -4
  232. package/dist/src/nextjs/middleware/index.js.map +0 -1
  233. package/dist/src/nextjs/middleware.d.ts +0 -59
  234. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  235. package/dist/src/nextjs/middleware.js +0 -107
  236. package/dist/src/nextjs/middleware.js.map +0 -1
  237. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  238. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  239. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  240. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  241. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  242. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  243. package/dist/src/nextjs/routeHandler.js +0 -309
  244. package/dist/src/nextjs/routeHandler.js.map +0 -1
  245. package/dist/src/nextjs/utils.d.ts +0 -3
  246. package/dist/src/nextjs/utils.d.ts.map +0 -1
  247. package/dist/src/nextjs/utils.js +0 -5
  248. package/dist/src/nextjs/utils.js.map +0 -1
  249. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  250. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  251. package/dist/src/reactjs/components/SignInButton.js +0 -14
  252. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  253. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  254. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  255. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  256. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  257. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  258. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  259. package/dist/src/reactjs/components/UserButton.js +0 -118
  260. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  261. package/dist/src/reactjs/components/index.d.ts +0 -6
  262. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  263. package/dist/src/reactjs/components/index.js +0 -6
  264. package/dist/src/reactjs/components/index.js.map +0 -1
  265. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  266. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  267. package/dist/src/reactjs/hooks/index.js +0 -6
  268. package/dist/src/reactjs/hooks/index.js.map +0 -1
  269. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  270. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  271. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  272. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  273. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  274. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  275. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  276. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  277. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  278. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  279. package/dist/src/reactjs/hooks/useUser.js +0 -12
  280. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  281. package/dist/src/reactjs/index.d.ts +0 -6
  282. package/dist/src/reactjs/index.d.ts.map +0 -1
  283. package/dist/src/reactjs/index.js +0 -10
  284. package/dist/src/reactjs/index.js.map +0 -1
  285. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  286. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  287. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  288. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  289. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  290. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  291. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  292. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  293. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  294. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  295. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  296. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  297. package/dist/src/reactjs/providers/index.d.ts +0 -8
  298. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  299. package/dist/src/reactjs/providers/index.js +0 -7
  300. package/dist/src/reactjs/providers/index.js.map +0 -1
  301. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  302. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  303. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  304. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  305. package/dist/src/server/config.d.ts +0 -10
  306. package/dist/src/server/config.d.ts.map +0 -1
  307. package/dist/src/server/config.js +0 -2
  308. package/dist/src/server/config.js.map +0 -1
  309. package/dist/src/server/index.d.ts +0 -7
  310. package/dist/src/server/index.d.ts.map +0 -1
  311. package/dist/src/server/index.js +0 -7
  312. package/dist/src/server/index.js.map +0 -1
  313. package/dist/src/server/login.d.ts +0 -21
  314. package/dist/src/server/login.d.ts.map +0 -1
  315. package/dist/src/server/login.js +0 -56
  316. package/dist/src/server/login.js.map +0 -1
  317. package/dist/src/server/refresh.d.ts +0 -7
  318. package/dist/src/server/refresh.d.ts.map +0 -1
  319. package/dist/src/server/refresh.js +0 -13
  320. package/dist/src/server/refresh.js.map +0 -1
  321. package/dist/src/services/AuthenticationService.d.ts +0 -91
  322. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  323. package/dist/src/services/AuthenticationService.js +0 -322
  324. package/dist/src/services/AuthenticationService.js.map +0 -1
  325. package/dist/src/services/PKCE.d.ts +0 -20
  326. package/dist/src/services/PKCE.d.ts.map +0 -1
  327. package/dist/src/services/PKCE.js +0 -44
  328. package/dist/src/services/PKCE.js.map +0 -1
  329. package/dist/src/services/types.d.ts +0 -24
  330. package/dist/src/services/types.d.ts.map +0 -1
  331. package/dist/src/services/types.js +0 -7
  332. package/dist/src/services/types.js.map +0 -1
  333. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  334. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  335. package/dist/src/shared/components/BlockDisplay.js +0 -25
  336. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  337. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  338. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  339. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  340. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  341. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  342. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  343. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  344. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  345. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  346. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  347. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  348. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  349. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  350. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  351. package/dist/src/shared/components/CloseIcon.js +0 -6
  352. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  353. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  354. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  355. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  356. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  357. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  358. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  359. package/dist/src/shared/components/LoadingIcon.js +0 -30
  360. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  361. package/dist/src/shared/hooks/index.d.ts +0 -11
  362. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  363. package/dist/src/shared/hooks/index.js +0 -11
  364. package/dist/src/shared/hooks/index.js.map +0 -1
  365. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  366. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  367. package/dist/src/shared/hooks/useAuth.js +0 -12
  368. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  369. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  370. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  371. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  372. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  373. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  374. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  375. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  376. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  377. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  378. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  379. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  380. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  381. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  382. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  383. package/dist/src/shared/hooks/useIframe.js +0 -13
  384. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  385. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  386. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  387. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  388. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  389. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  390. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  391. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  392. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  393. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  394. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  395. package/dist/src/shared/hooks/useRefresh.js +0 -38
  396. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  397. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  398. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  399. package/dist/src/shared/hooks/useSession.js +0 -13
  400. package/dist/src/shared/hooks/useSession.js.map +0 -1
  401. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  402. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  403. package/dist/src/shared/hooks/useSignIn.js +0 -126
  404. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  405. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  406. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  407. package/dist/src/shared/hooks/useToken.js +0 -12
  408. package/dist/src/shared/hooks/useToken.js.map +0 -1
  409. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  410. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  411. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  412. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  413. package/dist/src/shared/index.d.ts +0 -5
  414. package/dist/src/shared/index.d.ts.map +0 -1
  415. package/dist/src/shared/index.js +0 -16
  416. package/dist/src/shared/index.js.map +0 -1
  417. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  418. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  419. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  420. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  421. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  422. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  423. package/dist/src/shared/lib/UserSession.js +0 -20
  424. package/dist/src/shared/lib/UserSession.js.map +0 -1
  425. package/dist/src/shared/lib/session.d.ts +0 -3
  426. package/dist/src/shared/lib/session.d.ts.map +0 -1
  427. package/dist/src/shared/lib/session.js +0 -21
  428. package/dist/src/shared/lib/session.js.map +0 -1
  429. package/dist/src/shared/lib/storage.d.ts +0 -25
  430. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  431. package/dist/src/shared/lib/storage.js +0 -17
  432. package/dist/src/shared/lib/storage.js.map +0 -1
  433. package/dist/src/shared/lib/types.d.ts +0 -36
  434. package/dist/src/shared/lib/types.d.ts.map +0 -1
  435. package/dist/src/shared/lib/types.js +0 -18
  436. package/dist/src/shared/lib/types.js.map +0 -1
  437. package/dist/src/shared/lib/util.d.ts +0 -34
  438. package/dist/src/shared/lib/util.d.ts.map +0 -1
  439. package/dist/src/shared/lib/util.js +0 -137
  440. package/dist/src/shared/lib/util.js.map +0 -1
  441. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  442. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  443. package/dist/src/shared/providers/AuthContext.js +0 -3
  444. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  445. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  446. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  447. package/dist/src/shared/providers/AuthProvider.js +0 -72
  448. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  449. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  450. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  451. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  452. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  453. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  454. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  455. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  456. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  457. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  458. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  459. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  460. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  461. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  462. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  463. package/dist/src/shared/providers/IframeProvider.js +0 -35
  464. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  465. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  466. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  467. package/dist/src/shared/providers/SessionProvider.js +0 -23
  468. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  469. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  470. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  471. package/dist/src/shared/providers/TokenProvider.js +0 -42
  472. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  473. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  474. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  475. package/dist/src/shared/providers/UserProvider.js +0 -52
  476. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  477. package/dist/src/shared/providers/types.d.ts +0 -15
  478. package/dist/src/shared/providers/types.d.ts.map +0 -1
  479. package/dist/src/shared/providers/types.js +0 -2
  480. package/dist/src/shared/providers/types.js.map +0 -1
  481. package/dist/src/shared/version.d.ts +0 -2
  482. package/dist/src/shared/version.d.ts.map +0 -1
  483. package/dist/src/shared/version.js +0 -3
  484. package/dist/src/shared/version.js.map +0 -1
  485. package/dist/src/types.d.ts +0 -148
  486. package/dist/src/types.d.ts.map +0 -1
  487. package/dist/src/types.js +0 -4
  488. package/dist/src/types.js.map +0 -1
  489. package/dist/src/utils.d.ts +0 -15
  490. package/dist/src/utils.d.ts.map +0 -1
  491. package/dist/src/utils.js +0 -43
  492. package/dist/src/utils.js.map +0 -1
  493. package/dist/src/version.d.ts +0 -2
  494. package/dist/src/version.d.ts.map +0 -1
  495. package/dist/src/version.js +0 -3
  496. package/dist/src/version.js.map +0 -1
  497. package/dist/test/integration/sdk.test.d.ts +0 -2
  498. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  499. package/dist/test/integration/sdk.test.js +0 -237
  500. package/dist/test/integration/sdk.test.js.map +0 -1
  501. package/dist/test/support/fixtures.d.ts +0 -26
  502. package/dist/test/support/fixtures.d.ts.map +0 -1
  503. package/dist/test/support/fixtures.js +0 -55
  504. package/dist/test/support/fixtures.js.map +0 -1
  505. package/dist/test/support/tokens.json +0 -26
  506. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  507. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  508. package/dist/test/unit/lib/oauth.test.js +0 -56
  509. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  510. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  511. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  512. package/dist/test/unit/lib/obj.test.js +0 -37
  513. package/dist/test/unit/lib/obj.test.js.map +0 -1
  514. package/dist/test/unit/logger.test.d.ts +0 -2
  515. package/dist/test/unit/logger.test.d.ts.map +0 -1
  516. package/dist/test/unit/logger.test.js +0 -141
  517. package/dist/test/unit/logger.test.js.map +0 -1
  518. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  519. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  520. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  521. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  522. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  523. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  524. package/dist/test/unit/nextjs/config.test.js +0 -203
  525. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  526. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  527. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  528. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  529. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  530. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  531. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  532. package/dist/test/unit/nextjs/handler.test.js +0 -207
  533. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  534. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  535. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  536. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  537. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  538. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  539. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  540. package/dist/test/unit/nextjs/utils.test.js +0 -13
  541. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  542. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  543. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  544. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  545. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  546. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  547. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  548. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  549. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  550. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  551. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  552. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  553. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  554. package/dist/test/unit/server/login.test.d.ts +0 -2
  555. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  556. package/dist/test/unit/server/login.test.js +0 -184
  557. package/dist/test/unit/server/login.test.js.map +0 -1
  558. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  559. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  560. package/dist/test/unit/server/refresh.test.js +0 -55
  561. package/dist/test/unit/server/refresh.test.js.map +0 -1
  562. package/dist/test/unit/server/session.test.d.ts +0 -2
  563. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  564. package/dist/test/unit/server/session.test.js +0 -41
  565. package/dist/test/unit/server/session.test.js.map +0 -1
  566. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  567. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  568. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  569. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  570. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  571. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  572. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  573. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  574. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  575. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  576. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  577. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  578. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  579. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  580. package/dist/test/unit/shared/UserSession.test.js +0 -37
  581. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  582. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  583. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  584. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  585. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  586. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  587. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  588. package/dist/test/unit/shared/printVersion.test.js +0 -39
  589. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  590. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  591. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  592. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  593. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  594. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  595. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  596. package/dist/test/unit/shared/storage.test.js +0 -53
  597. package/dist/test/unit/shared/storage.test.js.map +0 -1
  598. package/dist/test/unit/utils.test.d.ts +0 -2
  599. package/dist/test/unit/utils.test.d.ts.map +0 -1
  600. package/dist/test/unit/utils.test.js +0 -40
  601. package/dist/test/unit/utils.test.js.map +0 -1
  602. package/dist/tsconfig.tsbuildinfo +0 -1
  603. package/dist/vitest.config.d.ts +0 -3
  604. package/dist/vitest.config.d.ts.map +0 -1
  605. package/dist/vitest.config.js +0 -44
  606. package/dist/vitest.config.js.map +0 -1
@@ -5,5 +5,6 @@ export declare class LocalStorageAdapter implements AuthStorage {
5
5
  static get emitter(): EventEmitter;
6
6
  get(key: string): Promise<string>;
7
7
  set(key: string, value: string): Promise<void>;
8
+ delete(key: string): Promise<void>;
8
9
  }
9
10
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/browser/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,qBAAa,mBAAoB,YAAW,WAAW;IACrD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;IAC9B,MAAM,KAAK,OAAO,IAAI,YAAY,CAKjC;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/browser/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,qBAAa,mBAAoB,YAAW,WAAW;IACrD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;IAC9B,MAAM,KAAK,OAAO,IAAI,YAAY,CAKjC;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -16,6 +16,9 @@ class LocalStorageAdapter {
16
16
  async set(key, value) {
17
17
  localStorage.setItem(key, value);
18
18
  }
19
+ async delete(key) {
20
+ localStorage.removeItem(key);
21
+ }
19
22
  }
20
23
  exports.LocalStorageAdapter = LocalStorageAdapter;
21
24
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/browser/storage.ts"],"names":[],"mappings":";;;AACA,iDAA6C;AAE7C,MAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAe;IAC9B,MAAM,KAAK,OAAO;QAChB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAClC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,4BAAY,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAhBD,kDAgBC","sourcesContent":["import type { AuthStorage } from \"@/types.js\";\nimport { EventEmitter } from \"eventemitter3\";\n\nexport class LocalStorageAdapter implements AuthStorage {\n static _emitter: EventEmitter;\n static get emitter(): EventEmitter {\n if (!LocalStorageAdapter._emitter) {\n LocalStorageAdapter._emitter = new EventEmitter();\n }\n return LocalStorageAdapter._emitter;\n }\n\n async get(key: string): Promise<string> {\n return Promise.resolve(localStorage.getItem(key) || \"\");\n }\n\n async set(key: string, value: string): Promise<void> {\n localStorage.setItem(key, value);\n }\n}\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/browser/storage.ts"],"names":[],"mappings":";;;AACA,iDAA6C;AAE7C,MAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAe;IAC9B,MAAM,KAAK,OAAO;QAChB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAClC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,4BAAY,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AApBD,kDAoBC","sourcesContent":["import type { AuthStorage } from \"@/types.js\";\nimport { EventEmitter } from \"eventemitter3\";\n\nexport class LocalStorageAdapter implements AuthStorage {\n static _emitter: EventEmitter;\n static get emitter(): EventEmitter {\n if (!LocalStorageAdapter._emitter) {\n LocalStorageAdapter._emitter = new EventEmitter();\n }\n return LocalStorageAdapter._emitter;\n }\n\n async get(key: string): Promise<string> {\n return Promise.resolve(localStorage.getItem(key) || \"\");\n }\n\n async set(key: string, value: string): Promise<void> {\n localStorage.setItem(key, value);\n }\n\n async delete(key: string): Promise<void> {\n localStorage.removeItem(key);\n }\n}\n"]}
@@ -3,5 +3,6 @@ export { AuthStatus } from "./types.js";
3
3
  export type * from "./shared/lib/types.js";
4
4
  export type { UserContextType } from "./shared/providers/UserProvider.js";
5
5
  import { VERSION } from "./shared/index.js";
6
+ export { createLogger } from "./lib/logger.js";
6
7
  export { VERSION };
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,mBAAmB,uBAAuB,CAAC;AAE3C,YAAY,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAgB,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,mBAAmB,uBAAuB,CAAC;AAE3C,YAAY,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAgB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VERSION = exports.AuthStatus = void 0;
3
+ exports.VERSION = exports.createLogger = exports.AuthStatus = void 0;
4
4
  var types_js_1 = require("./types.js");
5
5
  Object.defineProperty(exports, "AuthStatus", { enumerable: true, get: function () { return types_js_1.AuthStatus; } });
6
6
  const index_js_1 = require("./shared/index.js");
7
7
  Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return index_js_1.VERSION; } });
8
+ var logger_js_1 = require("./lib/logger.js");
9
+ Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_js_1.createLogger; } });
8
10
  (0, index_js_1.printVersion)();
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAaA,uCAAwC;AAA/B,sGAAA,UAAU,OAAA;AAInB,gDAA0D;AAEjD,wFAFA,kBAAO,OAEA;AADhB,IAAA,uBAAY,GAAE,CAAC","sourcesContent":["// These are the default exports of the project.\n// They are limited by design to ensure that the public API does not expose any internal implementation details.\n// Do not change this without thinking carefully about the impact on the client-facing public API.\nexport type {\n Tokens,\n Endpoints,\n Config,\n User,\n DisplayMode,\n ForwardedTokens,\n AuthStorage,\n} from \"@/types.js\";\n\nexport { AuthStatus } from \"@/types.js\";\nexport type * from \"@/shared/lib/types.js\";\n\nexport type { UserContextType } from \"@/shared/providers/UserProvider.js\";\nimport { VERSION, printVersion } from \"@/shared/index.js\";\nprintVersion();\nexport { VERSION };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAaA,uCAAwC;AAA/B,sGAAA,UAAU,OAAA;AAInB,gDAA0D;AAGjD,wFAHA,kBAAO,OAGA;AAFhB,6CAA+C;AAAtC,yGAAA,YAAY,OAAA;AACrB,IAAA,uBAAY,GAAE,CAAC","sourcesContent":["// These are the default exports of the project.\n// They are limited by design to ensure that the public API does not expose any internal implementation details.\n// Do not change this without thinking carefully about the impact on the client-facing public API.\nexport type {\n Tokens,\n Endpoints,\n Config,\n User,\n DisplayMode,\n ForwardedTokens,\n AuthStorage,\n} from \"@/types.js\";\n\nexport { AuthStatus } from \"@/types.js\";\nexport type * from \"@/shared/lib/types.js\";\n\nexport type { UserContextType } from \"@/shared/providers/UserProvider.js\";\nimport { VERSION, printVersion } from \"@/shared/index.js\";\nexport { createLogger } from \"@/lib/logger.js\";\nprintVersion();\nexport { VERSION };\n"]}
@@ -37,7 +37,7 @@ class DebugLogger {
37
37
  }
38
38
  const createLogger = (namespace) => new DebugLogger(namespace);
39
39
  exports.createLogger = createLogger;
40
- // Pre-configured loggers for different parts of your package
40
+ // Pre-configured loggers for different parts of the package
41
41
  exports.loggers = {
42
42
  // Next.js specific loggers
43
43
  nextjs: {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAM,YAAY,GAAG,aAAa,CAAC;AASnC,MAAM,WAAW;IACP,WAAW,CAAiB;IAC5B,UAAU,CAAiB;IAC3B,UAAU,CAAiB;IAC3B,WAAW,CAAiB;IAEpC,YAAY,SAAiB;QAC3B,+CAA+C;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,QAAQ,CAAC,CAAC;QAE/D,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAEM,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAU,EAAE,CACxD,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AADhB,QAAA,YAAY,gBACI;AAE7B,6DAA6D;AAChD,QAAA,OAAO,GAAG;IACrB,2BAA2B;IAC3B,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,oBAAY,EAAC,YAAY,CAAC;QAClC,UAAU,EAAE,IAAA,oBAAY,EAAC,gBAAgB,CAAC;QAC1C,QAAQ,EAAE;YACR,IAAI,EAAE,IAAA,oBAAY,EAAC,mBAAmB,CAAC;SACxC;KACF;IACD,yBAAyB;IACzB,KAAK,EAAE;QACL,UAAU,EAAE,IAAA,oBAAY,EAAC,kBAAkB,CAAC;QAC5C,KAAK,EAAE,IAAA,oBAAY,EAAC,aAAa,CAAC;QAClC,OAAO,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC;KACvC;IACD,2BAA2B;IAC3B,QAAQ,EAAE;QACR,UAAU,EAAE,IAAA,oBAAY,EAAC,kBAAkB,CAAC;QAC5C,OAAO,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC;KACvC;CACO,CAAC","sourcesContent":["import debug from \"debug\";\n\nconst PACKAGE_NAME = \"@civic/auth\";\n\nexport interface Logger {\n debug(message: string, ...args: unknown[]): void;\n info(message: string, ...args: unknown[]): void;\n warn(message: string, ...args: unknown[]): void;\n error(message: string, ...args: unknown[]): void;\n}\n\nclass DebugLogger implements Logger {\n private debugLogger: debug.Debugger;\n private infoLogger: debug.Debugger;\n private warnLogger: debug.Debugger;\n private errorLogger: debug.Debugger;\n\n constructor(namespace: string) {\n // Format: @org/package:library:component:level\n this.debugLogger = debug(`${PACKAGE_NAME}:${namespace}:debug`);\n this.infoLogger = debug(`${PACKAGE_NAME}:${namespace}:info`);\n this.warnLogger = debug(`${PACKAGE_NAME}:${namespace}:warn`);\n this.errorLogger = debug(`${PACKAGE_NAME}:${namespace}:error`);\n\n this.debugLogger.color = \"4\";\n this.infoLogger.color = \"2\";\n this.warnLogger.color = \"3\";\n this.errorLogger.color = \"1\";\n }\n\n debug(message: string, ...args: unknown[]): void {\n this.debugLogger(message, ...args);\n }\n\n info(message: string, ...args: unknown[]): void {\n this.infoLogger(message, ...args);\n }\n\n warn(message: string, ...args: unknown[]): void {\n this.warnLogger(message, ...args);\n }\n\n error(message: string, ...args: unknown[]): void {\n this.errorLogger(message, ...args);\n }\n}\n\nexport const createLogger = (namespace: string): Logger =>\n new DebugLogger(namespace);\n\n// Pre-configured loggers for different parts of your package\nexport const loggers = {\n // Next.js specific loggers\n nextjs: {\n routes: createLogger(\"api:routes\"),\n middleware: createLogger(\"api:middleware\"),\n handlers: {\n auth: createLogger(\"api:handlers:auth\"),\n },\n },\n // React specific loggers\n react: {\n components: createLogger(\"react:components\"),\n hooks: createLogger(\"react:hooks\"),\n context: createLogger(\"react:context\"),\n },\n // Shared utilities loggers\n services: {\n validation: createLogger(\"utils:validation\"),\n network: createLogger(\"utils:network\"),\n },\n} as const;\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAM,YAAY,GAAG,aAAa,CAAC;AASnC,MAAM,WAAW;IACP,WAAW,CAAiB;IAC5B,UAAU,CAAiB;IAC3B,UAAU,CAAiB;IAC3B,WAAW,CAAiB;IAEpC,YAAY,SAAiB;QAC3B,+CAA+C;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAA,eAAK,EAAC,GAAG,YAAY,IAAI,SAAS,QAAQ,CAAC,CAAC;QAE/D,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAEM,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAU,EAAE,CACxD,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AADhB,QAAA,YAAY,gBACI;AAE7B,4DAA4D;AAC/C,QAAA,OAAO,GAAG;IACrB,2BAA2B;IAC3B,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,oBAAY,EAAC,YAAY,CAAC;QAClC,UAAU,EAAE,IAAA,oBAAY,EAAC,gBAAgB,CAAC;QAC1C,QAAQ,EAAE;YACR,IAAI,EAAE,IAAA,oBAAY,EAAC,mBAAmB,CAAC;SACxC;KACF;IACD,yBAAyB;IACzB,KAAK,EAAE;QACL,UAAU,EAAE,IAAA,oBAAY,EAAC,kBAAkB,CAAC;QAC5C,KAAK,EAAE,IAAA,oBAAY,EAAC,aAAa,CAAC;QAClC,OAAO,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC;KACvC;IACD,2BAA2B;IAC3B,QAAQ,EAAE;QACR,UAAU,EAAE,IAAA,oBAAY,EAAC,kBAAkB,CAAC;QAC5C,OAAO,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC;KACvC;CACO,CAAC","sourcesContent":["import debug from \"debug\";\n\nconst PACKAGE_NAME = \"@civic/auth\";\n\nexport interface Logger {\n debug(message: string, ...args: unknown[]): void;\n info(message: string, ...args: unknown[]): void;\n warn(message: string, ...args: unknown[]): void;\n error(message: string, ...args: unknown[]): void;\n}\n\nclass DebugLogger implements Logger {\n private debugLogger: debug.Debugger;\n private infoLogger: debug.Debugger;\n private warnLogger: debug.Debugger;\n private errorLogger: debug.Debugger;\n\n constructor(namespace: string) {\n // Format: @org/package:library:component:level\n this.debugLogger = debug(`${PACKAGE_NAME}:${namespace}:debug`);\n this.infoLogger = debug(`${PACKAGE_NAME}:${namespace}:info`);\n this.warnLogger = debug(`${PACKAGE_NAME}:${namespace}:warn`);\n this.errorLogger = debug(`${PACKAGE_NAME}:${namespace}:error`);\n\n this.debugLogger.color = \"4\";\n this.infoLogger.color = \"2\";\n this.warnLogger.color = \"3\";\n this.errorLogger.color = \"1\";\n }\n\n debug(message: string, ...args: unknown[]): void {\n this.debugLogger(message, ...args);\n }\n\n info(message: string, ...args: unknown[]): void {\n this.infoLogger(message, ...args);\n }\n\n warn(message: string, ...args: unknown[]): void {\n this.warnLogger(message, ...args);\n }\n\n error(message: string, ...args: unknown[]): void {\n this.errorLogger(message, ...args);\n }\n}\n\nexport const createLogger = (namespace: string): Logger =>\n new DebugLogger(namespace);\n\n// Pre-configured loggers for different parts of the package\nexport const loggers = {\n // Next.js specific loggers\n nextjs: {\n routes: createLogger(\"api:routes\"),\n middleware: createLogger(\"api:middleware\"),\n handlers: {\n auth: createLogger(\"api:handlers:auth\"),\n },\n },\n // React specific loggers\n react: {\n components: createLogger(\"react:components\"),\n hooks: createLogger(\"react:hooks\"),\n context: createLogger(\"react:context\"),\n },\n // Shared utilities loggers\n services: {\n validation: createLogger(\"utils:validation\"),\n network: createLogger(\"utils:network\"),\n },\n} as const;\n"]}
@@ -21,6 +21,7 @@ declare class NextjsCookieStorage extends CookieStorage {
21
21
  constructor(config?: Partial<Record<KeySetter, CookieConfig>>);
22
22
  get(key: string): Promise<string | null>;
23
23
  set(key: KeySetter, value: string): Promise<void>;
24
+ delete(key: KeySetter): Promise<void>;
24
25
  }
25
26
  export { createTokenCookies, createUserInfoCookie, clearAuthCookies, NextjsCookieStorage, };
26
27
  //# sourceMappingURL=cookies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,QAAA,MAAM,kBAAkB,aACZ,QAAQ,eACL,WAAW,UAChB,UAAU,SA+BnB,CAAC;AAcF;;GAEG;AACH,QAAA,MAAM,oBAAoB,aACd,QAAQ,QACZ,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,eACnB,WAAW,UAChB,UAAU,SA4BnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,gBAAgB,qBAKrB,CAAC;AAEF,KAAK,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAC1D,cAAM,mBAAoB,SAAQ,aAAa;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAAhD,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAM;IAOpE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOxD;AAED,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,QAAA,MAAM,kBAAkB,aACZ,QAAQ,eACL,WAAW,UAChB,UAAU,SA+BnB,CAAC;AAcF;;GAEG;AACH,QAAA,MAAM,oBAAoB,aACd,QAAQ,QACZ,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,eACnB,WAAW,UAChB,UAAU,SA4BnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,gBAAgB,qBAKrB,CAAC;AAEF,KAAK,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAC1D,cAAM,mBAAoB,SAAQ,aAAa;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAAhD,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAM;IAOpE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5C;AAED,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,GACpB,CAAC"}
@@ -122,16 +122,20 @@ class NextjsCookieStorage extends storage_js_1.CookieStorage {
122
122
  this.config = config;
123
123
  }
124
124
  async get(key) {
125
- const cookieStore = await (0, headers_js_1.cookies)();
125
+ const cookieStore = (0, headers_js_1.cookies)();
126
126
  return cookieStore.get(key)?.value || null;
127
127
  }
128
128
  async set(key, value) {
129
- const cookieStore = await (0, headers_js_1.cookies)();
129
+ const cookieStore = (0, headers_js_1.cookies)();
130
130
  const cookieSettings = this.config?.[key] || {
131
131
  ...this.settings,
132
132
  };
133
133
  cookieStore.set(key, value, cookieSettings);
134
134
  }
135
+ async delete(key) {
136
+ const cookieStore = (0, headers_js_1.cookies)();
137
+ cookieStore.delete(key);
138
+ }
135
139
  }
136
140
  exports.NextjsCookieStorage = NextjsCookieStorage;
137
141
  //# sourceMappingURL=cookies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SessionData, UnknownObject, User } from \"@/types.js\";\nimport type { AuthConfig } from \"@/nextjs/config.js\";\nimport { cookies } from \"next/headers.js\";\nimport {\n clearAuthServerSession,\n clearTokens,\n clearUser,\n} from \"@/shared/lib/util.js\";\nimport type { UserStorage } from \"@/shared/lib/types.js\";\nimport {\n type CodeVerifier,\n type CookieConfig,\n type OAuthTokens,\n} from \"@/shared/lib/types.js\";\nimport { CookieStorage } from \"@/shared/lib/storage.js\";\nimport * as constants from \"@/constants.js\";\n\n/**\n * Creates HTTP-only cookies for authentication tokens\n */\nconst createTokenCookies = (\n response: Response,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n const now = Math.floor(Date.now() / 1000);\n const maxAge = sessionData.accessTokenExpiresAt\n ? sessionData.accessTokenExpiresAt - now\n : constants.DEFAULT_EXPIRES_IN;\n const cookieOptions = {\n ...config.cookies?.tokens,\n maxAge,\n };\n\n if (sessionData.accessToken) {\n setCookie(response, \"access_token\", sessionData.accessToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.idToken) {\n setCookie(response, \"id_token\", sessionData.idToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.refreshToken) {\n setCookie(response, \"refresh_token\", sessionData.refreshToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n};\n\nconst setCookie = (\n response: Response,\n key: string,\n value: string,\n cookieData: CookieConfig,\n) => {\n response.headers.set(\n \"Set-Cookie\",\n `${key}=${value}; Path=${cookieData.path}; Domain=${cookieData.domain}; Max-Age=${cookieData.maxAge}; Secure; HttpOnly; SameSite=${cookieData.sameSite}`,\n );\n};\n\n/**\n * Creates a client-readable cookie with user info\n */\nconst createUserInfoCookie = (\n response: Response,\n user: User<UnknownObject> | null,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n if (!user) {\n // unset the \"user\" cookie\n setCookie(response, \"user\", \"\", {\n ...config.cookies?.user,\n maxAge: 0,\n });\n return;\n }\n const now = Math.floor(Date.now() / 1000);\n const maxAge = sessionData.accessTokenExpiresAt\n ? sessionData.accessTokenExpiresAt - now\n : constants.DEFAULT_EXPIRES_IN;\n\n // TODO select fields to include in the user cookie\n const frontendUser = {\n ...user,\n };\n\n // TODO make call to get user info from the\n // auth server /userinfo endpoint when it's available\n // then add to the default claims above\n\n setCookie(response, \"user\", JSON.stringify(frontendUser), {\n ...config.cookies?.user,\n maxAge,\n });\n};\n\n/**\n * Clears all authentication cookies on server. Note, this can only be called by the server\n */\nconst clearAuthCookies = async () => {\n const cookieStorage = new NextjsCookieStorage(); // no cookie storage needed to simply clear it\n await clearTokens(cookieStorage);\n await clearUser(cookieStorage);\n await clearAuthServerSession(cookieStorage);\n};\n\ntype KeySetter = OAuthTokens | CodeVerifier | UserStorage;\nclass NextjsCookieStorage extends CookieStorage {\n constructor(readonly config: Partial<Record<KeySetter, CookieConfig>> = {}) {\n super({\n secure: true,\n httpOnly: true,\n });\n }\n\n async get(key: string): Promise<string | null> {\n const cookieStore = await cookies();\n return cookieStore.get(key)?.value || null;\n }\n\n async set(key: KeySetter, value: string): Promise<void> {\n const cookieStore = await cookies();\n const cookieSettings = this.config?.[key as KeySetter] || {\n ...this.settings,\n };\n cookieStore.set(key, value, cookieSettings);\n }\n}\n\nexport {\n createTokenCookies,\n createUserInfoCookie,\n clearAuthCookies,\n NextjsCookieStorage,\n};\n"]}
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../../src/nextjs/cookies.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SessionData, UnknownObject, User } from \"@/types.js\";\nimport type { AuthConfig } from \"@/nextjs/config.js\";\nimport { cookies } from \"next/headers.js\";\nimport {\n clearAuthServerSession,\n clearTokens,\n clearUser,\n} from \"@/shared/lib/util.js\";\nimport type { UserStorage } from \"@/shared/lib/types.js\";\nimport {\n type CodeVerifier,\n type CookieConfig,\n type OAuthTokens,\n} from \"@/shared/lib/types.js\";\nimport { CookieStorage } from \"@/shared/lib/storage.js\";\nimport * as constants from \"@/constants.js\";\n\n/**\n * Creates HTTP-only cookies for authentication tokens\n */\nconst createTokenCookies = (\n response: Response,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n const now = Math.floor(Date.now() / 1000);\n const maxAge = sessionData.accessTokenExpiresAt\n ? sessionData.accessTokenExpiresAt - now\n : constants.DEFAULT_EXPIRES_IN;\n const cookieOptions = {\n ...config.cookies?.tokens,\n maxAge,\n };\n\n if (sessionData.accessToken) {\n setCookie(response, \"access_token\", sessionData.accessToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.idToken) {\n setCookie(response, \"id_token\", sessionData.idToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.refreshToken) {\n setCookie(response, \"refresh_token\", sessionData.refreshToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n};\n\nconst setCookie = (\n response: Response,\n key: string,\n value: string,\n cookieData: CookieConfig,\n) => {\n response.headers.set(\n \"Set-Cookie\",\n `${key}=${value}; Path=${cookieData.path}; Domain=${cookieData.domain}; Max-Age=${cookieData.maxAge}; Secure; HttpOnly; SameSite=${cookieData.sameSite}`,\n );\n};\n\n/**\n * Creates a client-readable cookie with user info\n */\nconst createUserInfoCookie = (\n response: Response,\n user: User<UnknownObject> | null,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n if (!user) {\n // unset the \"user\" cookie\n setCookie(response, \"user\", \"\", {\n ...config.cookies?.user,\n maxAge: 0,\n });\n return;\n }\n const now = Math.floor(Date.now() / 1000);\n const maxAge = sessionData.accessTokenExpiresAt\n ? sessionData.accessTokenExpiresAt - now\n : constants.DEFAULT_EXPIRES_IN;\n\n // TODO select fields to include in the user cookie\n const frontendUser = {\n ...user,\n };\n\n // TODO make call to get user info from the\n // auth server /userinfo endpoint when it's available\n // then add to the default claims above\n\n setCookie(response, \"user\", JSON.stringify(frontendUser), {\n ...config.cookies?.user,\n maxAge,\n });\n};\n\n/**\n * Clears all authentication cookies on server. Note, this can only be called by the server\n */\nconst clearAuthCookies = async () => {\n const cookieStorage = new NextjsCookieStorage(); // no cookie storage needed to simply clear it\n await clearTokens(cookieStorage);\n await clearUser(cookieStorage);\n await clearAuthServerSession(cookieStorage);\n};\n\ntype KeySetter = OAuthTokens | CodeVerifier | UserStorage;\nclass NextjsCookieStorage extends CookieStorage {\n constructor(readonly config: Partial<Record<KeySetter, CookieConfig>> = {}) {\n super({\n secure: true,\n httpOnly: true,\n });\n }\n\n async get(key: string): Promise<string | null> {\n const cookieStore = cookies();\n return cookieStore.get(key)?.value || null;\n }\n\n async set(key: KeySetter, value: string): Promise<void> {\n const cookieStore = cookies();\n const cookieSettings = this.config?.[key as KeySetter] || {\n ...this.settings,\n };\n cookieStore.set(key, value, cookieSettings);\n }\n\n async delete(key: KeySetter): Promise<void> {\n const cookieStore = cookies();\n cookieStore.delete(key);\n }\n}\n\nexport {\n createTokenCookies,\n createUserInfoCookie,\n clearAuthCookies,\n NextjsCookieStorage,\n};\n"]}
@@ -1,7 +1,9 @@
1
1
  export { CookieStorage } from "../shared/lib/storage.js";
2
2
  export type { SessionStorage, CookieStorageSettings, } from "../shared/lib/storage.js";
3
- export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, buildLogoutRedirectUrl, } from "../server/login.js";
3
+ export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, } from "../server/login.js";
4
4
  export type { AuthConfig } from "../server/config.js";
5
5
  export { getUser, getTokens } from "../shared/lib/session.js";
6
6
  export { refreshTokens } from "../server/refresh.js";
7
+ export { buildLogoutRedirectUrl } from "../server/logout.js";
8
+ export { clearTokens } from "../shared/lib/util.js";
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.refreshTokens = exports.getTokens = exports.getUser = exports.buildLogoutRedirectUrl = exports.buildLoginUrl = exports.isLoggedIn = exports.resolveOAuthAccessCode = exports.CookieStorage = void 0;
3
+ exports.clearTokens = exports.buildLogoutRedirectUrl = exports.refreshTokens = exports.getTokens = exports.getUser = exports.buildLoginUrl = exports.isLoggedIn = exports.resolveOAuthAccessCode = exports.CookieStorage = void 0;
4
4
  const index_js_1 = require("../shared/index.js");
5
5
  (0, index_js_1.printVersion)();
6
6
  var storage_js_1 = require("../shared/lib/storage.js");
@@ -9,10 +9,13 @@ var login_js_1 = require("../server/login.js");
9
9
  Object.defineProperty(exports, "resolveOAuthAccessCode", { enumerable: true, get: function () { return login_js_1.resolveOAuthAccessCode; } });
10
10
  Object.defineProperty(exports, "isLoggedIn", { enumerable: true, get: function () { return login_js_1.isLoggedIn; } });
11
11
  Object.defineProperty(exports, "buildLoginUrl", { enumerable: true, get: function () { return login_js_1.buildLoginUrl; } });
12
- Object.defineProperty(exports, "buildLogoutRedirectUrl", { enumerable: true, get: function () { return login_js_1.buildLogoutRedirectUrl; } });
13
12
  var session_js_1 = require("../shared/lib/session.js");
14
13
  Object.defineProperty(exports, "getUser", { enumerable: true, get: function () { return session_js_1.getUser; } });
15
14
  Object.defineProperty(exports, "getTokens", { enumerable: true, get: function () { return session_js_1.getTokens; } });
16
15
  var refresh_js_1 = require("../server/refresh.js");
17
16
  Object.defineProperty(exports, "refreshTokens", { enumerable: true, get: function () { return refresh_js_1.refreshTokens; } });
17
+ var logout_js_1 = require("../server/logout.js");
18
+ Object.defineProperty(exports, "buildLogoutRedirectUrl", { enumerable: true, get: function () { return logout_js_1.buildLogoutRedirectUrl; } });
19
+ var util_js_1 = require("../shared/lib/util.js");
20
+ Object.defineProperty(exports, "clearTokens", { enumerable: true, get: function () { return util_js_1.clearTokens; } });
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AACjD,IAAA,uBAAY,GAAE,CAAC;AAEf,sDAAwD;AAA/C,2GAAA,aAAa,OAAA;AAKtB,8CAK2B;AAJzB,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,yGAAA,aAAa,OAAA;AACb,kHAAA,sBAAsB,OAAA;AAGxB,sDAA6D;AAApD,qGAAA,OAAO,OAAA;AAAE,uGAAA,SAAS,OAAA;AAC3B,kDAAoD;AAA3C,2GAAA,aAAa,OAAA","sourcesContent":["import { printVersion } from \"@/shared/index.js\";\nprintVersion();\n\nexport { CookieStorage } from \"@/shared/lib/storage.js\";\nexport type {\n SessionStorage,\n CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\nexport {\n resolveOAuthAccessCode,\n isLoggedIn,\n buildLoginUrl,\n buildLogoutRedirectUrl,\n} from \"@/server/login.js\";\nexport type { AuthConfig } from \"@/server/config.js\";\nexport { getUser, getTokens } from \"@/shared/lib/session.js\";\nexport { refreshTokens } from \"@/server/refresh.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AACjD,IAAA,uBAAY,GAAE,CAAC;AAEf,sDAAwD;AAA/C,2GAAA,aAAa,OAAA;AAKtB,8CAI2B;AAHzB,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,yGAAA,aAAa,OAAA;AAGf,sDAA6D;AAApD,qGAAA,OAAO,OAAA;AAAE,uGAAA,SAAS,OAAA;AAC3B,kDAAoD;AAA3C,2GAAA,aAAa,OAAA;AACtB,gDAA4D;AAAnD,mHAAA,sBAAsB,OAAA;AAC/B,gDAAmD;AAA1C,sGAAA,WAAW,OAAA","sourcesContent":["import { printVersion } from \"@/shared/index.js\";\nprintVersion();\n\nexport { CookieStorage } from \"@/shared/lib/storage.js\";\nexport type {\n SessionStorage,\n CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\nexport {\n resolveOAuthAccessCode,\n isLoggedIn,\n buildLoginUrl,\n} from \"@/server/login.js\";\nexport type { AuthConfig } from \"@/server/config.js\";\nexport { getUser, getTokens } from \"@/shared/lib/session.js\";\nexport { refreshTokens } from \"@/server/refresh.js\";\nexport { buildLogoutRedirectUrl } from \"@/server/logout.js\";\nexport { clearTokens } from \"@/shared/lib/util.js\";\n"]}
@@ -14,8 +14,4 @@ export declare function buildLoginUrl(config: Pick<AuthConfig, "clientId" | "red
14
14
  state?: string;
15
15
  nonce?: string;
16
16
  }, storage: AuthStorage): Promise<URL>;
17
- export declare function buildLogoutRedirectUrl(config: Pick<AuthConfig, "clientId" | "postLogoutRedirectUrl"> & Partial<Pick<AuthConfig, "oauthServer">> & {
18
- scopes?: string[];
19
- state?: string;
20
- }, storage: AuthStorage): Promise<URL>;
21
17
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACH,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAed;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,uBAAuB,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACH,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAkBd"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACH,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAed"}
@@ -3,12 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveOAuthAccessCode = resolveOAuthAccessCode;
4
4
  exports.isLoggedIn = isLoggedIn;
5
5
  exports.buildLoginUrl = buildLoginUrl;
6
- exports.buildLogoutRedirectUrl = buildLogoutRedirectUrl;
7
6
  const constants_js_1 = require("../constants.js");
8
7
  const AuthenticationService_js_1 = require("../services/AuthenticationService.js");
9
8
  const PKCE_js_1 = require("../services/PKCE.js");
10
9
  const ServerAuthenticationResolver_js_1 = require("../server/ServerAuthenticationResolver.js");
11
- const types_js_1 = require("../shared/lib/types.js");
12
10
  /**
13
11
  * Resolve an OAuth access code to a set of OIDC tokens
14
12
  * @param code The access code, typically from a query parameter in the redirect url
@@ -41,22 +39,4 @@ async function buildLoginUrl(config, storage) {
41
39
  });
42
40
  return authInitiator.signIn();
43
41
  }
44
- async function buildLogoutRedirectUrl(config, storage) {
45
- // generate a random state if not provided
46
- const state = config.state ?? Math.random().toString(36).substring(2);
47
- const scopes = config.scopes ?? constants_js_1.DEFAULT_SCOPES;
48
- const pkceProducer = new PKCE_js_1.GenericPublicClientPKCEProducer(storage);
49
- const authInitiator = new AuthenticationService_js_1.GenericAuthenticationInitiator({
50
- ...config,
51
- state,
52
- scopes,
53
- oauthServer: config.oauthServer ?? constants_js_1.DEFAULT_AUTH_SERVER,
54
- pkceConsumer: pkceProducer,
55
- redirectUrl: config.postLogoutRedirectUrl || "/",
56
- });
57
- const idToken = await storage.get(types_js_1.OAuthTokens.ID_TOKEN);
58
- if (!idToken)
59
- throw new Error("No id_token found in storage");
60
- return authInitiator.signOut(idToken);
61
- }
62
42
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":";;AAcA,wDAgBC;AAED,gCAEC;AAED,sCAuBC;AAED,wDAyBC;AArFD,iDAAqE;AACrE,kFAAqF;AACrF,gDAAqE;AACrE,8FAAwF;AAExF,oDAAoD;AACpD;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,OAAoB,EACpB,MAAkB;IAElB,MAAM,kBAAkB,GAAG,MAAM,8DAA4B,CAAC,KAAK,CACjE;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kCAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,OAAoB;IACnD,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3C,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAKG,EACH,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,6BAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,yCAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,yDAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kCAAmB;QACtD,mGAAmG;QACnG,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAIG,EACH,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,6BAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,yCAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,yDAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kCAAmB;QACtD,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG;KACjD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,sBAAW,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE9D,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { ServerAuthenticationResolver } from \"@/server/ServerAuthenticationResolver.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\nimport { OAuthTokens } from \"@/shared/lib/types.js\";\n/**\n * Resolve an OAuth access code to a set of OIDC tokens\n * @param code The access code, typically from a query parameter in the redirect url\n * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url\n * @param storage The place that this server uses to store session data (e.g. a cookie store)\n * @param config Oauth Server configuration\n */\nexport async function resolveOAuthAccessCode(\n code: string,\n state: string,\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const authSessionService = await ServerAuthenticationResolver.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return authSessionService.tokenExchange(code, state);\n}\n\nexport async function isLoggedIn(storage: AuthStorage): Promise<boolean> {\n return !!(await storage.get(\"id_token\"));\n}\n\nexport async function buildLoginUrl(\n config: Pick<AuthConfig, \"clientId\" | \"redirectUrl\"> &\n Partial<Pick<AuthConfig, \"oauthServer\">> & {\n scopes?: string[];\n state?: string;\n nonce?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session\n pkceConsumer: pkceProducer,\n });\n\n return authInitiator.signIn();\n}\n\nexport async function buildLogoutRedirectUrl(\n config: Pick<AuthConfig, \"clientId\" | \"postLogoutRedirectUrl\"> &\n Partial<Pick<AuthConfig, \"oauthServer\">> & {\n scopes?: string[];\n state?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n pkceConsumer: pkceProducer,\n redirectUrl: config.postLogoutRedirectUrl || \"/\",\n });\n\n const idToken = await storage.get(OAuthTokens.ID_TOKEN);\n if (!idToken) throw new Error(\"No id_token found in storage\");\n\n return authInitiator.signOut(idToken);\n}\n"]}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":";;AAcA,wDAgBC;AAED,gCAEC;AAED,sCAuBC;AA1DD,iDAAqE;AACrE,kFAAqF;AACrF,gDAAqE;AACrE,8FAAwF;AAGxF;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,OAAoB,EACpB,MAAkB;IAElB,MAAM,kBAAkB,GAAG,MAAM,8DAA4B,CAAC,KAAK,CACjE;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kCAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,OAAoB;IACnD,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3C,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAKG,EACH,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,6BAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,yCAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,yDAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kCAAmB;QACtD,mGAAmG;QACnG,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { ServerAuthenticationResolver } from \"@/server/ServerAuthenticationResolver.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\n\n/**\n * Resolve an OAuth access code to a set of OIDC tokens\n * @param code The access code, typically from a query parameter in the redirect url\n * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url\n * @param storage The place that this server uses to store session data (e.g. a cookie store)\n * @param config Oauth Server configuration\n */\nexport async function resolveOAuthAccessCode(\n code: string,\n state: string,\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const authSessionService = await ServerAuthenticationResolver.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return authSessionService.tokenExchange(code, state);\n}\n\nexport async function isLoggedIn(storage: AuthStorage): Promise<boolean> {\n return !!(await storage.get(\"id_token\"));\n}\n\nexport async function buildLoginUrl(\n config: Pick<AuthConfig, \"clientId\" | \"redirectUrl\"> &\n Partial<Pick<AuthConfig, \"oauthServer\">> & {\n scopes?: string[];\n state?: string;\n nonce?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session\n pkceConsumer: pkceProducer,\n });\n\n return authInitiator.signIn();\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { AuthConfig } from "../server/config.js";
2
+ import type { AuthStorage } from "../types.js";
3
+ export declare function buildLogoutRedirectUrl(config: Pick<AuthConfig, "clientId" | "postLogoutRedirectUrl"> & Partial<Pick<AuthConfig, "oauthServer">> & {
4
+ scopes?: string[];
5
+ state?: string;
6
+ }, storage: AuthStorage): Promise<URL>;
7
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/server/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,uBAAuB,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACH,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAkBd"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildLogoutRedirectUrl = buildLogoutRedirectUrl;
4
+ const constants_js_1 = require("../constants.js");
5
+ const PKCE_js_1 = require("../services/PKCE.js");
6
+ const AuthenticationService_js_1 = require("../services/AuthenticationService.js");
7
+ const types_js_1 = require("../shared/lib/types.js");
8
+ async function buildLogoutRedirectUrl(config, storage) {
9
+ // generate a random state if not provided
10
+ const state = config.state ?? Math.random().toString(36).substring(2);
11
+ const scopes = config.scopes ?? constants_js_1.DEFAULT_SCOPES;
12
+ const pkceProducer = new PKCE_js_1.GenericPublicClientPKCEProducer(storage);
13
+ const authInitiator = new AuthenticationService_js_1.GenericAuthenticationInitiator({
14
+ ...config,
15
+ state,
16
+ scopes,
17
+ oauthServer: config.oauthServer ?? constants_js_1.DEFAULT_AUTH_SERVER,
18
+ pkceConsumer: pkceProducer,
19
+ redirectUrl: config.postLogoutRedirectUrl || "/",
20
+ });
21
+ const idToken = await storage.get(types_js_1.OAuthTokens.ID_TOKEN);
22
+ if (!idToken)
23
+ throw new Error("No id_token found in storage");
24
+ return authInitiator.signOut(idToken);
25
+ }
26
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/server/logout.ts"],"names":[],"mappings":";;AAOA,wDAyBC;AA9BD,iDAAqE;AACrE,gDAAqE;AACrE,kFAAqF;AACrF,oDAAoD;AAE7C,KAAK,UAAU,sBAAsB,CAC1C,MAIG,EACH,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,6BAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,yCAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,yDAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kCAAmB;QACtD,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG;KACjD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,sBAAW,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE9D,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { AuthConfig } from \"@/server/config.js\";\nimport type { AuthStorage } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { OAuthTokens } from \"@/shared/lib/types.js\";\n\nexport async function buildLogoutRedirectUrl(\n config: Pick<AuthConfig, \"clientId\" | \"postLogoutRedirectUrl\"> &\n Partial<Pick<AuthConfig, \"oauthServer\">> & {\n scopes?: string[];\n state?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n pkceConsumer: pkceProducer,\n redirectUrl: config.postLogoutRedirectUrl || \"/\",\n });\n\n const idToken = await storage.get(OAuthTokens.ID_TOKEN);\n if (!idToken) throw new Error(\"No id_token found in storage\");\n\n return authInitiator.signOut(idToken);\n}\n"]}
@@ -3,4 +3,5 @@ export { VERSION };
3
3
  export declare const getVersion: () => string;
4
4
  export declare const printVersion: () => void;
5
5
  export { BrowserCookieStorage } from "../shared/lib/BrowserCookieStorage.js";
6
+ export { clearTokens } from "../shared/lib/util.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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;AACF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC"}
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;AACF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrowserCookieStorage = exports.printVersion = exports.getVersion = exports.VERSION = void 0;
3
+ exports.clearTokens = exports.BrowserCookieStorage = exports.printVersion = exports.getVersion = exports.VERSION = void 0;
4
4
  const version_js_1 = require("./version.js");
5
5
  Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_js_1.VERSION; } });
6
6
  let versionPrinted = false;
@@ -20,4 +20,6 @@ const printVersion = () => {
20
20
  exports.printVersion = printVersion;
21
21
  var BrowserCookieStorage_js_1 = require("../shared/lib/BrowserCookieStorage.js");
22
22
  Object.defineProperty(exports, "BrowserCookieStorage", { enumerable: true, get: function () { return BrowserCookieStorage_js_1.BrowserCookieStorage; } });
23
+ var util_js_1 = require("../shared/lib/util.js");
24
+ Object.defineProperty(exports, "clearTokens", { enumerable: true, get: function () { return util_js_1.clearTokens; } });
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAC9B,wFADA,oBAAO,OACA;AAChB,IAAI,cAAc,GAAG,KAAK,CAAC;AACpB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,oBAAO,CAAC;AAA3B,QAAA,UAAU,cAAiB;AACxC,mCAAmC;AAC5B,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,CAAC;QACtB,IACE,IAAA,kBAAU,GAAE;YACZ,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,QAAQ,KAAK,WAAW,EAC/B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,YAAY,gBAWvB;AACF,gFAA4E;AAAnE,+HAAA,oBAAoB,OAAA","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};\nexport { BrowserCookieStorage } from \"@/shared/lib/BrowserCookieStorage.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAC9B,wFADA,oBAAO,OACA;AAChB,IAAI,cAAc,GAAG,KAAK,CAAC;AACpB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,oBAAO,CAAC;AAA3B,QAAA,UAAU,cAAiB;AACxC,mCAAmC;AAC5B,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,CAAC;QACtB,IACE,IAAA,kBAAU,GAAE;YACZ,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,QAAQ,KAAK,WAAW,EAC/B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,YAAY,gBAWvB;AACF,gFAA4E;AAAnE,+HAAA,oBAAoB,OAAA;AAC7B,gDAAmD;AAA1C,sGAAA,WAAW,OAAA","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};\nexport { BrowserCookieStorage } from \"@/shared/lib/BrowserCookieStorage.js\";\nexport { clearTokens } from \"@/shared/lib/util.js\";\n"]}
@@ -3,5 +3,6 @@ export declare class BrowserCookieStorage extends CookieStorage {
3
3
  constructor(config?: Partial<CookieStorageSettings>);
4
4
  get(key: string): Promise<string | null>;
5
5
  set(key: string, value: string): Promise<void>;
6
+ delete(key: string): Promise<void>;
6
7
  }
7
8
  //# sourceMappingURL=BrowserCookieStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserCookieStorage.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/BrowserCookieStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAajC,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM;IASjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA0BrD"}
1
+ {"version":3,"file":"BrowserCookieStorage.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/BrowserCookieStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAajC,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM;IASjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -48,6 +48,9 @@ class BrowserCookieStorage extends storage_js_1.CookieStorage {
48
48
  }
49
49
  documentObj().cookie = `${key}=${encodedValue}; ${cookieSettings.trim()}`;
50
50
  }
51
+ async delete(key) {
52
+ documentObj().cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
53
+ }
51
54
  }
52
55
  exports.BrowserCookieStorage = BrowserCookieStorage;
53
56
  //# sourceMappingURL=BrowserCookieStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserCookieStorage.js","sourceRoot":"","sources":["../../../../src/shared/lib/BrowserCookieStorage.ts"],"names":[],"mappings":";;;AAAA,wDAGiC;AAEjC,4CAA4C;AAC5C,SAAS,WAAW;IAClB,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;IACzE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,MAAM,IAAI,KAAK,CACb,gDAAgD,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE3E,MAAa,oBAAqB,SAAQ,0BAAa;IACrD,YAAY,SAAyC,EAAE;QACrD,KAAK,CAAC;YACJ,4BAA4B;YAC5B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,YAAY,GAAG,WAAW,EAAE;aAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;aACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACf,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzD,OAAO,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,cAAc,IAAI,QAAQ,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,cAAc,IAAI,WAAW,QAAQ,CAAC,OAAO,IAAI,CAAC;QACpD,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,cAAc,IAAI,UAAU,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,qFAAqF;YACrF,OAAO,CAAC,IAAI,CACV,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,cAAc,IAAI,YAAY,QAAQ,CAAC,QAAQ,IAAI,CAAC;QACtD,CAAC;QAED,WAAW,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,YAAY,KAAK,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5E,CAAC;CACF;AA7CD,oDA6CC","sourcesContent":["import {\n CookieStorage,\n type CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\n\n// Ensure only runs in a browser environment\nfunction documentObj() {\n if (typeof globalThis.window !== \"undefined\") return globalThis.document;\n const stack = new Error().stack;\n throw new Error(\n \"Document is not available in this environment:\" + JSON.stringify(stack),\n );\n}\n\nconst split = (separator: string) => (str: string) => str.split(separator);\n\nexport class BrowserCookieStorage extends CookieStorage {\n constructor(config: Partial<CookieStorageSettings> = {}) {\n super({\n // sensible browser defaults\n secure: false,\n httpOnly: false,\n ...config,\n });\n }\n\n async get(key: string): Promise<string | null> {\n const encodedValue = documentObj()\n .cookie.split(\";\")\n .map(split(\"=\"))\n .find(([cookieKey]) => cookieKey?.trim() === key)?.[1];\n\n return encodedValue ? decodeURIComponent(encodedValue) : null;\n }\n\n async set(key: string, value: string): Promise<void> {\n const encodedValue = encodeURIComponent(value);\n const settings = this.settings;\n let cookieSettings = \"\";\n\n if (settings.path) {\n cookieSettings += `Path=${settings.path}; `;\n }\n if (settings.expires) {\n cookieSettings += `Expires=${settings.expires}; `;\n }\n if (settings.secure) {\n cookieSettings += `Secure; `;\n }\n if (settings.httpOnly) {\n // HttpOnly cannot be set from client-side JavaScript, so this clause can be omitted.\n console.warn(\n \"HttpOnly cannot be set on client-side cookies. Ignoring this setting.\",\n );\n }\n if (settings.sameSite) {\n cookieSettings += `SameSite=${settings.sameSite}; `;\n }\n\n documentObj().cookie = `${key}=${encodedValue}; ${cookieSettings.trim()}`;\n }\n}\n"]}
1
+ {"version":3,"file":"BrowserCookieStorage.js","sourceRoot":"","sources":["../../../../src/shared/lib/BrowserCookieStorage.ts"],"names":[],"mappings":";;;AAAA,wDAGiC;AAEjC,4CAA4C;AAC5C,SAAS,WAAW;IAClB,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;IACzE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,MAAM,IAAI,KAAK,CACb,gDAAgD,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE3E,MAAa,oBAAqB,SAAQ,0BAAa;IACrD,YAAY,SAAyC,EAAE;QACrD,KAAK,CAAC;YACJ,4BAA4B;YAC5B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,YAAY,GAAG,WAAW,EAAE;aAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;aACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACf,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzD,OAAO,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,cAAc,IAAI,QAAQ,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,cAAc,IAAI,WAAW,QAAQ,CAAC,OAAO,IAAI,CAAC;QACpD,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,cAAc,IAAI,UAAU,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,qFAAqF;YACrF,OAAO,CAAC,IAAI,CACV,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,cAAc,IAAI,YAAY,QAAQ,CAAC,QAAQ,IAAI,CAAC;QACtD,CAAC;QAED,WAAW,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,YAAY,KAAK,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,WAAW,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,mDAAmD,CAAC;IACnF,CAAC;CACF;AAjDD,oDAiDC","sourcesContent":["import {\n CookieStorage,\n type CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\n\n// Ensure only runs in a browser environment\nfunction documentObj() {\n if (typeof globalThis.window !== \"undefined\") return globalThis.document;\n const stack = new Error().stack;\n throw new Error(\n \"Document is not available in this environment:\" + JSON.stringify(stack),\n );\n}\n\nconst split = (separator: string) => (str: string) => str.split(separator);\n\nexport class BrowserCookieStorage extends CookieStorage {\n constructor(config: Partial<CookieStorageSettings> = {}) {\n super({\n // sensible browser defaults\n secure: false,\n httpOnly: false,\n ...config,\n });\n }\n\n async get(key: string): Promise<string | null> {\n const encodedValue = documentObj()\n .cookie.split(\";\")\n .map(split(\"=\"))\n .find(([cookieKey]) => cookieKey?.trim() === key)?.[1];\n\n return encodedValue ? decodeURIComponent(encodedValue) : null;\n }\n\n async set(key: string, value: string): Promise<void> {\n const encodedValue = encodeURIComponent(value);\n const settings = this.settings;\n let cookieSettings = \"\";\n\n if (settings.path) {\n cookieSettings += `Path=${settings.path}; `;\n }\n if (settings.expires) {\n cookieSettings += `Expires=${settings.expires}; `;\n }\n if (settings.secure) {\n cookieSettings += `Secure; `;\n }\n if (settings.httpOnly) {\n // HttpOnly cannot be set from client-side JavaScript, so this clause can be omitted.\n console.warn(\n \"HttpOnly cannot be set on client-side cookies. Ignoring this setting.\",\n );\n }\n if (settings.sameSite) {\n cookieSettings += `SameSite=${settings.sameSite}; `;\n }\n\n documentObj().cookie = `${key}=${encodedValue}; ${cookieSettings.trim()}`;\n }\n\n async delete(key: string): Promise<void> {\n documentObj().cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;\n }\n}\n"]}
@@ -8,5 +8,6 @@ export declare class GenericUserSession<T extends UnknownObject> implements User
8
8
  constructor(storage: AuthStorage);
9
9
  get(): Promise<User<T> | null>;
10
10
  set(user: User<T> | null): Promise<void>;
11
+ clear(): Promise<void>;
11
12
  }
12
13
  //# sourceMappingURL=UserSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserSession.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/UserSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,aAAa,EACb,IAAI,EACL,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,aAAa;IAClD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,aAAa,CACrD,YAAW,WAAW,CAAC,CAAC,CAAC;IAEb,QAAQ,CAAC,OAAO,EAAE,WAAW;gBAApB,OAAO,EAAE,WAAW;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAK9B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAO/C"}
1
+ {"version":3,"file":"UserSession.d.ts","sourceRoot":"","sources":["../../../../src/shared/lib/UserSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,aAAa,EACb,IAAI,EACL,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,aAAa;IAClD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,aAAa,CACrD,YAAW,WAAW,CAAC,CAAC,CAAC;IAEb,QAAQ,CAAC,OAAO,EAAE,WAAW;gBAApB,OAAO,EAAE,WAAW;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAK9B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -19,6 +19,9 @@ class GenericUserSession {
19
19
  const value = user ? JSON.stringify({ ...user, forwardedTokens }) : "";
20
20
  await this.storage.set(types_js_1.UserStorage.USER, value);
21
21
  }
22
+ async clear() {
23
+ await this.storage.delete(types_js_1.UserStorage.USER);
24
+ }
22
25
  }
23
26
  exports.GenericUserSession = GenericUserSession;
24
27
  //# sourceMappingURL=UserSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserSession.js","sourceRoot":"","sources":["../../../../src/shared/lib/UserSession.ts"],"names":[],"mappings":";;;AAMA,oDAAoD;AACpD,yCAA2D;AAO3D,MAAa,kBAAkB;IAGR;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,sBAAW,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,IAAoB;QAC5B,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe;YAC3C,CAAC,CAAC,IAAA,oCAA2B,EAAC,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,sBAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;CACF;AAjBD,gDAiBC","sourcesContent":["import type {\n AuthStorage,\n ForwardedTokensJWT,\n UnknownObject,\n User,\n} from \"@/types.js\";\nimport { UserStorage } from \"@/shared/lib/types.js\";\nimport { convertForwardedTokenFormat } from \"@/lib/jwt.js\";\n\nexport interface UserSession<T extends UnknownObject> {\n get(): Promise<User<T> | null>;\n set(user: User<T>): Promise<void>;\n}\n\nexport class GenericUserSession<T extends UnknownObject>\n implements UserSession<T>\n{\n constructor(readonly storage: AuthStorage) {}\n\n async get(): Promise<User<T> | null> {\n const user = await this.storage.get(UserStorage.USER);\n return user ? JSON.parse(user) : null;\n }\n\n async set(user: User<T> | 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
+ {"version":3,"file":"UserSession.js","sourceRoot":"","sources":["../../../../src/shared/lib/UserSession.ts"],"names":[],"mappings":";;;AAMA,oDAAoD;AACpD,yCAA2D;AAO3D,MAAa,kBAAkB;IAGR;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,sBAAW,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,IAAoB;QAC5B,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe;YAC3C,CAAC,CAAC,IAAA,oCAA2B,EAAC,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,sBAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAW,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF;AArBD,gDAqBC","sourcesContent":["import type {\n AuthStorage,\n ForwardedTokensJWT,\n UnknownObject,\n User,\n} from \"@/types.js\";\nimport { UserStorage } from \"@/shared/lib/types.js\";\nimport { convertForwardedTokenFormat } from \"@/lib/jwt.js\";\n\nexport interface UserSession<T extends UnknownObject> {\n get(): Promise<User<T> | null>;\n set(user: User<T>): Promise<void>;\n}\n\nexport class GenericUserSession<T extends UnknownObject>\n implements UserSession<T>\n{\n constructor(readonly storage: AuthStorage) {}\n\n async get(): Promise<User<T> | null> {\n const user = await this.storage.get(UserStorage.USER);\n return user ? JSON.parse(user) : null;\n }\n\n async set(user: User<T> | 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 async clear(): Promise<void> {\n await this.storage.delete(UserStorage.USER);\n }\n}\n"]}
@@ -20,6 +20,7 @@ export declare abstract class CookieStorage implements AuthStorage {
20
20
  protected constructor(settings?: Partial<CookieStorageSettings>);
21
21
  abstract get(key: string): Promise<string | null>;
22
22
  abstract set(key: string, value: string): Promise<void>;
23
+ abstract delete(key: string): Promise<void>;
23
24
  }
24
25
  export type AuthCookieStorageSettings = {
25
26
  httpOnly: boolean;
@@ -1 +1 @@
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;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC"}
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;IACvD,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/shared/lib/storage.ts"],"names":[],"mappings":";;;AAoBa,QAAA,uBAAuB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;AAE7D,MAAsB,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,+BAAuB,CAAC;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,GAAG;SAC3B,CAAC;IACJ,CAAC;CAGF;AAjBD,sCAiBC","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\nexport type AuthCookieStorageSettings = {\n httpOnly: boolean;\n secure: boolean;\n sameSite: SameSiteOption;\n expires: Date;\n path: string;\n timestamp: Date;\n};\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/shared/lib/storage.ts"],"names":[],"mappings":";;;AAoBa,QAAA,uBAAuB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;AAE7D,MAAsB,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,+BAAuB,CAAC;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,GAAG;SAC3B,CAAC;IACJ,CAAC;CAIF;AAlBD,sCAkBC","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 abstract delete(key: string): Promise<void>;\n}\n\nexport type AuthCookieStorageSettings = {\n httpOnly: boolean;\n secure: boolean;\n sameSite: SameSiteOption;\n expires: Date;\n path: string;\n timestamp: Date;\n};\n"]}
@@ -153,16 +153,16 @@ async function storeTokens(storage, tokens) {
153
153
  }
154
154
  async function clearTokens(storage) {
155
155
  const clearOAuthPromises = Object.values(types_js_1.OAuthTokens).map(async (key) => {
156
- await storage.set(key, "");
156
+ await storage.delete(key);
157
157
  });
158
158
  await Promise.all([...clearOAuthPromises]);
159
159
  }
160
160
  async function clearAuthServerSession(storage) {
161
- await storage.set(types_js_1.AUTH_SERVER_SESSION, "");
161
+ await storage.delete(types_js_1.AUTH_SERVER_SESSION);
162
162
  }
163
163
  async function clearUser(storage) {
164
164
  const userSession = new UserSession_js_1.GenericUserSession(storage);
165
- await userSession.set(null);
165
+ await userSession.clear();
166
166
  }
167
167
  async function retrieveTokens(storage) {
168
168
  const idToken = await storage.get(types_js_1.OAuthTokens.ID_TOKEN);