@civic/auth 0.2.5 → 0.2.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/dist/cjs/browser/storage.d.ts +1 -0
  2. package/dist/cjs/browser/storage.d.ts.map +1 -1
  3. package/dist/cjs/browser/storage.js +3 -0
  4. package/dist/cjs/browser/storage.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -0
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +3 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/lib/logger.js +1 -1
  10. package/dist/cjs/lib/logger.js.map +1 -1
  11. package/dist/cjs/nextjs/cookies.d.ts +1 -0
  12. package/dist/cjs/nextjs/cookies.d.ts.map +1 -1
  13. package/dist/cjs/nextjs/cookies.js +6 -2
  14. package/dist/cjs/nextjs/cookies.js.map +1 -1
  15. package/dist/cjs/server/index.d.ts +3 -1
  16. package/dist/cjs/server/index.d.ts.map +1 -1
  17. package/dist/cjs/server/index.js +5 -2
  18. package/dist/cjs/server/index.js.map +1 -1
  19. package/dist/cjs/server/login.d.ts +0 -4
  20. package/dist/cjs/server/login.d.ts.map +1 -1
  21. package/dist/cjs/server/login.js +0 -20
  22. package/dist/cjs/server/login.js.map +1 -1
  23. package/dist/cjs/server/logout.d.ts +7 -0
  24. package/dist/cjs/server/logout.d.ts.map +1 -0
  25. package/dist/cjs/server/logout.js +26 -0
  26. package/dist/cjs/server/logout.js.map +1 -0
  27. package/dist/cjs/shared/index.d.ts +1 -0
  28. package/dist/cjs/shared/index.d.ts.map +1 -1
  29. package/dist/cjs/shared/index.js +3 -1
  30. package/dist/cjs/shared/index.js.map +1 -1
  31. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +1 -0
  32. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +1 -1
  33. package/dist/cjs/shared/lib/BrowserCookieStorage.js +3 -0
  34. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +1 -1
  35. package/dist/cjs/shared/lib/UserSession.d.ts +1 -0
  36. package/dist/cjs/shared/lib/UserSession.d.ts.map +1 -1
  37. package/dist/cjs/shared/lib/UserSession.js +3 -0
  38. package/dist/cjs/shared/lib/UserSession.js.map +1 -1
  39. package/dist/cjs/shared/lib/storage.d.ts +1 -0
  40. package/dist/cjs/shared/lib/storage.d.ts.map +1 -1
  41. package/dist/cjs/shared/lib/storage.js.map +1 -1
  42. package/dist/cjs/shared/lib/util.js +3 -3
  43. package/dist/cjs/shared/lib/util.js.map +1 -1
  44. package/dist/cjs/shared/version.d.ts +1 -1
  45. package/dist/cjs/shared/version.d.ts.map +1 -1
  46. package/dist/cjs/shared/version.js +1 -1
  47. package/dist/cjs/shared/version.js.map +1 -1
  48. package/dist/cjs/types.d.ts +1 -0
  49. package/dist/cjs/types.d.ts.map +1 -1
  50. package/dist/cjs/types.js.map +1 -1
  51. package/dist/esm/browser/storage.d.ts +1 -0
  52. package/dist/esm/browser/storage.d.ts.map +1 -1
  53. package/dist/esm/browser/storage.js +3 -0
  54. package/dist/esm/browser/storage.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -0
  56. package/dist/esm/index.d.ts.map +1 -1
  57. package/dist/esm/index.js +1 -0
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/lib/logger.js +1 -1
  60. package/dist/esm/lib/logger.js.map +1 -1
  61. package/dist/esm/nextjs/cookies.d.ts +1 -0
  62. package/dist/esm/nextjs/cookies.d.ts.map +1 -1
  63. package/dist/esm/nextjs/cookies.js +6 -2
  64. package/dist/esm/nextjs/cookies.js.map +1 -1
  65. package/dist/esm/server/index.d.ts +3 -1
  66. package/dist/esm/server/index.d.ts.map +1 -1
  67. package/dist/esm/server/index.js +3 -1
  68. package/dist/esm/server/index.js.map +1 -1
  69. package/dist/esm/server/login.d.ts +0 -4
  70. package/dist/esm/server/login.d.ts.map +1 -1
  71. package/dist/esm/server/login.js +0 -19
  72. package/dist/esm/server/login.js.map +1 -1
  73. package/dist/esm/server/logout.d.ts +7 -0
  74. package/dist/esm/server/logout.d.ts.map +1 -0
  75. package/dist/esm/server/logout.js +23 -0
  76. package/dist/esm/server/logout.js.map +1 -0
  77. package/dist/esm/shared/index.d.ts +1 -0
  78. package/dist/esm/shared/index.d.ts.map +1 -1
  79. package/dist/esm/shared/index.js +1 -0
  80. package/dist/esm/shared/index.js.map +1 -1
  81. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +1 -0
  82. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +1 -1
  83. package/dist/esm/shared/lib/BrowserCookieStorage.js +3 -0
  84. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +1 -1
  85. package/dist/esm/shared/lib/UserSession.d.ts +1 -0
  86. package/dist/esm/shared/lib/UserSession.d.ts.map +1 -1
  87. package/dist/esm/shared/lib/UserSession.js +3 -0
  88. package/dist/esm/shared/lib/UserSession.js.map +1 -1
  89. package/dist/esm/shared/lib/storage.d.ts +1 -0
  90. package/dist/esm/shared/lib/storage.d.ts.map +1 -1
  91. package/dist/esm/shared/lib/storage.js.map +1 -1
  92. package/dist/esm/shared/lib/util.js +3 -3
  93. package/dist/esm/shared/lib/util.js.map +1 -1
  94. package/dist/esm/shared/version.d.ts +1 -1
  95. package/dist/esm/shared/version.d.ts.map +1 -1
  96. package/dist/esm/shared/version.js +1 -1
  97. package/dist/esm/shared/version.js.map +1 -1
  98. package/dist/esm/types.d.ts +1 -0
  99. package/dist/esm/types.d.ts.map +1 -1
  100. package/dist/esm/types.js.map +1 -1
  101. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  102. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  103. package/package.json +18 -19
  104. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  105. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  106. package/dist/cjs/nextjs/GetUser.js +0 -11
  107. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  108. package/dist/cjs/reactjs/hooks/useAuth.d.ts +0 -3
  109. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  110. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  111. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  112. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  113. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  114. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  115. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  116. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  117. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  118. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  119. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  120. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  121. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  122. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  123. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  124. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  125. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  126. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  127. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  128. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  129. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  130. package/dist/esm/nextjs/GetUser.js +0 -7
  131. package/dist/esm/nextjs/GetUser.js.map +0 -1
  132. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  133. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  134. package/dist/esm/reactjs/hooks/useAuth.js +0 -12
  135. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  136. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  137. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  138. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  139. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  140. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  141. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  142. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  143. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  144. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  145. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  146. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  147. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  148. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  149. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  150. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  151. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  152. package/dist/generateVersion.d.ts +0 -2
  153. package/dist/generateVersion.d.ts.map +0 -1
  154. package/dist/generateVersion.js +0 -12
  155. package/dist/generateVersion.js.map +0 -1
  156. package/dist/package.json +0 -118
  157. package/dist/src/browser/storage.d.ts +0 -9
  158. package/dist/src/browser/storage.d.ts.map +0 -1
  159. package/dist/src/browser/storage.js +0 -17
  160. package/dist/src/browser/storage.js.map +0 -1
  161. package/dist/src/config.d.ts +0 -3
  162. package/dist/src/config.d.ts.map +0 -1
  163. package/dist/src/config.js +0 -5
  164. package/dist/src/config.js.map +0 -1
  165. package/dist/src/constants.d.ts +0 -8
  166. package/dist/src/constants.d.ts.map +0 -1
  167. package/dist/src/constants.js +0 -16
  168. package/dist/src/constants.js.map +0 -1
  169. package/dist/src/index.d.ts +0 -6
  170. package/dist/src/index.d.ts.map +0 -1
  171. package/dist/src/index.js +0 -4
  172. package/dist/src/index.js.map +0 -1
  173. package/dist/src/lib/cookies.d.ts +0 -7
  174. package/dist/src/lib/cookies.d.ts.map +0 -1
  175. package/dist/src/lib/cookies.js +0 -25
  176. package/dist/src/lib/cookies.js.map +0 -1
  177. package/dist/src/lib/jwt.d.ts +0 -3
  178. package/dist/src/lib/jwt.d.ts.map +0 -1
  179. package/dist/src/lib/jwt.js +0 -9
  180. package/dist/src/lib/jwt.js.map +0 -1
  181. package/dist/src/lib/logger.d.ts +0 -26
  182. package/dist/src/lib/logger.d.ts.map +0 -1
  183. package/dist/src/lib/logger.js +0 -55
  184. package/dist/src/lib/logger.js.map +0 -1
  185. package/dist/src/lib/oauth.d.ts +0 -19
  186. package/dist/src/lib/oauth.d.ts.map +0 -1
  187. package/dist/src/lib/oauth.js +0 -61
  188. package/dist/src/lib/oauth.js.map +0 -1
  189. package/dist/src/lib/obj.d.ts +0 -3
  190. package/dist/src/lib/obj.d.ts.map +0 -1
  191. package/dist/src/lib/obj.js +0 -18
  192. package/dist/src/lib/obj.js.map +0 -1
  193. package/dist/src/lib/postMessage.d.ts +0 -4
  194. package/dist/src/lib/postMessage.d.ts.map +0 -1
  195. package/dist/src/lib/postMessage.js +0 -15
  196. package/dist/src/lib/postMessage.js.map +0 -1
  197. package/dist/src/lib/windowUtil.d.ts +0 -4
  198. package/dist/src/lib/windowUtil.d.ts.map +0 -1
  199. package/dist/src/lib/windowUtil.js +0 -31
  200. package/dist/src/lib/windowUtil.js.map +0 -1
  201. package/dist/src/nextjs/GetUser.d.ts +0 -6
  202. package/dist/src/nextjs/GetUser.d.ts.map +0 -1
  203. package/dist/src/nextjs/GetUser.js +0 -7
  204. package/dist/src/nextjs/GetUser.js.map +0 -1
  205. package/dist/src/nextjs/config.d.ts +0 -181
  206. package/dist/src/nextjs/config.d.ts.map +0 -1
  207. package/dist/src/nextjs/config.js +0 -177
  208. package/dist/src/nextjs/config.js.map +0 -1
  209. package/dist/src/nextjs/cookies.d.ts +0 -30
  210. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  211. package/dist/src/nextjs/cookies.js +0 -112
  212. package/dist/src/nextjs/cookies.js.map +0 -1
  213. package/dist/src/nextjs/hooks/index.d.ts +0 -2
  214. package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
  215. package/dist/src/nextjs/hooks/index.js +0 -2
  216. package/dist/src/nextjs/hooks/index.js.map +0 -1
  217. package/dist/src/nextjs/hooks/usePrevious.d.ts +0 -2
  218. package/dist/src/nextjs/hooks/usePrevious.d.ts.map +0 -1
  219. package/dist/src/nextjs/hooks/usePrevious.js +0 -9
  220. package/dist/src/nextjs/hooks/usePrevious.js.map +0 -1
  221. package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -8
  222. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  223. package/dist/src/nextjs/hooks/useUserCookie.js +0 -88
  224. package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
  225. package/dist/src/nextjs/index.d.ts +0 -7
  226. package/dist/src/nextjs/index.d.ts.map +0 -1
  227. package/dist/src/nextjs/index.js +0 -8
  228. package/dist/src/nextjs/index.js.map +0 -1
  229. package/dist/src/nextjs/middleware/index.d.ts +0 -2
  230. package/dist/src/nextjs/middleware/index.d.ts.map +0 -1
  231. package/dist/src/nextjs/middleware/index.js +0 -4
  232. package/dist/src/nextjs/middleware/index.js.map +0 -1
  233. package/dist/src/nextjs/middleware.d.ts +0 -59
  234. package/dist/src/nextjs/middleware.d.ts.map +0 -1
  235. package/dist/src/nextjs/middleware.js +0 -107
  236. package/dist/src/nextjs/middleware.js.map +0 -1
  237. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -13
  238. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  239. package/dist/src/nextjs/providers/NextAuthProvider.js +0 -94
  240. package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  241. package/dist/src/nextjs/routeHandler.d.ts +0 -19
  242. package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
  243. package/dist/src/nextjs/routeHandler.js +0 -309
  244. package/dist/src/nextjs/routeHandler.js.map +0 -1
  245. package/dist/src/nextjs/utils.d.ts +0 -3
  246. package/dist/src/nextjs/utils.d.ts.map +0 -1
  247. package/dist/src/nextjs/utils.js +0 -5
  248. package/dist/src/nextjs/utils.js.map +0 -1
  249. package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
  250. package/dist/src/reactjs/components/SignInButton.d.ts.map +0 -1
  251. package/dist/src/reactjs/components/SignInButton.js +0 -14
  252. package/dist/src/reactjs/components/SignInButton.js.map +0 -1
  253. package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
  254. package/dist/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  255. package/dist/src/reactjs/components/SignOutButton.js +0 -14
  256. package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
  257. package/dist/src/reactjs/components/UserButton.d.ts +0 -6
  258. package/dist/src/reactjs/components/UserButton.d.ts.map +0 -1
  259. package/dist/src/reactjs/components/UserButton.js +0 -118
  260. package/dist/src/reactjs/components/UserButton.js.map +0 -1
  261. package/dist/src/reactjs/components/index.d.ts +0 -6
  262. package/dist/src/reactjs/components/index.d.ts.map +0 -1
  263. package/dist/src/reactjs/components/index.js +0 -6
  264. package/dist/src/reactjs/components/index.js.map +0 -1
  265. package/dist/src/reactjs/hooks/index.d.ts +0 -6
  266. package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
  267. package/dist/src/reactjs/hooks/index.js +0 -6
  268. package/dist/src/reactjs/hooks/index.js.map +0 -1
  269. package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
  270. package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  271. package/dist/src/reactjs/hooks/useAuth.js +0 -12
  272. package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
  273. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  274. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  275. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  276. package/dist/src/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  277. package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
  278. package/dist/src/reactjs/hooks/useUser.d.ts.map +0 -1
  279. package/dist/src/reactjs/hooks/useUser.js +0 -12
  280. package/dist/src/reactjs/hooks/useUser.js.map +0 -1
  281. package/dist/src/reactjs/index.d.ts +0 -6
  282. package/dist/src/reactjs/index.d.ts.map +0 -1
  283. package/dist/src/reactjs/index.js +0 -10
  284. package/dist/src/reactjs/index.js.map +0 -1
  285. package/dist/src/reactjs/providers/AuthProvider.d.ts +0 -11
  286. package/dist/src/reactjs/providers/AuthProvider.d.ts.map +0 -1
  287. package/dist/src/reactjs/providers/AuthProvider.js +0 -76
  288. package/dist/src/reactjs/providers/AuthProvider.js.map +0 -1
  289. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts +0 -6
  290. package/dist/src/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  291. package/dist/src/reactjs/providers/CivicAuthProvider.js +0 -32
  292. package/dist/src/reactjs/providers/CivicAuthProvider.js.map +0 -1
  293. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  294. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  295. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -148
  296. package/dist/src/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  297. package/dist/src/reactjs/providers/index.d.ts +0 -8
  298. package/dist/src/reactjs/providers/index.d.ts.map +0 -1
  299. package/dist/src/reactjs/providers/index.js +0 -7
  300. package/dist/src/reactjs/providers/index.js.map +0 -1
  301. package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -20
  302. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  303. package/dist/src/server/ServerAuthenticationResolver.js +0 -67
  304. package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
  305. package/dist/src/server/config.d.ts +0 -10
  306. package/dist/src/server/config.d.ts.map +0 -1
  307. package/dist/src/server/config.js +0 -2
  308. package/dist/src/server/config.js.map +0 -1
  309. package/dist/src/server/index.d.ts +0 -7
  310. package/dist/src/server/index.d.ts.map +0 -1
  311. package/dist/src/server/index.js +0 -7
  312. package/dist/src/server/index.js.map +0 -1
  313. package/dist/src/server/login.d.ts +0 -21
  314. package/dist/src/server/login.d.ts.map +0 -1
  315. package/dist/src/server/login.js +0 -56
  316. package/dist/src/server/login.js.map +0 -1
  317. package/dist/src/server/refresh.d.ts +0 -7
  318. package/dist/src/server/refresh.d.ts.map +0 -1
  319. package/dist/src/server/refresh.js +0 -13
  320. package/dist/src/server/refresh.js.map +0 -1
  321. package/dist/src/services/AuthenticationService.d.ts +0 -91
  322. package/dist/src/services/AuthenticationService.d.ts.map +0 -1
  323. package/dist/src/services/AuthenticationService.js +0 -322
  324. package/dist/src/services/AuthenticationService.js.map +0 -1
  325. package/dist/src/services/PKCE.d.ts +0 -20
  326. package/dist/src/services/PKCE.d.ts.map +0 -1
  327. package/dist/src/services/PKCE.js +0 -44
  328. package/dist/src/services/PKCE.js.map +0 -1
  329. package/dist/src/services/types.d.ts +0 -24
  330. package/dist/src/services/types.d.ts.map +0 -1
  331. package/dist/src/services/types.js +0 -7
  332. package/dist/src/services/types.js.map +0 -1
  333. package/dist/src/shared/components/BlockDisplay.d.ts +0 -7
  334. package/dist/src/shared/components/BlockDisplay.d.ts.map +0 -1
  335. package/dist/src/shared/components/BlockDisplay.js +0 -25
  336. package/dist/src/shared/components/BlockDisplay.js.map +0 -1
  337. package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -9
  338. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  339. package/dist/src/shared/components/CivicAuthIframe.js +0 -8
  340. package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
  341. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -13
  342. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  343. package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -138
  344. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  345. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -7
  346. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  347. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  348. package/dist/src/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  349. package/dist/src/shared/components/CloseIcon.d.ts +0 -4
  350. package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
  351. package/dist/src/shared/components/CloseIcon.js +0 -6
  352. package/dist/src/shared/components/CloseIcon.js.map +0 -1
  353. package/dist/src/shared/components/IFrameAndLoading.d.ts +0 -8
  354. package/dist/src/shared/components/IFrameAndLoading.d.ts.map +0 -1
  355. package/dist/src/shared/components/IFrameAndLoading.js +0 -27
  356. package/dist/src/shared/components/IFrameAndLoading.js.map +0 -1
  357. package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
  358. package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
  359. package/dist/src/shared/components/LoadingIcon.js +0 -30
  360. package/dist/src/shared/components/LoadingIcon.js.map +0 -1
  361. package/dist/src/shared/hooks/index.d.ts +0 -11
  362. package/dist/src/shared/hooks/index.d.ts.map +0 -1
  363. package/dist/src/shared/hooks/index.js +0 -11
  364. package/dist/src/shared/hooks/index.js.map +0 -1
  365. package/dist/src/shared/hooks/useAuth.d.ts +0 -3
  366. package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
  367. package/dist/src/shared/hooks/useAuth.js +0 -12
  368. package/dist/src/shared/hooks/useAuth.js.map +0 -1
  369. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  370. package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  371. package/dist/src/shared/hooks/useCivicAuthConfig.js +0 -10
  372. package/dist/src/shared/hooks/useCivicAuthConfig.js.map +0 -1
  373. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  374. package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  375. package/dist/src/shared/hooks/useClientTokenExchangeSession.js +0 -13
  376. package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  377. package/dist/src/shared/hooks/useCurrentUrl.d.ts +0 -3
  378. package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  379. package/dist/src/shared/hooks/useCurrentUrl.js +0 -24
  380. package/dist/src/shared/hooks/useCurrentUrl.js.map +0 -1
  381. package/dist/src/shared/hooks/useIframe.d.ts +0 -3
  382. package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
  383. package/dist/src/shared/hooks/useIframe.js +0 -13
  384. package/dist/src/shared/hooks/useIframe.js.map +0 -1
  385. package/dist/src/shared/hooks/useIsInIframe.d.ts +0 -3
  386. package/dist/src/shared/hooks/useIsInIframe.d.ts.map +0 -1
  387. package/dist/src/shared/hooks/useIsInIframe.js +0 -14
  388. package/dist/src/shared/hooks/useIsInIframe.js.map +0 -1
  389. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  390. package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  391. package/dist/src/shared/hooks/useOAuthEndpoints.js +0 -14
  392. package/dist/src/shared/hooks/useOAuthEndpoints.js.map +0 -1
  393. package/dist/src/shared/hooks/useRefresh.d.ts +0 -4
  394. package/dist/src/shared/hooks/useRefresh.d.ts.map +0 -1
  395. package/dist/src/shared/hooks/useRefresh.js +0 -38
  396. package/dist/src/shared/hooks/useRefresh.js.map +0 -1
  397. package/dist/src/shared/hooks/useSession.d.ts +0 -3
  398. package/dist/src/shared/hooks/useSession.d.ts.map +0 -1
  399. package/dist/src/shared/hooks/useSession.js +0 -13
  400. package/dist/src/shared/hooks/useSession.js.map +0 -1
  401. package/dist/src/shared/hooks/useSignIn.d.ts +0 -15
  402. package/dist/src/shared/hooks/useSignIn.d.ts.map +0 -1
  403. package/dist/src/shared/hooks/useSignIn.js +0 -126
  404. package/dist/src/shared/hooks/useSignIn.js.map +0 -1
  405. package/dist/src/shared/hooks/useToken.d.ts +0 -3
  406. package/dist/src/shared/hooks/useToken.d.ts.map +0 -1
  407. package/dist/src/shared/hooks/useToken.js +0 -12
  408. package/dist/src/shared/hooks/useToken.js.map +0 -1
  409. package/dist/src/shared/hooks/useWindowFocused.d.ts +0 -5
  410. package/dist/src/shared/hooks/useWindowFocused.d.ts.map +0 -1
  411. package/dist/src/shared/hooks/useWindowFocused.js +0 -21
  412. package/dist/src/shared/hooks/useWindowFocused.js.map +0 -1
  413. package/dist/src/shared/index.d.ts +0 -5
  414. package/dist/src/shared/index.d.ts.map +0 -1
  415. package/dist/src/shared/index.js +0 -16
  416. package/dist/src/shared/index.js.map +0 -1
  417. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -20
  418. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  419. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -73
  420. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  421. package/dist/src/shared/lib/UserSession.d.ts +0 -12
  422. package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
  423. package/dist/src/shared/lib/UserSession.js +0 -20
  424. package/dist/src/shared/lib/UserSession.js.map +0 -1
  425. package/dist/src/shared/lib/session.d.ts +0 -3
  426. package/dist/src/shared/lib/session.d.ts.map +0 -1
  427. package/dist/src/shared/lib/session.js +0 -21
  428. package/dist/src/shared/lib/session.js.map +0 -1
  429. package/dist/src/shared/lib/storage.d.ts +0 -25
  430. package/dist/src/shared/lib/storage.d.ts.map +0 -1
  431. package/dist/src/shared/lib/storage.js +0 -17
  432. package/dist/src/shared/lib/storage.js.map +0 -1
  433. package/dist/src/shared/lib/types.d.ts +0 -36
  434. package/dist/src/shared/lib/types.d.ts.map +0 -1
  435. package/dist/src/shared/lib/types.js +0 -18
  436. package/dist/src/shared/lib/types.js.map +0 -1
  437. package/dist/src/shared/lib/util.d.ts +0 -34
  438. package/dist/src/shared/lib/util.d.ts.map +0 -1
  439. package/dist/src/shared/lib/util.js +0 -137
  440. package/dist/src/shared/lib/util.js.map +0 -1
  441. package/dist/src/shared/providers/AuthContext.d.ts +0 -11
  442. package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
  443. package/dist/src/shared/providers/AuthContext.js +0 -3
  444. package/dist/src/shared/providers/AuthContext.js.map +0 -1
  445. package/dist/src/shared/providers/AuthProvider.d.ts +0 -22
  446. package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
  447. package/dist/src/shared/providers/AuthProvider.js +0 -72
  448. package/dist/src/shared/providers/AuthProvider.js.map +0 -1
  449. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +0 -18
  450. package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  451. package/dist/src/shared/providers/CivicAuthConfigContext.js +0 -52
  452. package/dist/src/shared/providers/CivicAuthConfigContext.js.map +0 -1
  453. package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  454. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  455. package/dist/src/shared/providers/CivicAuthProvider.js +0 -32
  456. package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
  457. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  458. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  459. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  460. package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  461. package/dist/src/shared/providers/IframeProvider.d.ts +0 -22
  462. package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
  463. package/dist/src/shared/providers/IframeProvider.js +0 -35
  464. package/dist/src/shared/providers/IframeProvider.js.map +0 -1
  465. package/dist/src/shared/providers/SessionProvider.d.ts +0 -19
  466. package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
  467. package/dist/src/shared/providers/SessionProvider.js +0 -23
  468. package/dist/src/shared/providers/SessionProvider.js.map +0 -1
  469. package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
  470. package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
  471. package/dist/src/shared/providers/TokenProvider.js +0 -42
  472. package/dist/src/shared/providers/TokenProvider.js.map +0 -1
  473. package/dist/src/shared/providers/UserProvider.d.ts +0 -24
  474. package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
  475. package/dist/src/shared/providers/UserProvider.js +0 -52
  476. package/dist/src/shared/providers/UserProvider.js.map +0 -1
  477. package/dist/src/shared/providers/types.d.ts +0 -15
  478. package/dist/src/shared/providers/types.d.ts.map +0 -1
  479. package/dist/src/shared/providers/types.js +0 -2
  480. package/dist/src/shared/providers/types.js.map +0 -1
  481. package/dist/src/shared/version.d.ts +0 -2
  482. package/dist/src/shared/version.d.ts.map +0 -1
  483. package/dist/src/shared/version.js +0 -3
  484. package/dist/src/shared/version.js.map +0 -1
  485. package/dist/src/types.d.ts +0 -148
  486. package/dist/src/types.d.ts.map +0 -1
  487. package/dist/src/types.js +0 -4
  488. package/dist/src/types.js.map +0 -1
  489. package/dist/src/utils.d.ts +0 -15
  490. package/dist/src/utils.d.ts.map +0 -1
  491. package/dist/src/utils.js +0 -43
  492. package/dist/src/utils.js.map +0 -1
  493. package/dist/src/version.d.ts +0 -2
  494. package/dist/src/version.d.ts.map +0 -1
  495. package/dist/src/version.js +0 -3
  496. package/dist/src/version.js.map +0 -1
  497. package/dist/test/integration/sdk.test.d.ts +0 -2
  498. package/dist/test/integration/sdk.test.d.ts.map +0 -1
  499. package/dist/test/integration/sdk.test.js +0 -237
  500. package/dist/test/integration/sdk.test.js.map +0 -1
  501. package/dist/test/support/fixtures.d.ts +0 -26
  502. package/dist/test/support/fixtures.d.ts.map +0 -1
  503. package/dist/test/support/fixtures.js +0 -55
  504. package/dist/test/support/fixtures.js.map +0 -1
  505. package/dist/test/support/tokens.json +0 -26
  506. package/dist/test/unit/lib/oauth.test.d.ts +0 -2
  507. package/dist/test/unit/lib/oauth.test.d.ts.map +0 -1
  508. package/dist/test/unit/lib/oauth.test.js +0 -56
  509. package/dist/test/unit/lib/oauth.test.js.map +0 -1
  510. package/dist/test/unit/lib/obj.test.d.ts +0 -2
  511. package/dist/test/unit/lib/obj.test.d.ts.map +0 -1
  512. package/dist/test/unit/lib/obj.test.js +0 -37
  513. package/dist/test/unit/lib/obj.test.js.map +0 -1
  514. package/dist/test/unit/logger.test.d.ts +0 -2
  515. package/dist/test/unit/logger.test.d.ts.map +0 -1
  516. package/dist/test/unit/logger.test.js +0 -141
  517. package/dist/test/unit/logger.test.js.map +0 -1
  518. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
  519. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +0 -1
  520. package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -31
  521. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
  522. package/dist/test/unit/nextjs/config.test.d.ts +0 -2
  523. package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
  524. package/dist/test/unit/nextjs/config.test.js +0 -203
  525. package/dist/test/unit/nextjs/config.test.js.map +0 -1
  526. package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
  527. package/dist/test/unit/nextjs/getUser.test.d.ts.map +0 -1
  528. package/dist/test/unit/nextjs/getUser.test.js +0 -22
  529. package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
  530. package/dist/test/unit/nextjs/handler.test.d.ts +0 -2
  531. package/dist/test/unit/nextjs/handler.test.d.ts.map +0 -1
  532. package/dist/test/unit/nextjs/handler.test.js +0 -207
  533. package/dist/test/unit/nextjs/handler.test.js.map +0 -1
  534. package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
  535. package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
  536. package/dist/test/unit/nextjs/middleware.test.js +0 -113
  537. package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
  538. package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
  539. package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
  540. package/dist/test/unit/nextjs/utils.test.js +0 -13
  541. package/dist/test/unit/nextjs/utils.test.js.map +0 -1
  542. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
  543. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +0 -1
  544. package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
  545. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
  546. package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
  547. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +0 -1
  548. package/dist/test/unit/react/components/SignInButton.test.js +0 -31
  549. package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
  550. package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
  551. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +0 -1
  552. package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
  553. package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
  554. package/dist/test/unit/server/login.test.d.ts +0 -2
  555. package/dist/test/unit/server/login.test.d.ts.map +0 -1
  556. package/dist/test/unit/server/login.test.js +0 -184
  557. package/dist/test/unit/server/login.test.js.map +0 -1
  558. package/dist/test/unit/server/refresh.test.d.ts +0 -2
  559. package/dist/test/unit/server/refresh.test.d.ts.map +0 -1
  560. package/dist/test/unit/server/refresh.test.js +0 -55
  561. package/dist/test/unit/server/refresh.test.js.map +0 -1
  562. package/dist/test/unit/server/session.test.d.ts +0 -2
  563. package/dist/test/unit/server/session.test.d.ts.map +0 -1
  564. package/dist/test/unit/server/session.test.js +0 -41
  565. package/dist/test/unit/server/session.test.js.map +0 -1
  566. package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
  567. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +0 -1
  568. package/dist/test/unit/services/AuthenticationService.test.js +0 -301
  569. package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
  570. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
  571. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
  572. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -75
  573. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
  574. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
  575. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +0 -1
  576. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -144
  577. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
  578. package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
  579. package/dist/test/unit/shared/UserSession.test.d.ts.map +0 -1
  580. package/dist/test/unit/shared/UserSession.test.js +0 -37
  581. package/dist/test/unit/shared/UserSession.test.js.map +0 -1
  582. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
  583. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
  584. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -122
  585. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
  586. package/dist/test/unit/shared/printVersion.test.d.ts +0 -2
  587. package/dist/test/unit/shared/printVersion.test.d.ts.map +0 -1
  588. package/dist/test/unit/shared/printVersion.test.js +0 -39
  589. package/dist/test/unit/shared/printVersion.test.js.map +0 -1
  590. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts +0 -2
  591. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.d.ts.map +0 -1
  592. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js +0 -108
  593. package/dist/test/unit/shared/providers/ClientTokenExchangeSessionProvider.test.js.map +0 -1
  594. package/dist/test/unit/shared/storage.test.d.ts +0 -2
  595. package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
  596. package/dist/test/unit/shared/storage.test.js +0 -53
  597. package/dist/test/unit/shared/storage.test.js.map +0 -1
  598. package/dist/test/unit/utils.test.d.ts +0 -2
  599. package/dist/test/unit/utils.test.d.ts.map +0 -1
  600. package/dist/test/unit/utils.test.js +0 -40
  601. package/dist/test/unit/utils.test.js.map +0 -1
  602. package/dist/tsconfig.tsbuildinfo +0 -1
  603. package/dist/vitest.config.d.ts +0 -3
  604. package/dist/vitest.config.d.ts.map +0 -1
  605. package/dist/vitest.config.js +0 -44
  606. package/dist/vitest.config.js.map +0 -1
@@ -1,32 +0,0 @@
1
- "use client";
2
- import React from "react";
3
- import { AuthProvider } from "@/reactjs/providers/AuthProvider.js";
4
- import { BrowserPublicClientPKCEProducer } from "@/services/PKCE.js";
5
- import { UserProvider } from "@/shared/providers/UserProvider.js";
6
- import { LocalStorageAdapter } from "@/browser/storage.js";
7
- import { CivicAuthConfigProvider } from "@/shared/providers/CivicAuthConfigContext.js";
8
- import { IframeProvider } from "@/shared/providers/IframeProvider.js";
9
- import { ClientTokenExchangeSessionProvider } from "@/reactjs/providers/ClientTokenExchangeSessionProvider.js";
10
- import { SessionProvider } from "@/shared/providers/SessionProvider.js";
11
- import { useClientTokenExchangeSession } from "@/reactjs/hooks/useClientTokenExchangeSession.js";
12
- import { TokenProvider } from "@/shared/providers/TokenProvider.js";
13
- import { useAuth } from "@/shared/hooks/useAuth.js";
14
- const WrapperUserProvider = ({ children }) => {
15
- const { signIn, signOut, displayMode } = useAuth();
16
- return (React.createElement(UserProvider, { storage: new LocalStorageAdapter(), signIn: signIn, signOut: signOut, displayMode: displayMode }, children));
17
- };
18
- const WrapperSessionAuthProvider = ({ children, ...props }) => {
19
- const sessionData = useClientTokenExchangeSession();
20
- return (React.createElement(SessionProvider, { ...sessionData },
21
- React.createElement(IframeProvider, { iframeMode: props.iframeMode },
22
- React.createElement(AuthProvider, { ...props, pkceConsumer: new BrowserPublicClientPKCEProducer() },
23
- React.createElement(TokenProvider, null,
24
- React.createElement(WrapperUserProvider, null, children))))));
25
- };
26
- const CivicAuthProvider = ({ children, ...props }) => {
27
- return (React.createElement(CivicAuthConfigProvider, { oauthServer: props?.config?.oauthServer, clientId: props?.clientId, redirectUrl: props?.redirectUrl, nonce: props?.nonce, logoutRedirectUrl: props?.logoutRedirectUrl },
28
- React.createElement(ClientTokenExchangeSessionProvider, null,
29
- React.createElement(WrapperSessionAuthProvider, { ...props }, children))));
30
- };
31
- export { CivicAuthProvider };
32
- //# sourceMappingURL=CivicAuthProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CivicAuthProvider.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/CivicAuthProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,2DAA2D,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAKpD,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IAC1E,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IACnD,OAAO,CACL,oBAAC,YAAY,IACX,OAAO,EAAE,IAAI,mBAAmB,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,IAEvB,QAAQ,CACI,CAChB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,EAClC,QAAQ,EACR,GAAG,KAAK,EACe,EAAE,EAAE;IAC3B,MAAM,WAAW,GAAG,6BAA6B,EAAE,CAAC;IACpD,OAAO,CACL,oBAAC,eAAe,OAAK,WAAW;QAC9B,oBAAC,cAAc,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC1C,oBAAC,YAAY,OACP,KAAK,EACT,YAAY,EAAE,IAAI,+BAA+B,EAAE;gBAEnD,oBAAC,aAAa;oBACZ,oBAAC,mBAAmB,QAAE,QAAQ,CAAuB,CACvC,CACH,CACA,CACD,CACnB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA0B,EAAE,EAAE;IAC3E,OAAO,CACL,oBAAC,uBAAuB,IACtB,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EACvC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EACzB,WAAW,EAAE,KAAK,EAAE,WAAW,EAC/B,KAAK,EAAE,KAAK,EAAE,KAAK,EACnB,iBAAiB,EAAE,KAAK,EAAE,iBAAiB;QAE3C,oBAAC,kCAAkC;YACjC,oBAAC,0BAA0B,OAAK,KAAK,IAClC,QAAQ,CACkB,CACM,CACb,CAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAA+B,CAAC","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { AuthProvider } from \"@/reactjs/providers/AuthProvider.js\";\nimport { BrowserPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { UserProvider } from \"@/shared/providers/UserProvider.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { CivicAuthConfigProvider } from \"@/shared/providers/CivicAuthConfigContext.js\";\nimport { IframeProvider } from \"@/shared/providers/IframeProvider.js\";\nimport { ClientTokenExchangeSessionProvider } from \"@/reactjs/providers/ClientTokenExchangeSessionProvider.js\";\nimport { SessionProvider } from \"@/shared/providers/SessionProvider.js\";\nimport { useClientTokenExchangeSession } from \"@/reactjs/hooks/useClientTokenExchangeSession.js\";\nimport { TokenProvider } from \"@/shared/providers/TokenProvider.js\";\nimport { useAuth } from \"@/shared/hooks/useAuth.js\";\nimport type { AuthProviderProps } from \"@/shared/providers/types.js\";\n\ntype CivicAuthProviderProps = Omit<AuthProviderProps, \"pkceConsumer\">;\n\nconst WrapperUserProvider = ({ children }: { children: React.ReactNode }) => {\n const { signIn, signOut, displayMode } = useAuth();\n return (\n <UserProvider\n storage={new LocalStorageAdapter()}\n signIn={signIn}\n signOut={signOut}\n displayMode={displayMode}\n >\n {children}\n </UserProvider>\n );\n};\nconst WrapperSessionAuthProvider = ({\n children,\n ...props\n}: CivicAuthProviderProps) => {\n const sessionData = useClientTokenExchangeSession();\n return (\n <SessionProvider {...sessionData}>\n <IframeProvider iframeMode={props.iframeMode}>\n <AuthProvider\n {...props}\n pkceConsumer={new BrowserPublicClientPKCEProducer()}\n >\n <TokenProvider>\n <WrapperUserProvider>{children}</WrapperUserProvider>\n </TokenProvider>\n </AuthProvider>\n </IframeProvider>\n </SessionProvider>\n );\n};\nconst CivicAuthProvider = ({ children, ...props }: CivicAuthProviderProps) => {\n return (\n <CivicAuthConfigProvider\n oauthServer={props?.config?.oauthServer}\n clientId={props?.clientId}\n redirectUrl={props?.redirectUrl}\n nonce={props?.nonce}\n logoutRedirectUrl={props?.logoutRedirectUrl}\n >\n <ClientTokenExchangeSessionProvider>\n <WrapperSessionAuthProvider {...props}>\n {children}\n </WrapperSessionAuthProvider>\n </ClientTokenExchangeSessionProvider>\n </CivicAuthConfigProvider>\n );\n};\n\nexport { CivicAuthProvider, type CivicAuthProviderProps };\n"]}
@@ -1,17 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import React from "react";
3
- import type { SessionData } from "@/types.js";
4
- export type ClientTokenExchangeSessionProviderOutput = {
5
- data: SessionData | null;
6
- error: Error | null;
7
- isLoading: boolean;
8
- doTokenExchange: null | ((url: string) => Promise<void>);
9
- };
10
- declare const ClientTokenExchangeSessionContext: React.Context<ClientTokenExchangeSessionProviderOutput>;
11
- type ClientTokenExchangeSessionContextType = {
12
- children: ReactNode;
13
- };
14
- declare const ClientTokenExchangeSessionProvider: ({ children, }: ClientTokenExchangeSessionContextType) => React.JSX.Element;
15
- export type { ClientTokenExchangeSessionContextType as SessionContextType };
16
- export { ClientTokenExchangeSessionProvider, ClientTokenExchangeSessionContext, };
17
- //# sourceMappingURL=ClientTokenExchangeSessionProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientTokenExchangeSessionProvider.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/providers/ClientTokenExchangeSessionProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAMN,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAcF,QAAA,MAAM,iCAAiC,yDACkC,CAAC;AAE1E,KAAK,qCAAqC,GAAG;IAC3C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,kCAAkC,kBAErC,qCAAqC,sBAwJvC,CAAC;AAEF,YAAY,EAAE,qCAAqC,IAAI,kBAAkB,EAAE,CAAC;AAC5E,OAAO,EACL,kCAAkC,EAClC,iCAAiC,GAClC,CAAC"}
@@ -1,148 +0,0 @@
1
- "use client";
2
- import React, { createContext, useCallback, useEffect, useMemo, useState, } from "react";
3
- import { BrowserAuthenticationService } from "@/services/AuthenticationService.js";
4
- import { isWindowInIframe } from "@/lib/windowUtil.js";
5
- import { useCurrentUrl } from "@/shared/hooks/useCurrentUrl.js";
6
- import { useCivicAuthConfig } from "@/shared/hooks/useCivicAuthConfig.js";
7
- import { LocalStorageAdapter } from "@/browser/storage.js";
8
- import { useRefresh } from "../../shared/hooks/useRefresh.js";
9
- const defaultSession = {
10
- data: {
11
- authenticated: false,
12
- idToken: undefined,
13
- accessToken: undefined,
14
- displayMode: "iframe",
15
- },
16
- error: null,
17
- isLoading: false,
18
- doTokenExchange: null,
19
- };
20
- // Context for exposing session specifically to the TokenProvider
21
- const ClientTokenExchangeSessionContext = createContext(defaultSession);
22
- const ClientTokenExchangeSessionProvider = ({ children, }) => {
23
- const authConfig = useCivicAuthConfig();
24
- const [authService, setAuthService] = useState();
25
- const [error, setError] = useState(null);
26
- const [isLoading, setIsLoading] = useState(false);
27
- const [session, setSession] = useState(null);
28
- const [isWindowFocused, setIsWindowFocused] = useState(true);
29
- useRefresh(session);
30
- // handle the window refocusing after redirect
31
- useEffect(() => {
32
- const handleFocus = () => {
33
- setIsWindowFocused(true);
34
- };
35
- const handleBlur = () => {
36
- setIsWindowFocused(false);
37
- };
38
- window.addEventListener("focus", handleFocus);
39
- window.addEventListener("blur", handleBlur);
40
- return () => {
41
- window.removeEventListener("focus", handleFocus);
42
- window.removeEventListener("blur", handleBlur);
43
- };
44
- }, []);
45
- const currentUrl = useCurrentUrl();
46
- useEffect(() => {
47
- if (!currentUrl || !authConfig)
48
- return;
49
- const { redirectUrl, clientId, oauthServer, scopes, logoutRedirectUrl, logoutUrl, } = authConfig;
50
- BrowserAuthenticationService.build({
51
- clientId,
52
- redirectUrl,
53
- logoutRedirectUrl,
54
- logoutUrl,
55
- oauthServer,
56
- scopes,
57
- displayMode: "iframe",
58
- }).then(setAuthService);
59
- }, [currentUrl, authConfig]);
60
- const isInIframe = isWindowInIframe(globalThis.window);
61
- const doTokenExchange = useCallback(async (inUrl) => {
62
- if (!authService)
63
- return;
64
- const url = new URL(inUrl);
65
- const code = url.searchParams.get("code");
66
- const state = url.searchParams.get("state");
67
- if (code && state) {
68
- try {
69
- setIsLoading(true);
70
- await authService.tokenExchange(code, state);
71
- }
72
- catch (error) {
73
- setError(error);
74
- setSession({ authenticated: false });
75
- }
76
- setIsLoading(false);
77
- }
78
- }, [authService]);
79
- const onSignIn = useCallback(async () => {
80
- if (!authService)
81
- return;
82
- const session = await authService.getSessionData();
83
- setSession(session);
84
- }, [authService]);
85
- const onSignOut = useCallback(() => {
86
- setSession({ authenticated: false });
87
- }, []);
88
- useEffect(() => {
89
- LocalStorageAdapter.emitter.on("signIn", onSignIn);
90
- LocalStorageAdapter.emitter.on("signOut", onSignOut);
91
- return () => {
92
- LocalStorageAdapter.emitter.off("signIn", onSignIn);
93
- LocalStorageAdapter.emitter.off("signOut", onSignOut);
94
- };
95
- }, [onSignIn, onSignOut]);
96
- useEffect(() => {
97
- if (!authConfig) {
98
- setIsLoading(true);
99
- }
100
- else {
101
- setIsLoading(false);
102
- }
103
- }, [authConfig]);
104
- // Handle page load or refocus
105
- useEffect(() => {
106
- if (!authConfig || !authService || !currentUrl || isInIframe || isLoading) {
107
- return;
108
- }
109
- const abortController = new AbortController();
110
- const onPageLoad = async () => {
111
- // if we have existing tokens, then validate them and return the session data
112
- // otherwise check if we have a code in the url and exchange it for tokens
113
- // if we have neither, return undefined
114
- const existingSessionData = await authService.validateExistingSession();
115
- if (existingSessionData.authenticated) {
116
- setSession(existingSessionData);
117
- return;
118
- }
119
- if (abortController.signal.aborted ||
120
- !new URL(currentUrl).searchParams.get("code")) {
121
- return;
122
- }
123
- await doTokenExchange(currentUrl);
124
- };
125
- onPageLoad();
126
- return () => {
127
- abortController.abort();
128
- };
129
- }, [
130
- authConfig,
131
- authService,
132
- currentUrl,
133
- doTokenExchange,
134
- isInIframe,
135
- isLoading,
136
- isWindowFocused,
137
- session?.authenticated,
138
- ]);
139
- const value = useMemo(() => ({
140
- data: session,
141
- error,
142
- isLoading,
143
- doTokenExchange,
144
- }), [session, error, isLoading, doTokenExchange]);
145
- return (React.createElement(ClientTokenExchangeSessionContext.Provider, { value: value }, children));
146
- };
147
- export { ClientTokenExchangeSessionProvider, ClientTokenExchangeSessionContext, };
148
- //# sourceMappingURL=ClientTokenExchangeSessionProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientTokenExchangeSessionProvider.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/ClientTokenExchangeSessionProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\nimport type { ReactNode } from \"react\";\nimport React, {\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { BrowserAuthenticationService } from \"@/services/AuthenticationService.js\";\nimport type { AuthenticationResolver } from \"@/services/types.js\";\nimport { isWindowInIframe } from \"@/lib/windowUtil.js\";\nimport type { SessionData } from \"@/types.js\";\nimport { useCurrentUrl } from \"@/shared/hooks/useCurrentUrl.js\";\nimport { useCivicAuthConfig } from \"@/shared/hooks/useCivicAuthConfig.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { useRefresh } from \"../../shared/hooks/useRefresh.js\";\n\nexport type ClientTokenExchangeSessionProviderOutput = {\n data: SessionData | null;\n error: Error | null;\n isLoading: boolean;\n doTokenExchange: null | ((url: string) => Promise<void>);\n};\nconst defaultSession: ClientTokenExchangeSessionProviderOutput = {\n data: {\n authenticated: false,\n idToken: undefined,\n accessToken: undefined,\n displayMode: \"iframe\",\n },\n error: null,\n isLoading: false,\n doTokenExchange: null,\n};\n\n// Context for exposing session specifically to the TokenProvider\nconst ClientTokenExchangeSessionContext =\n createContext<ClientTokenExchangeSessionProviderOutput>(defaultSession);\n\ntype ClientTokenExchangeSessionContextType = {\n children: ReactNode;\n};\n\nconst ClientTokenExchangeSessionProvider = ({\n children,\n}: ClientTokenExchangeSessionContextType) => {\n const authConfig = useCivicAuthConfig();\n const [authService, setAuthService] = useState<AuthenticationResolver>();\n const [error, setError] = useState<Error | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [session, setSession] = useState<SessionData | null>(null);\n const [isWindowFocused, setIsWindowFocused] = useState(true);\n\n useRefresh(session);\n // handle the window refocusing after redirect\n useEffect(() => {\n const handleFocus = () => {\n setIsWindowFocused(true);\n };\n\n const handleBlur = () => {\n setIsWindowFocused(false);\n };\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleBlur);\n\n return () => {\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleBlur);\n };\n }, []);\n\n const currentUrl = useCurrentUrl();\n\n useEffect(() => {\n if (!currentUrl || !authConfig) return;\n\n const {\n redirectUrl,\n clientId,\n oauthServer,\n scopes,\n logoutRedirectUrl,\n logoutUrl,\n } = authConfig;\n BrowserAuthenticationService.build({\n clientId,\n redirectUrl,\n logoutRedirectUrl,\n logoutUrl,\n oauthServer,\n scopes,\n displayMode: \"iframe\",\n }).then(setAuthService);\n }, [currentUrl, authConfig]);\n\n const isInIframe = isWindowInIframe(globalThis.window);\n\n const doTokenExchange = useCallback(\n async (inUrl: string) => {\n if (!authService) return;\n const url = new URL(inUrl);\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n if (code && state) {\n try {\n setIsLoading(true);\n await authService.tokenExchange(code, state);\n } catch (error) {\n setError(error as Error);\n setSession({ authenticated: false });\n }\n setIsLoading(false);\n }\n },\n [authService],\n );\n\n const onSignIn = useCallback(async () => {\n if (!authService) return;\n const session = await authService.getSessionData();\n setSession(session);\n }, [authService]);\n\n const onSignOut = useCallback(() => {\n setSession({ authenticated: false });\n }, []);\n\n useEffect(() => {\n LocalStorageAdapter.emitter.on(\"signIn\", onSignIn);\n LocalStorageAdapter.emitter.on(\"signOut\", onSignOut);\n return () => {\n LocalStorageAdapter.emitter.off(\"signIn\", onSignIn);\n LocalStorageAdapter.emitter.off(\"signOut\", onSignOut);\n };\n }, [onSignIn, onSignOut]);\n\n useEffect(() => {\n if (!authConfig) {\n setIsLoading(true);\n } else {\n setIsLoading(false);\n }\n }, [authConfig]);\n // Handle page load or refocus\n useEffect(() => {\n if (!authConfig || !authService || !currentUrl || isInIframe || isLoading) {\n return;\n }\n const abortController = new AbortController();\n const onPageLoad = async () => {\n // if we have existing tokens, then validate them and return the session data\n // otherwise check if we have a code in the url and exchange it for tokens\n // if we have neither, return undefined\n const existingSessionData = await authService.validateExistingSession();\n if (existingSessionData.authenticated) {\n setSession(existingSessionData);\n return;\n }\n if (\n abortController.signal.aborted ||\n !new URL(currentUrl).searchParams.get(\"code\")\n ) {\n return;\n }\n await doTokenExchange(currentUrl);\n };\n onPageLoad();\n return () => {\n abortController.abort();\n };\n }, [\n authConfig,\n authService,\n currentUrl,\n doTokenExchange,\n isInIframe,\n isLoading,\n isWindowFocused,\n session?.authenticated,\n ]);\n\n const value = useMemo(\n () => ({\n data: session,\n error,\n isLoading,\n doTokenExchange,\n }),\n [session, error, isLoading, doTokenExchange],\n );\n\n return (\n <ClientTokenExchangeSessionContext.Provider value={value}>\n {children}\n </ClientTokenExchangeSessionContext.Provider>\n );\n};\n\nexport type { ClientTokenExchangeSessionContextType as SessionContextType };\nexport {\n ClientTokenExchangeSessionProvider,\n ClientTokenExchangeSessionContext,\n};\n"]}
@@ -1,8 +0,0 @@
1
- export { UserProvider, UserContext, type UserContextType, } from "@/shared/providers/UserProvider.js";
2
- export { TokenProvider, TokenContext, type TokenContextType, } from "@/shared/providers/TokenProvider.js";
3
- export { AuthProvider } from "@/reactjs/providers/AuthProvider.js";
4
- export { SessionProvider, SessionContext, type SessionContextType, } from "@/shared/providers/SessionProvider.js";
5
- export { CivicAuthProvider, type CivicAuthProviderProps, } from "@/reactjs/providers/CivicAuthProvider.js";
6
- export { AuthContext } from "@/shared/providers/AuthContext.js";
7
- export type { AuthContextType } from "@/shared/providers/AuthContext.js";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
@@ -1,7 +0,0 @@
1
- export { UserProvider, UserContext, } from "@/shared/providers/UserProvider.js";
2
- export { TokenProvider, TokenContext, } from "@/shared/providers/TokenProvider.js";
3
- export { AuthProvider } from "@/reactjs/providers/AuthProvider.js";
4
- export { SessionProvider, SessionContext, } from "@/shared/providers/SessionProvider.js";
5
- export { CivicAuthProvider, } from "@/reactjs/providers/CivicAuthProvider.js";
6
- export { AuthContext } from "@/shared/providers/AuthContext.js";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/reactjs/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,GAEZ,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,GAEb,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,cAAc,GAEf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,iBAAiB,GAElB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["export {\n UserProvider,\n UserContext,\n type UserContextType,\n} from \"@/shared/providers/UserProvider.js\";\n\nexport {\n TokenProvider,\n TokenContext,\n type TokenContextType,\n} from \"@/shared/providers/TokenProvider.js\";\n\nexport { AuthProvider } from \"@/reactjs/providers/AuthProvider.js\";\n\nexport {\n SessionProvider,\n SessionContext,\n type SessionContextType,\n} from \"@/shared/providers/SessionProvider.js\";\n\nexport {\n CivicAuthProvider,\n type CivicAuthProviderProps,\n} from \"@/reactjs/providers/CivicAuthProvider.js\";\n\nexport { AuthContext } from \"@/shared/providers/AuthContext.js\";\nexport type { AuthContextType } from \"@/shared/providers/AuthContext.js\";\n"]}
@@ -1,20 +0,0 @@
1
- import type { AuthStorage, Endpoints, OIDCTokenResponseBody, SessionData } from "@/types.js";
2
- import type { AuthConfig } from "@/server/config.js";
3
- import type { AuthenticationResolver } from "@/services/types.ts";
4
- export declare class ServerAuthenticationResolver implements AuthenticationResolver {
5
- readonly authConfig: AuthConfig;
6
- readonly storage: AuthStorage;
7
- readonly endpointOverrides?: Partial<Endpoints> | undefined;
8
- private pkceProducer;
9
- private oauth2client;
10
- private endpoints;
11
- private constructor();
12
- validateExistingSession(): Promise<SessionData>;
13
- get oauthServer(): string;
14
- init(): Promise<this>;
15
- tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
16
- getSessionData(): Promise<SessionData | null>;
17
- getEndSessionEndpoint(): Promise<string | null>;
18
- static build(authConfig: AuthConfig, storage: AuthStorage, endpointOverrides?: Partial<Endpoints>): Promise<AuthenticationResolver>;
19
- }
20
- //# sourceMappingURL=ServerAuthenticationResolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerAuthenticationResolver.d.ts","sourceRoot":"","sources":["../../../src/server/ServerAuthenticationResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,sBAAsB,EAAgB,MAAM,qBAAqB,CAAC;AAGhF,qBAAa,4BAA6B,YAAW,sBAAsB;IAMvE,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAPjD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO;IAOP,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC;IAI/C,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAa7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAOxC,KAAK,CAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACrC,OAAO,CAAC,sBAAsB,CAAC;CAUnC"}
@@ -1,67 +0,0 @@
1
- import { GenericPublicClientPKCEProducer } from "@/services/PKCE.js";
2
- import { OAuth2Client } from "oslo/oauth2";
3
- import { exchangeTokens, getEndpointsWithOverrides, retrieveTokens, storeTokens, } from "@/shared/lib/util.js";
4
- import { DEFAULT_AUTH_SERVER } from "@/constants.js";
5
- export class ServerAuthenticationResolver {
6
- authConfig;
7
- storage;
8
- endpointOverrides;
9
- pkceProducer;
10
- oauth2client;
11
- endpoints;
12
- constructor(authConfig, storage, endpointOverrides) {
13
- this.authConfig = authConfig;
14
- this.storage = storage;
15
- this.endpointOverrides = endpointOverrides;
16
- this.pkceProducer = new GenericPublicClientPKCEProducer(storage);
17
- }
18
- validateExistingSession() {
19
- throw new Error("Method not implemented.");
20
- }
21
- get oauthServer() {
22
- return this.authConfig.oauthServer || DEFAULT_AUTH_SERVER;
23
- }
24
- async init() {
25
- // resolve oauth config
26
- this.endpoints = await getEndpointsWithOverrides(this.oauthServer, this.endpointOverrides);
27
- this.oauth2client = new OAuth2Client(this.authConfig.clientId, this.endpoints.auth, this.endpoints.token, {
28
- redirectURI: this.authConfig.redirectUrl,
29
- });
30
- return this;
31
- }
32
- async tokenExchange(code, state) {
33
- if (!this.oauth2client)
34
- await this.init();
35
- const codeVerifier = await this.pkceProducer.getCodeVerifier();
36
- if (!codeVerifier)
37
- throw new Error("Code verifier not found in storage");
38
- // exchange auth code for tokens
39
- const tokens = await exchangeTokens(code, state, this.pkceProducer, this.oauth2client, // clean up types here to avoid the ! operator
40
- this.oauthServer, this.endpoints);
41
- await storeTokens(this.storage, tokens);
42
- return tokens;
43
- }
44
- async getSessionData() {
45
- const storageData = await retrieveTokens(this.storage);
46
- if (!storageData)
47
- return null;
48
- return {
49
- authenticated: !!storageData.id_token,
50
- idToken: storageData.id_token,
51
- accessToken: storageData.access_token,
52
- refreshToken: storageData.refresh_token,
53
- };
54
- }
55
- async getEndSessionEndpoint() {
56
- if (!this.endpoints) {
57
- return null;
58
- }
59
- return this.endpoints.endsession;
60
- }
61
- static async build(authConfig, storage, endpointOverrides) {
62
- const resolver = new ServerAuthenticationResolver(authConfig, storage, endpointOverrides);
63
- await resolver.init();
64
- return resolver;
65
- }
66
- }
67
- //# sourceMappingURL=ServerAuthenticationResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerAuthenticationResolver.js","sourceRoot":"","sources":["../../../src/server/ServerAuthenticationResolver.ts"],"names":[],"mappings":"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","sourcesContent":["import { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport type {\n AuthStorage,\n Endpoints,\n OIDCTokenResponseBody,\n SessionData,\n} from \"@/types.js\";\nimport type { AuthConfig } from \"@/server/config.js\";\nimport {\n exchangeTokens,\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/lib/util.js\";\nimport type { AuthenticationResolver, PKCEProducer } from \"@/services/types.ts\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\n\nexport class ServerAuthenticationResolver implements AuthenticationResolver {\n private pkceProducer: PKCEProducer;\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n private constructor(\n readonly authConfig: AuthConfig,\n readonly storage: AuthStorage,\n readonly endpointOverrides?: Partial<Endpoints>,\n ) {\n this.pkceProducer = new GenericPublicClientPKCEProducer(storage);\n }\n validateExistingSession(): Promise<SessionData> {\n throw new Error(\"Method not implemented.\");\n }\n\n get oauthServer(): string {\n return this.authConfig.oauthServer || DEFAULT_AUTH_SERVER;\n }\n\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.oauthServer,\n this.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.authConfig.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.authConfig.redirectUrl,\n },\n );\n\n return this;\n }\n\n async tokenExchange(\n code: string,\n state: string,\n ): Promise<OIDCTokenResponseBody> {\n if (!this.oauth2client) await this.init();\n const codeVerifier = await this.pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in storage\");\n\n // exchange auth code for tokens\n const tokens = await exchangeTokens(\n code,\n state,\n this.pkceProducer,\n this.oauth2client!, // clean up types here to avoid the ! operator\n this.oauthServer,\n this.endpoints!, // clean up types here to avoid the ! operator\n );\n\n await storeTokens(this.storage, tokens);\n\n return tokens;\n }\n\n async getSessionData(): Promise<SessionData | null> {\n const storageData = await retrieveTokens(this.storage);\n\n if (!storageData) return null;\n\n return {\n authenticated: !!storageData.id_token,\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n };\n }\n\n async getEndSessionEndpoint(): Promise<string | null> {\n if (!this.endpoints) {\n return null;\n }\n return this.endpoints.endsession;\n }\n\n static async build(\n authConfig: AuthConfig,\n storage: AuthStorage,\n endpointOverrides?: Partial<Endpoints>,\n ): Promise<AuthenticationResolver> {\n const resolver = new ServerAuthenticationResolver(\n authConfig,\n storage,\n endpointOverrides,\n );\n await resolver.init();\n\n return resolver;\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import type { Endpoints } from "@/types.ts";
2
- export type AuthConfig = {
3
- clientId: string;
4
- redirectUrl: string;
5
- oauthServer?: string;
6
- challengeUrl?: string;
7
- endpointOverrides?: Partial<Endpoints> | undefined;
8
- postLogoutRedirectUrl?: string;
9
- };
10
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACnD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"","sourcesContent":["import type { Endpoints } from \"@/types.ts\";\n\nexport type AuthConfig = {\n clientId: string;\n redirectUrl: string;\n oauthServer?: string;\n challengeUrl?: string;\n endpointOverrides?: Partial<Endpoints> | undefined;\n postLogoutRedirectUrl?: string;\n};\n"]}
@@ -1,7 +0,0 @@
1
- export { CookieStorage } from "@/shared/lib/storage.js";
2
- export type { SessionStorage, CookieStorageSettings, } from "@/shared/lib/storage.js";
3
- export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, buildLogoutRedirectUrl, } from "@/server/login.js";
4
- export type { AuthConfig } from "@/server/config.js";
5
- export { getUser } from "@/shared/lib/session.js";
6
- export { refreshTokens } from "@/server/refresh.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAEA,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,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,7 +0,0 @@
1
- import { printVersion } from "@/shared/index.js";
2
- printVersion();
3
- export { CookieStorage } from "@/shared/lib/storage.js";
4
- export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, buildLogoutRedirectUrl, } from "@/server/login.js";
5
- export { getUser } from "@/shared/lib/session.js";
6
- export { refreshTokens } from "@/server/refresh.js";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["import { printVersion } from \"@/shared/index.js\";\nprintVersion();\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 } from \"@/shared/lib/session.js\";\nexport { refreshTokens } from \"@/server/refresh.js\";\n"]}
@@ -1,21 +0,0 @@
1
- import type { AuthStorage, OIDCTokenResponseBody } from "@/types.js";
2
- import type { AuthConfig } from "@/server/config.ts";
3
- /**
4
- * Resolve an OAuth access code to a set of OIDC tokens
5
- * @param code The access code, typically from a query parameter in the redirect url
6
- * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url
7
- * @param storage The place that this server uses to store session data (e.g. a cookie store)
8
- * @param config Oauth Server configuration
9
- */
10
- export declare function resolveOAuthAccessCode(code: string, state: string, storage: AuthStorage, config: AuthConfig): Promise<OIDCTokenResponseBody>;
11
- export declare function isLoggedIn(storage: AuthStorage): Promise<boolean>;
12
- export declare function buildLoginUrl(config: Pick<AuthConfig, "clientId" | "redirectUrl"> & Partial<Pick<AuthConfig, "oauthServer">> & {
13
- scopes?: string[];
14
- state?: string;
15
- nonce?: string;
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
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
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,56 +0,0 @@
1
- import { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from "@/constants.js";
2
- import { GenericAuthenticationInitiator } from "@/services/AuthenticationService.js";
3
- import { GenericPublicClientPKCEProducer } from "@/services/PKCE.js";
4
- import { ServerAuthenticationResolver } from "@/server/ServerAuthenticationResolver.js";
5
- import { OAuthTokens } from "@/shared/lib/types.js";
6
- /**
7
- * Resolve an OAuth access code to a set of OIDC tokens
8
- * @param code The access code, typically from a query parameter in the redirect url
9
- * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url
10
- * @param storage The place that this server uses to store session data (e.g. a cookie store)
11
- * @param config Oauth Server configuration
12
- */
13
- export async function resolveOAuthAccessCode(code, state, storage, config) {
14
- const authSessionService = await ServerAuthenticationResolver.build({
15
- ...config,
16
- oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
17
- }, storage, config.endpointOverrides);
18
- return authSessionService.tokenExchange(code, state);
19
- }
20
- export async function isLoggedIn(storage) {
21
- return !!(await storage.get("id_token"));
22
- }
23
- export async function buildLoginUrl(config, storage) {
24
- // generate a random state if not provided
25
- const state = config.state ?? Math.random().toString(36).substring(2);
26
- const scopes = config.scopes ?? DEFAULT_SCOPES;
27
- const pkceProducer = new GenericPublicClientPKCEProducer(storage);
28
- const authInitiator = new GenericAuthenticationInitiator({
29
- ...config,
30
- state,
31
- scopes,
32
- oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
33
- // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session
34
- pkceConsumer: pkceProducer,
35
- });
36
- return authInitiator.signIn();
37
- }
38
- export async function buildLogoutRedirectUrl(config, storage) {
39
- // generate a random state if not provided
40
- const state = config.state ?? Math.random().toString(36).substring(2);
41
- const scopes = config.scopes ?? DEFAULT_SCOPES;
42
- const pkceProducer = new GenericPublicClientPKCEProducer(storage);
43
- const authInitiator = new GenericAuthenticationInitiator({
44
- ...config,
45
- state,
46
- scopes,
47
- oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
48
- pkceConsumer: pkceProducer,
49
- redirectUrl: config.postLogoutRedirectUrl || "/",
50
- });
51
- const idToken = await storage.get(OAuthTokens.ID_TOKEN);
52
- if (!idToken)
53
- throw new Error("No id_token found in storage");
54
- return authInitiator.signOut(idToken);
55
- }
56
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/server/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,OAAoB,EACpB,MAAkB;IAElB,MAAM,kBAAkB,GAAG,MAAM,4BAA4B,CAAC,KAAK,CACjE;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAoB;IACnD,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,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,cAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,8BAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;QACtD,mGAAmG;QACnG,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,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,cAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,8BAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;QACtD,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG;KACjD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,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,7 +0,0 @@
1
- import type { AuthStorage, OIDCTokenResponseBody } from "@/types.js";
2
- import type { AuthConfig } from "@/server/config.ts";
3
- /**
4
- * Refresh the current set of OIDC tokens
5
- */
6
- export declare function refreshTokens(storage: AuthStorage, config: AuthConfig): Promise<OIDCTokenResponseBody>;
7
- //# sourceMappingURL=refresh.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/server/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
@@ -1,13 +0,0 @@
1
- import { DEFAULT_AUTH_SERVER } from "@/constants.js";
2
- import { GenericAuthenticationRefresher } from "@/shared/lib/GenericAuthenticationRefresher.js";
3
- /**
4
- * Refresh the current set of OIDC tokens
5
- */
6
- export async function refreshTokens(storage, config) {
7
- const refresher = await GenericAuthenticationRefresher.build({
8
- ...config,
9
- oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
10
- }, storage, config.endpointOverrides);
11
- return refresher.refreshTokens();
12
- }
13
- //# sourceMappingURL=refresh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/server/refresh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAGhG;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAoB,EACpB,MAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,8BAA8B,CAAC,KAAK,CAC1D;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;AACnC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\nimport { GenericAuthenticationRefresher } from \"@/shared/lib/GenericAuthenticationRefresher.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\n\n/**\n * Refresh the current set of OIDC tokens\n */\nexport async function refreshTokens(\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const refresher = await GenericAuthenticationRefresher.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return refresher.refreshTokens();\n}\n"]}