@civic/auth 0.0.1--.tsc.alpha.1 → 0.0.1-beta.1

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 (766) hide show
  1. package/README.md +0 -26
  2. package/dist/index-DFVNodC9.d.mts +66 -0
  3. package/dist/index-DFVNodC9.d.ts +66 -0
  4. package/dist/index.css +339 -0
  5. package/dist/index.css.map +1 -0
  6. package/dist/index.d.mts +2 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +20 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/index.mjs +2 -0
  11. package/dist/index.mjs.map +1 -0
  12. package/dist/nextjs.d.mts +239 -0
  13. package/dist/nextjs.d.ts +239 -0
  14. package/dist/nextjs.js +927 -0
  15. package/dist/nextjs.js.map +1 -0
  16. package/dist/nextjs.mjs +888 -0
  17. package/dist/nextjs.mjs.map +1 -0
  18. package/dist/react.d.mts +118 -0
  19. package/dist/react.d.ts +118 -0
  20. package/dist/react.js +1429 -0
  21. package/dist/react.js.map +1 -0
  22. package/dist/react.mjs +1391 -0
  23. package/dist/react.mjs.map +1 -0
  24. package/package.json +32 -57
  25. package/.eslintignore +0 -3
  26. package/.eslintrc.json +0 -10
  27. package/.prettierignore +0 -3
  28. package/.prettierrc +0 -4
  29. package/.turbo/turbo-build.log +0 -13
  30. package/.turbo/turbo-lint.log +0 -6
  31. package/.turbo/turbo-test.log +0 -2415
  32. package/civic-auth-0.0.1-beta.21.tgz +0 -0
  33. package/dist/cjs/src/browser/storage.d.ts +0 -6
  34. package/dist/cjs/src/browser/storage.d.ts.map +0 -1
  35. package/dist/cjs/src/browser/storage.js +0 -13
  36. package/dist/cjs/src/browser/storage.js.map +0 -1
  37. package/dist/cjs/src/config.d.ts +0 -3
  38. package/dist/cjs/src/config.d.ts.map +0 -1
  39. package/dist/cjs/src/config.js +0 -8
  40. package/dist/cjs/src/config.js.map +0 -1
  41. package/dist/cjs/src/constants.d.ts +0 -9
  42. package/dist/cjs/src/constants.d.ts.map +0 -1
  43. package/dist/cjs/src/constants.js +0 -26
  44. package/dist/cjs/src/constants.js.map +0 -1
  45. package/dist/cjs/src/index.d.ts +0 -5
  46. package/dist/cjs/src/index.d.ts.map +0 -1
  47. package/dist/cjs/src/index.js +0 -5
  48. package/dist/cjs/src/index.js.map +0 -1
  49. package/dist/cjs/src/lib/cookies.d.ts +0 -7
  50. package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
  51. package/dist/cjs/src/lib/cookies.js +0 -26
  52. package/dist/cjs/src/lib/cookies.js.map +0 -1
  53. package/dist/cjs/src/lib/jwt.d.ts +0 -3
  54. package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
  55. package/dist/cjs/src/lib/jwt.js +0 -13
  56. package/dist/cjs/src/lib/jwt.js.map +0 -1
  57. package/dist/cjs/src/lib/logger.d.ts +0 -26
  58. package/dist/cjs/src/lib/logger.d.ts.map +0 -1
  59. package/dist/cjs/src/lib/logger.js +0 -62
  60. package/dist/cjs/src/lib/logger.js.map +0 -1
  61. package/dist/cjs/src/lib/oauth.d.ts +0 -19
  62. package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
  63. package/dist/cjs/src/lib/oauth.js +0 -67
  64. package/dist/cjs/src/lib/oauth.js.map +0 -1
  65. package/dist/cjs/src/lib/postMessage.d.ts +0 -4
  66. package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
  67. package/dist/cjs/src/lib/postMessage.js +0 -18
  68. package/dist/cjs/src/lib/postMessage.js.map +0 -1
  69. package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
  70. package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
  71. package/dist/cjs/src/lib/windowUtil.js +0 -34
  72. package/dist/cjs/src/lib/windowUtil.js.map +0 -1
  73. package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
  74. package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
  75. package/dist/cjs/src/nextjs/GetUser.js +0 -22
  76. package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
  77. package/dist/cjs/src/nextjs/client/index.d.ts +0 -2
  78. package/dist/cjs/src/nextjs/client/index.d.ts.map +0 -1
  79. package/dist/cjs/src/nextjs/client/index.js +0 -6
  80. package/dist/cjs/src/nextjs/client/index.js.map +0 -1
  81. package/dist/cjs/src/nextjs/config.d.ts +0 -180
  82. package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
  83. package/dist/cjs/src/nextjs/config.js +0 -163
  84. package/dist/cjs/src/nextjs/config.js.map +0 -1
  85. package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
  86. package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
  87. package/dist/cjs/src/nextjs/cookies.js +0 -116
  88. package/dist/cjs/src/nextjs/cookies.js.map +0 -1
  89. package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
  90. package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
  91. package/dist/cjs/src/nextjs/hooks/index.js +0 -6
  92. package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
  93. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  94. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  95. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
  96. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  97. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  98. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  99. package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
  100. package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
  101. package/dist/cjs/src/nextjs/index.d.ts +0 -7
  102. package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
  103. package/dist/cjs/src/nextjs/index.js +0 -20
  104. package/dist/cjs/src/nextjs/index.js.map +0 -1
  105. package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
  106. package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
  107. package/dist/cjs/src/nextjs/middleware/index.js +0 -8
  108. package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
  109. package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
  110. package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
  111. package/dist/cjs/src/nextjs/middleware.js +0 -116
  112. package/dist/cjs/src/nextjs/middleware.js.map +0 -1
  113. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  114. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  115. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -77
  116. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  117. package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
  118. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
  119. package/dist/cjs/src/nextjs/routeHandler.js +0 -208
  120. package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
  121. package/dist/cjs/src/nextjs/utils.d.ts +0 -3
  122. package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
  123. package/dist/cjs/src/nextjs/utils.js +0 -10
  124. package/dist/cjs/src/nextjs/utils.js.map +0 -1
  125. package/dist/cjs/src/nextjs/worker/index.d.ts +0 -2
  126. package/dist/cjs/src/nextjs/worker/index.d.ts.map +0 -1
  127. package/dist/cjs/src/nextjs/worker/index.js +0 -8
  128. package/dist/cjs/src/nextjs/worker/index.js.map +0 -1
  129. package/dist/cjs/src/reactjs/components/NextLogOut.d.ts +0 -7
  130. package/dist/cjs/src/reactjs/components/NextLogOut.d.ts.map +0 -1
  131. package/dist/cjs/src/reactjs/components/NextLogOut.js +0 -18
  132. package/dist/cjs/src/reactjs/components/NextLogOut.js.map +0 -1
  133. package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
  134. package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
  135. package/dist/cjs/src/reactjs/components/SignInButton.js +0 -16
  136. package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
  137. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
  138. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  139. package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -16
  140. package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
  141. package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
  142. package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
  143. package/dist/cjs/src/reactjs/components/UserButton.js +0 -84
  144. package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
  145. package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
  146. package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
  147. package/dist/cjs/src/reactjs/components/index.js +0 -14
  148. package/dist/cjs/src/reactjs/components/index.js.map +0 -1
  149. package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -9
  150. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
  151. package/dist/cjs/src/reactjs/hooks/index.js +0 -20
  152. package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
  153. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
  154. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  155. package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
  156. package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
  157. package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
  158. package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
  159. package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
  160. package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
  161. package/dist/cjs/src/reactjs/index.d.ts +0 -6
  162. package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
  163. package/dist/cjs/src/reactjs/index.js +0 -30
  164. package/dist/cjs/src/reactjs/index.js.map +0 -1
  165. package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
  166. package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
  167. package/dist/cjs/src/reactjs/providers/index.js +0 -19
  168. package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
  169. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
  170. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  171. package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -66
  172. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
  173. package/dist/cjs/src/server/config.d.ts +0 -16
  174. package/dist/cjs/src/server/config.d.ts.map +0 -1
  175. package/dist/cjs/src/server/config.js +0 -3
  176. package/dist/cjs/src/server/config.js.map +0 -1
  177. package/dist/cjs/src/server/index.d.ts +0 -6
  178. package/dist/cjs/src/server/index.d.ts.map +0 -1
  179. package/dist/cjs/src/server/index.js +0 -14
  180. package/dist/cjs/src/server/index.js.map +0 -1
  181. package/dist/cjs/src/server/login.d.ts +0 -17
  182. package/dist/cjs/src/server/login.d.ts.map +0 -1
  183. package/dist/cjs/src/server/login.js +0 -42
  184. package/dist/cjs/src/server/login.js.map +0 -1
  185. package/dist/cjs/src/server/refresh.d.ts +0 -7
  186. package/dist/cjs/src/server/refresh.d.ts.map +0 -1
  187. package/dist/cjs/src/server/refresh.js +0 -16
  188. package/dist/cjs/src/server/refresh.js.map +0 -1
  189. package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
  190. package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
  191. package/dist/cjs/src/services/AuthenticationService.js +0 -228
  192. package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
  193. package/dist/cjs/src/services/PKCE.d.ts +0 -20
  194. package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
  195. package/dist/cjs/src/services/PKCE.js +0 -50
  196. package/dist/cjs/src/services/PKCE.js.map +0 -1
  197. package/dist/cjs/src/services/types.d.ts +0 -23
  198. package/dist/cjs/src/services/types.d.ts.map +0 -1
  199. package/dist/cjs/src/services/types.js +0 -11
  200. package/dist/cjs/src/services/types.js.map +0 -1
  201. package/dist/cjs/src/shared/AuthContext.d.ts +0 -10
  202. package/dist/cjs/src/shared/AuthContext.d.ts.map +0 -1
  203. package/dist/cjs/src/shared/AuthContext.js +0 -6
  204. package/dist/cjs/src/shared/AuthContext.js.map +0 -1
  205. package/dist/cjs/src/shared/AuthProvider.d.ts +0 -18
  206. package/dist/cjs/src/shared/AuthProvider.d.ts.map +0 -1
  207. package/dist/cjs/src/shared/AuthProvider.js +0 -276
  208. package/dist/cjs/src/shared/AuthProvider.js.map +0 -1
  209. package/dist/cjs/src/shared/CivicAuthProvider.d.ts +0 -7
  210. package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +0 -1
  211. package/dist/cjs/src/shared/CivicAuthProvider.js +0 -23
  212. package/dist/cjs/src/shared/CivicAuthProvider.js.map +0 -1
  213. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
  214. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
  215. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +0 -47
  216. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +0 -1
  217. package/dist/cjs/src/shared/UserProvider.d.ts +0 -18
  218. package/dist/cjs/src/shared/UserProvider.d.ts.map +0 -1
  219. package/dist/cjs/src/shared/UserProvider.js +0 -65
  220. package/dist/cjs/src/shared/UserProvider.js.map +0 -1
  221. package/dist/cjs/src/shared/UserSession.d.ts +0 -12
  222. package/dist/cjs/src/shared/UserSession.d.ts.map +0 -1
  223. package/dist/cjs/src/shared/UserSession.js +0 -24
  224. package/dist/cjs/src/shared/UserSession.js.map +0 -1
  225. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
  226. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  227. package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
  228. package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
  229. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  230. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  231. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -117
  232. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  233. package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
  234. package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
  235. package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
  236. package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
  237. package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
  238. package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
  239. package/dist/cjs/src/shared/components/LoadingIcon.js +0 -14
  240. package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
  241. package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
  242. package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
  243. package/dist/cjs/src/shared/hooks/index.js +0 -12
  244. package/dist/cjs/src/shared/hooks/index.js.map +0 -1
  245. package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
  246. package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
  247. package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
  248. package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
  249. package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
  250. package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
  251. package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
  252. package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
  253. package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
  254. package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
  255. package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
  256. package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
  257. package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
  258. package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
  259. package/dist/cjs/src/shared/hooks/useSession.js +0 -16
  260. package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
  261. package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
  262. package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
  263. package/dist/cjs/src/shared/hooks/useToken.js +0 -15
  264. package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
  265. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  266. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  267. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -47
  268. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  269. package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
  270. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
  271. package/dist/cjs/src/shared/lib/UserSession.js +0 -24
  272. package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
  273. package/dist/cjs/src/shared/lib/session.d.ts +0 -3
  274. package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
  275. package/dist/cjs/src/shared/lib/session.js +0 -13
  276. package/dist/cjs/src/shared/lib/session.js.map +0 -1
  277. package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
  278. package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
  279. package/dist/cjs/src/shared/lib/storage.js +0 -21
  280. package/dist/cjs/src/shared/lib/storage.js.map +0 -1
  281. package/dist/cjs/src/shared/lib/types.d.ts +0 -21
  282. package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
  283. package/dist/cjs/src/shared/lib/types.js +0 -18
  284. package/dist/cjs/src/shared/lib/types.js.map +0 -1
  285. package/dist/cjs/src/shared/lib/util.d.ts +0 -33
  286. package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
  287. package/dist/cjs/src/shared/lib/util.js +0 -164
  288. package/dist/cjs/src/shared/lib/util.js.map +0 -1
  289. package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
  290. package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
  291. package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
  292. package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
  293. package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -18
  294. package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
  295. package/dist/cjs/src/shared/providers/AuthProvider.js +0 -271
  296. package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
  297. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  298. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  299. package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -23
  300. package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
  301. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
  302. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  303. package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
  304. package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
  305. package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
  306. package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
  307. package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
  308. package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
  309. package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
  310. package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
  311. package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
  312. package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
  313. package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
  314. package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
  315. package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
  316. package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
  317. package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
  318. package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
  319. package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
  320. package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
  321. package/dist/cjs/src/shared/session.d.ts +0 -3
  322. package/dist/cjs/src/shared/session.d.ts.map +0 -1
  323. package/dist/cjs/src/shared/session.js +0 -13
  324. package/dist/cjs/src/shared/session.js.map +0 -1
  325. package/dist/cjs/src/shared/storage.d.ts +0 -25
  326. package/dist/cjs/src/shared/storage.d.ts.map +0 -1
  327. package/dist/cjs/src/shared/storage.js +0 -21
  328. package/dist/cjs/src/shared/storage.js.map +0 -1
  329. package/dist/cjs/src/shared/types.d.ts +0 -21
  330. package/dist/cjs/src/shared/types.d.ts.map +0 -1
  331. package/dist/cjs/src/shared/types.js +0 -18
  332. package/dist/cjs/src/shared/types.js.map +0 -1
  333. package/dist/cjs/src/shared/util.d.ts +0 -33
  334. package/dist/cjs/src/shared/util.d.ts.map +0 -1
  335. package/dist/cjs/src/shared/util.js +0 -164
  336. package/dist/cjs/src/shared/util.js.map +0 -1
  337. package/dist/cjs/src/types.d.ts +0 -146
  338. package/dist/cjs/src/types.d.ts.map +0 -1
  339. package/dist/cjs/src/types.js +0 -3
  340. package/dist/cjs/src/types.js.map +0 -1
  341. package/dist/cjs/src/utils.d.ts +0 -17
  342. package/dist/cjs/src/utils.d.ts.map +0 -1
  343. package/dist/cjs/src/utils.js +0 -53
  344. package/dist/cjs/src/utils.js.map +0 -1
  345. package/dist/cjs/src/worker/index.d.ts +0 -2
  346. package/dist/cjs/src/worker/index.d.ts.map +0 -1
  347. package/dist/cjs/src/worker/index.js +0 -8
  348. package/dist/cjs/src/worker/index.js.map +0 -1
  349. package/dist/cjs/tsconfig.build.tsbuildinfo +0 -1
  350. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  351. package/dist/esm/src/browser/storage.d.ts +0 -6
  352. package/dist/esm/src/browser/storage.d.ts.map +0 -1
  353. package/dist/esm/src/browser/storage.js +0 -9
  354. package/dist/esm/src/browser/storage.js.map +0 -1
  355. package/dist/esm/src/config.d.ts +0 -3
  356. package/dist/esm/src/config.d.ts.map +0 -1
  357. package/dist/esm/src/config.js +0 -5
  358. package/dist/esm/src/config.js.map +0 -1
  359. package/dist/esm/src/constants.d.ts +0 -9
  360. package/dist/esm/src/constants.d.ts.map +0 -1
  361. package/dist/esm/src/constants.js +0 -17
  362. package/dist/esm/src/constants.js.map +0 -1
  363. package/dist/esm/src/index.d.ts +0 -5
  364. package/dist/esm/src/index.d.ts.map +0 -1
  365. package/dist/esm/src/index.js +0 -3
  366. package/dist/esm/src/index.js.map +0 -1
  367. package/dist/esm/src/lib/cookies.d.ts +0 -7
  368. package/dist/esm/src/lib/cookies.d.ts.map +0 -1
  369. package/dist/esm/src/lib/cookies.js +0 -23
  370. package/dist/esm/src/lib/cookies.js.map +0 -1
  371. package/dist/esm/src/lib/jwt.d.ts +0 -3
  372. package/dist/esm/src/lib/jwt.d.ts.map +0 -1
  373. package/dist/esm/src/lib/jwt.js +0 -9
  374. package/dist/esm/src/lib/jwt.js.map +0 -1
  375. package/dist/esm/src/lib/logger.d.ts +0 -26
  376. package/dist/esm/src/lib/logger.d.ts.map +0 -1
  377. package/dist/esm/src/lib/logger.js +0 -55
  378. package/dist/esm/src/lib/logger.js.map +0 -1
  379. package/dist/esm/src/lib/oauth.d.ts +0 -19
  380. package/dist/esm/src/lib/oauth.d.ts.map +0 -1
  381. package/dist/esm/src/lib/oauth.js +0 -60
  382. package/dist/esm/src/lib/oauth.js.map +0 -1
  383. package/dist/esm/src/lib/postMessage.d.ts +0 -4
  384. package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
  385. package/dist/esm/src/lib/postMessage.js +0 -15
  386. package/dist/esm/src/lib/postMessage.js.map +0 -1
  387. package/dist/esm/src/lib/windowUtil.d.ts +0 -4
  388. package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
  389. package/dist/esm/src/lib/windowUtil.js +0 -30
  390. package/dist/esm/src/lib/windowUtil.js.map +0 -1
  391. package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
  392. package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
  393. package/dist/esm/src/nextjs/GetUser.js +0 -18
  394. package/dist/esm/src/nextjs/GetUser.js.map +0 -1
  395. package/dist/esm/src/nextjs/client/index.d.ts +0 -2
  396. package/dist/esm/src/nextjs/client/index.d.ts.map +0 -1
  397. package/dist/esm/src/nextjs/client/index.js +0 -2
  398. package/dist/esm/src/nextjs/client/index.js.map +0 -1
  399. package/dist/esm/src/nextjs/config.d.ts +0 -180
  400. package/dist/esm/src/nextjs/config.d.ts.map +0 -1
  401. package/dist/esm/src/nextjs/config.js +0 -158
  402. package/dist/esm/src/nextjs/config.js.map +0 -1
  403. package/dist/esm/src/nextjs/cookies.d.ts +0 -30
  404. package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
  405. package/dist/esm/src/nextjs/cookies.js +0 -109
  406. package/dist/esm/src/nextjs/cookies.js.map +0 -1
  407. package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
  408. package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
  409. package/dist/esm/src/nextjs/hooks/index.js +0 -2
  410. package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
  411. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  412. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  413. package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
  414. package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  415. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  416. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  417. package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
  418. package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
  419. package/dist/esm/src/nextjs/index.d.ts +0 -7
  420. package/dist/esm/src/nextjs/index.d.ts.map +0 -1
  421. package/dist/esm/src/nextjs/index.js +0 -6
  422. package/dist/esm/src/nextjs/index.js.map +0 -1
  423. package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
  424. package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
  425. package/dist/esm/src/nextjs/middleware/index.js +0 -2
  426. package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
  427. package/dist/esm/src/nextjs/middleware.d.ts +0 -59
  428. package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
  429. package/dist/esm/src/nextjs/middleware.js +0 -107
  430. package/dist/esm/src/nextjs/middleware.js.map +0 -1
  431. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  432. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  433. package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -51
  434. package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  435. package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
  436. package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
  437. package/dist/esm/src/nextjs/routeHandler.js +0 -203
  438. package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
  439. package/dist/esm/src/nextjs/utils.d.ts +0 -3
  440. package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
  441. package/dist/esm/src/nextjs/utils.js +0 -6
  442. package/dist/esm/src/nextjs/utils.js.map +0 -1
  443. package/dist/esm/src/nextjs/worker/index.d.ts +0 -2
  444. package/dist/esm/src/nextjs/worker/index.d.ts.map +0 -1
  445. package/dist/esm/src/nextjs/worker/index.js +0 -2
  446. package/dist/esm/src/nextjs/worker/index.js.map +0 -1
  447. package/dist/esm/src/reactjs/components/NextLogOut.d.ts +0 -7
  448. package/dist/esm/src/reactjs/components/NextLogOut.d.ts.map +0 -1
  449. package/dist/esm/src/reactjs/components/NextLogOut.js +0 -12
  450. package/dist/esm/src/reactjs/components/NextLogOut.js.map +0 -1
  451. package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
  452. package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
  453. package/dist/esm/src/reactjs/components/SignInButton.js +0 -10
  454. package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
  455. package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
  456. package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  457. package/dist/esm/src/reactjs/components/SignOutButton.js +0 -10
  458. package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
  459. package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
  460. package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
  461. package/dist/esm/src/reactjs/components/UserButton.js +0 -58
  462. package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
  463. package/dist/esm/src/reactjs/components/index.d.ts +0 -6
  464. package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
  465. package/dist/esm/src/reactjs/components/index.js +0 -6
  466. package/dist/esm/src/reactjs/components/index.js.map +0 -1
  467. package/dist/esm/src/reactjs/hooks/index.d.ts +0 -9
  468. package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
  469. package/dist/esm/src/reactjs/hooks/index.js +0 -9
  470. package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
  471. package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
  472. package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  473. package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
  474. package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
  475. package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
  476. package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
  477. package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
  478. package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
  479. package/dist/esm/src/reactjs/index.d.ts +0 -6
  480. package/dist/esm/src/reactjs/index.d.ts.map +0 -1
  481. package/dist/esm/src/reactjs/index.js +0 -8
  482. package/dist/esm/src/reactjs/index.js.map +0 -1
  483. package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
  484. package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
  485. package/dist/esm/src/reactjs/providers/index.js +0 -7
  486. package/dist/esm/src/reactjs/providers/index.js.map +0 -1
  487. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
  488. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  489. package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -62
  490. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
  491. package/dist/esm/src/server/config.d.ts +0 -16
  492. package/dist/esm/src/server/config.d.ts.map +0 -1
  493. package/dist/esm/src/server/config.js +0 -2
  494. package/dist/esm/src/server/config.js.map +0 -1
  495. package/dist/esm/src/server/index.d.ts +0 -6
  496. package/dist/esm/src/server/index.d.ts.map +0 -1
  497. package/dist/esm/src/server/index.js +0 -5
  498. package/dist/esm/src/server/index.js.map +0 -1
  499. package/dist/esm/src/server/login.d.ts +0 -17
  500. package/dist/esm/src/server/login.d.ts.map +0 -1
  501. package/dist/esm/src/server/login.js +0 -37
  502. package/dist/esm/src/server/login.js.map +0 -1
  503. package/dist/esm/src/server/refresh.d.ts +0 -7
  504. package/dist/esm/src/server/refresh.d.ts.map +0 -1
  505. package/dist/esm/src/server/refresh.js +0 -13
  506. package/dist/esm/src/server/refresh.js.map +0 -1
  507. package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
  508. package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
  509. package/dist/esm/src/services/AuthenticationService.js +0 -222
  510. package/dist/esm/src/services/AuthenticationService.js.map +0 -1
  511. package/dist/esm/src/services/PKCE.d.ts +0 -20
  512. package/dist/esm/src/services/PKCE.d.ts.map +0 -1
  513. package/dist/esm/src/services/PKCE.js +0 -44
  514. package/dist/esm/src/services/PKCE.js.map +0 -1
  515. package/dist/esm/src/services/types.d.ts +0 -23
  516. package/dist/esm/src/services/types.d.ts.map +0 -1
  517. package/dist/esm/src/services/types.js +0 -7
  518. package/dist/esm/src/services/types.js.map +0 -1
  519. package/dist/esm/src/shared/AuthContext.d.ts +0 -10
  520. package/dist/esm/src/shared/AuthContext.d.ts.map +0 -1
  521. package/dist/esm/src/shared/AuthContext.js +0 -3
  522. package/dist/esm/src/shared/AuthContext.js.map +0 -1
  523. package/dist/esm/src/shared/AuthProvider.d.ts +0 -18
  524. package/dist/esm/src/shared/AuthProvider.d.ts.map +0 -1
  525. package/dist/esm/src/shared/AuthProvider.js +0 -250
  526. package/dist/esm/src/shared/AuthProvider.js.map +0 -1
  527. package/dist/esm/src/shared/CivicAuthProvider.d.ts +0 -7
  528. package/dist/esm/src/shared/CivicAuthProvider.d.ts.map +0 -1
  529. package/dist/esm/src/shared/CivicAuthProvider.js +0 -17
  530. package/dist/esm/src/shared/CivicAuthProvider.js.map +0 -1
  531. package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
  532. package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
  533. package/dist/esm/src/shared/GenericAuthenticationRefresher.js +0 -43
  534. package/dist/esm/src/shared/GenericAuthenticationRefresher.js.map +0 -1
  535. package/dist/esm/src/shared/UserProvider.d.ts +0 -18
  536. package/dist/esm/src/shared/UserProvider.d.ts.map +0 -1
  537. package/dist/esm/src/shared/UserProvider.js +0 -38
  538. package/dist/esm/src/shared/UserProvider.js.map +0 -1
  539. package/dist/esm/src/shared/UserSession.d.ts +0 -12
  540. package/dist/esm/src/shared/UserSession.d.ts.map +0 -1
  541. package/dist/esm/src/shared/UserSession.js +0 -20
  542. package/dist/esm/src/shared/UserSession.js.map +0 -1
  543. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
  544. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  545. package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
  546. package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
  547. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  548. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  549. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -91
  550. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  551. package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
  552. package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
  553. package/dist/esm/src/shared/components/CloseIcon.js +0 -6
  554. package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
  555. package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
  556. package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
  557. package/dist/esm/src/shared/components/LoadingIcon.js +0 -8
  558. package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
  559. package/dist/esm/src/shared/hooks/index.d.ts +0 -5
  560. package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
  561. package/dist/esm/src/shared/hooks/index.js +0 -5
  562. package/dist/esm/src/shared/hooks/index.js.map +0 -1
  563. package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
  564. package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
  565. package/dist/esm/src/shared/hooks/useAuth.js +0 -12
  566. package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
  567. package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
  568. package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
  569. package/dist/esm/src/shared/hooks/useConfig.js +0 -13
  570. package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
  571. package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
  572. package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
  573. package/dist/esm/src/shared/hooks/useIframe.js +0 -13
  574. package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
  575. package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
  576. package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
  577. package/dist/esm/src/shared/hooks/useSession.js +0 -13
  578. package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
  579. package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
  580. package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
  581. package/dist/esm/src/shared/hooks/useToken.js +0 -12
  582. package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
  583. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  584. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  585. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  586. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  587. package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
  588. package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
  589. package/dist/esm/src/shared/lib/UserSession.js +0 -20
  590. package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
  591. package/dist/esm/src/shared/lib/session.d.ts +0 -3
  592. package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
  593. package/dist/esm/src/shared/lib/session.js +0 -10
  594. package/dist/esm/src/shared/lib/session.js.map +0 -1
  595. package/dist/esm/src/shared/lib/storage.d.ts +0 -25
  596. package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
  597. package/dist/esm/src/shared/lib/storage.js +0 -17
  598. package/dist/esm/src/shared/lib/storage.js.map +0 -1
  599. package/dist/esm/src/shared/lib/types.d.ts +0 -21
  600. package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
  601. package/dist/esm/src/shared/lib/types.js +0 -15
  602. package/dist/esm/src/shared/lib/types.js.map +0 -1
  603. package/dist/esm/src/shared/lib/util.d.ts +0 -33
  604. package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
  605. package/dist/esm/src/shared/lib/util.js +0 -128
  606. package/dist/esm/src/shared/lib/util.js.map +0 -1
  607. package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
  608. package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
  609. package/dist/esm/src/shared/providers/AuthContext.js +0 -3
  610. package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
  611. package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -18
  612. package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
  613. package/dist/esm/src/shared/providers/AuthProvider.js +0 -245
  614. package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
  615. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  616. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  617. package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -17
  618. package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
  619. package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
  620. package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  621. package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
  622. package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
  623. package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
  624. package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
  625. package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
  626. package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
  627. package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
  628. package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
  629. package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
  630. package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
  631. package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
  632. package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
  633. package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
  634. package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
  635. package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
  636. package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
  637. package/dist/esm/src/shared/providers/UserProvider.js +0 -38
  638. package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
  639. package/dist/esm/src/shared/session.d.ts +0 -3
  640. package/dist/esm/src/shared/session.d.ts.map +0 -1
  641. package/dist/esm/src/shared/session.js +0 -10
  642. package/dist/esm/src/shared/session.js.map +0 -1
  643. package/dist/esm/src/shared/storage.d.ts +0 -25
  644. package/dist/esm/src/shared/storage.d.ts.map +0 -1
  645. package/dist/esm/src/shared/storage.js +0 -17
  646. package/dist/esm/src/shared/storage.js.map +0 -1
  647. package/dist/esm/src/shared/types.d.ts +0 -21
  648. package/dist/esm/src/shared/types.d.ts.map +0 -1
  649. package/dist/esm/src/shared/types.js +0 -15
  650. package/dist/esm/src/shared/types.js.map +0 -1
  651. package/dist/esm/src/shared/util.d.ts +0 -33
  652. package/dist/esm/src/shared/util.d.ts.map +0 -1
  653. package/dist/esm/src/shared/util.js +0 -128
  654. package/dist/esm/src/shared/util.js.map +0 -1
  655. package/dist/esm/src/types.d.ts +0 -146
  656. package/dist/esm/src/types.d.ts.map +0 -1
  657. package/dist/esm/src/types.js +0 -2
  658. package/dist/esm/src/types.js.map +0 -1
  659. package/dist/esm/src/utils.d.ts +0 -17
  660. package/dist/esm/src/utils.d.ts.map +0 -1
  661. package/dist/esm/src/utils.js +0 -48
  662. package/dist/esm/src/utils.js.map +0 -1
  663. package/dist/esm/src/worker/index.d.ts +0 -2
  664. package/dist/esm/src/worker/index.d.ts.map +0 -1
  665. package/dist/esm/src/worker/index.js +0 -2
  666. package/dist/esm/src/worker/index.js.map +0 -1
  667. package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
  668. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  669. package/postcss.config.cjs +0 -6
  670. package/src/browser/storage.ts +0 -11
  671. package/src/config.ts +0 -6
  672. package/src/constants.ts +0 -29
  673. package/src/index.ts +0 -18
  674. package/src/lib/cookies.ts +0 -28
  675. package/src/lib/jwt.ts +0 -15
  676. package/src/lib/logger.ts +0 -72
  677. package/src/lib/oauth.ts +0 -83
  678. package/src/lib/postMessage.ts +0 -22
  679. package/src/lib/windowUtil.ts +0 -29
  680. package/src/nextjs/GetUser.ts +0 -22
  681. package/src/nextjs/client/index.ts +0 -4
  682. package/src/nextjs/config.ts +0 -203
  683. package/src/nextjs/cookies.ts +0 -166
  684. package/src/nextjs/hooks/index.ts +0 -1
  685. package/src/nextjs/hooks/useTokenCookie.ts +0 -41
  686. package/src/nextjs/hooks/useUserCookie.ts +0 -41
  687. package/src/nextjs/index.ts +0 -24
  688. package/src/nextjs/middleware/index.ts +0 -1
  689. package/src/nextjs/middleware.ts +0 -155
  690. package/src/nextjs/providers/NextAuthProvider.tsx +0 -89
  691. package/src/nextjs/routeHandler.ts +0 -276
  692. package/src/nextjs/utils.ts +0 -10
  693. package/src/reactjs/components/SignInButton.tsx +0 -30
  694. package/src/reactjs/components/SignOutButton.tsx +0 -22
  695. package/src/reactjs/components/UserButton.tsx +0 -153
  696. package/src/reactjs/components/index.ts +0 -5
  697. package/src/reactjs/hooks/index.ts +0 -8
  698. package/src/reactjs/hooks/useAuth.ts +0 -15
  699. package/src/reactjs/hooks/useUser.ts +0 -20
  700. package/src/reactjs/index.ts +0 -19
  701. package/src/reactjs/providers/index.ts +0 -27
  702. package/src/server/ServerAuthenticationResolver.ts +0 -107
  703. package/src/server/config.ts +0 -17
  704. package/src/server/index.ts +0 -12
  705. package/src/server/login.ts +0 -58
  706. package/src/server/refresh.ts +0 -23
  707. package/src/services/AuthenticationService.ts +0 -334
  708. package/src/services/PKCE.ts +0 -43
  709. package/src/services/types.ts +0 -54
  710. package/src/shared/components/CivicAuthIframe.tsx +0 -26
  711. package/src/shared/components/CivicAuthIframeContainer.tsx +0 -150
  712. package/src/shared/components/CloseIcon.tsx +0 -21
  713. package/src/shared/components/LoadingIcon.tsx +0 -25
  714. package/src/shared/hooks/index.ts +0 -4
  715. package/src/shared/hooks/useAuth.ts +0 -15
  716. package/src/shared/hooks/useConfig.ts +0 -14
  717. package/src/shared/hooks/useIframe.ts +0 -14
  718. package/src/shared/hooks/useSession.ts +0 -14
  719. package/src/shared/hooks/useToken.ts +0 -15
  720. package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -75
  721. package/src/shared/lib/UserSession.ts +0 -25
  722. package/src/shared/lib/session.ts +0 -11
  723. package/src/shared/lib/storage.ts +0 -40
  724. package/src/shared/lib/types.ts +0 -25
  725. package/src/shared/lib/util.ts +0 -217
  726. package/src/shared/providers/AuthContext.tsx +0 -11
  727. package/src/shared/providers/AuthProvider.tsx +0 -364
  728. package/src/shared/providers/CivicAuthProvider.tsx +0 -34
  729. package/src/shared/providers/ConfigProvider.tsx +0 -50
  730. package/src/shared/providers/IframeProvider.tsx +0 -34
  731. package/src/shared/providers/SessionProvider.tsx +0 -29
  732. package/src/shared/providers/TokenProvider.tsx +0 -78
  733. package/src/shared/providers/UserProvider.tsx +0 -80
  734. package/src/styles.css +0 -3
  735. package/src/types.ts +0 -227
  736. package/src/utils.ts +0 -65
  737. package/tailwind.config.js +0 -8
  738. package/test/integration/sdk.test.tsx +0 -266
  739. package/test/support/fixtures.ts +0 -56
  740. package/test/support/tokens.json +0 -26
  741. package/test/unit/lib/oauth.test.ts +0 -72
  742. package/test/unit/logger.test.ts +0 -175
  743. package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
  744. package/test/unit/nextjs/config.test.ts +0 -201
  745. package/test/unit/nextjs/getUser.test.ts +0 -41
  746. package/test/unit/nextjs/middleware.test.ts +0 -138
  747. package/test/unit/nextjs/routeHandler.test.ts +0 -369
  748. package/test/unit/nextjs/utils.test.ts +0 -26
  749. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -19
  750. package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
  751. package/test/unit/react/components/SignInButton.test.tsx +0 -50
  752. package/test/unit/react/components/SignOutButton.test.tsx +0 -49
  753. package/test/unit/server/login.test.ts +0 -179
  754. package/test/unit/server/session.test.ts +0 -51
  755. package/test/unit/services/AuthenticationService.test.ts +0 -152
  756. package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -110
  757. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
  758. package/test/unit/shared/UserSession.test.ts +0 -42
  759. package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
  760. package/test/unit/shared/storage.test.ts +0 -67
  761. package/test/unit/utils.test.ts +0 -48
  762. package/tsconfig.build.json +0 -5
  763. package/tsconfig.cjs.json +0 -8
  764. package/tsconfig.esm.json +0 -7
  765. package/tsconfig.json +0 -42
  766. package/vitest.config.ts +0 -41
@@ -1,334 +0,0 @@
1
- // Proposals for revised versions of the SessionService AKA AuthSessionService
2
-
3
- import type {
4
- DisplayMode,
5
- Endpoints,
6
- LoginPostMessage,
7
- OIDCTokenResponseBody,
8
- SessionData,
9
- } from "@/types.js";
10
- import { BrowserPublicClientPKCEProducer } from "@/services/PKCE.js";
11
- import {
12
- clearTokens,
13
- clearUser,
14
- exchangeTokens,
15
- generateOauthLoginUrl,
16
- generateOauthLogoutUrl,
17
- getEndpointsWithOverrides,
18
- retrieveTokens,
19
- storeTokens,
20
- validateOauth2Tokens,
21
- } from "@/shared/lib/util.js";
22
- import { displayModeFromState, generateState } from "@/lib/oauth.js";
23
- import { OAuth2Client } from "oslo/oauth2";
24
- import { LocalStorageAdapter } from "@/browser/storage.js";
25
- import type {
26
- AuthenticationInitiator,
27
- AuthenticationResolver,
28
- PKCEConsumer,
29
- } from "@/services/types.js";
30
- import { PopupError } from "@/services/types.js";
31
- import { removeParamsWithoutReload } from "@/lib/windowUtil.js";
32
- import { DEFAULT_OAUTH_GET_PARAMS } from "@/constants.js";
33
- import { validateLoginAppPostMessage } from "@/lib/postMessage.js";
34
-
35
- /**
36
- * An authentication initiator that works on a browser. Since this is just triggering
37
- * login and logout, session data is not stored here.
38
- * An associated AuthenticationResolver would be needed to get the session data.
39
- * Storage is needed for the code verifier, this is the domain of the PKCEConsumer
40
- * The storage used by the PKCEConsumer should be available to the AuthenticationResolver.
41
- *
42
- * Example usage:
43
- *
44
- * 1) Client-only SPA -eg a react app with no server:
45
- * new BrowserAuthenticationInitiator({
46
- * pkceConsumer: new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side
47
- * ... other config
48
- * })
49
- *
50
- * 2) Client-side of a client/server app - eg a react app with a backend:
51
- * new BrowserAuthenticationInitiator({
52
- * pkceConsumer: new ConfidentialClientPKCEConsumer("https://myserver.com/pkce"), // get the challenge from the server
53
- * ... other config
54
- * })
55
- */
56
- export class BrowserAuthenticationInitiator implements AuthenticationInitiator {
57
- private postMessageHandler: null | ((event: MessageEvent) => void) = null;
58
-
59
- protected config: {
60
- clientId: string;
61
- redirectUrl: string;
62
- state: string;
63
- scopes: string[];
64
- // determines whether to trigger the login/logout in an iframe, a new browser window, or redirect the current one.
65
- displayMode: DisplayMode;
66
- oauthServer: string;
67
- // the endpoints to use for the login (if not obtained from the auth server
68
- endpointOverrides?: Partial<Endpoints>;
69
- // used to get the PKCE challenge
70
- pkceConsumer: PKCEConsumer;
71
- // the nonce to use for the login
72
- nonce?: string;
73
- };
74
-
75
- constructor(config: typeof this.config) {
76
- this.config = config;
77
- console.log("BrowserAuthenticationInitiator constructor", this.config);
78
- }
79
-
80
- async handleLoginAppPopupFailed(redirectUrl: string) {
81
- console.warn(
82
- "Login app popup failed open a popup, using redirect mode instead...",
83
- redirectUrl,
84
- );
85
- window.location.href = redirectUrl;
86
- }
87
-
88
- // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url
89
- // and then use the display mode to decide how to send the user there
90
- async signIn(iframeRef: HTMLIFrameElement | null): Promise<URL> {
91
- const url = await generateOauthLoginUrl(this.config);
92
-
93
- this.postMessageHandler = (event: MessageEvent) => {
94
- const thisURL = new URL(window.location.href);
95
- if (
96
- event.origin.endsWith("civic.com") ||
97
- thisURL.hostname === "localhost"
98
- ) {
99
- if (!validateLoginAppPostMessage(event.data, this.config.clientId)) {
100
- console.log("Received invalid message from login app", event.data);
101
- return;
102
- }
103
- const loginMessage = event.data as LoginPostMessage;
104
- console.log("Received message from login app", event.data);
105
- this.handleLoginAppPopupFailed(loginMessage.data.url);
106
- }
107
- };
108
- window.addEventListener("message", this.postMessageHandler);
109
- if (this.config.displayMode === "iframe") {
110
- if (!iframeRef)
111
- throw new Error("iframeRef is required for displayMode 'iframe'");
112
- iframeRef.setAttribute("src", url.toString());
113
- }
114
- if (this.config.displayMode === "redirect") {
115
- window.location.href = url.toString();
116
- }
117
- if (this.config.displayMode === "new_tab") {
118
- try {
119
- const popupWindow = window.open(url.toString(), "_blank");
120
- console.log("signIn", popupWindow);
121
- if (!popupWindow) {
122
- throw new PopupError("Failed to open popup window");
123
- }
124
- } catch (error) {
125
- console.error("popupWindow", error);
126
- throw new PopupError(
127
- "window.open has thrown: Failed to open popup window",
128
- );
129
- }
130
- }
131
- return url;
132
- }
133
-
134
- async signOut(): Promise<URL> {
135
- const localStorage = new LocalStorageAdapter();
136
- clearTokens(localStorage);
137
- clearUser(localStorage);
138
- // TODO open the iframe or new tab etc: the logout URL is not currently
139
- // supported by on the oauth, so just clear state until then
140
- const url = await generateOauthLogoutUrl(this.config);
141
- return url;
142
- }
143
-
144
- cleanup() {
145
- if (this.postMessageHandler) {
146
- window.removeEventListener("message", this.postMessageHandler);
147
- }
148
- }
149
- }
150
-
151
- /** A general-purpose authentication initiator, that just generates urls, but lets
152
- * the caller decide how to use them. This is useful for server-side applications
153
- * that may serve this URL to their front-ends or just call them directly
154
- */
155
- export class GenericAuthenticationInitiator implements AuthenticationInitiator {
156
- protected config: {
157
- clientId: string;
158
- redirectUrl: string;
159
- state: string;
160
- scopes: string[];
161
- oauthServer: string;
162
- nonce?: string;
163
- // the endpoints to use for the login (if not obtained from the auth server)
164
- endpointOverrides?: Partial<Endpoints>;
165
- // used to get the PKCE challenge
166
- pkceConsumer: PKCEConsumer;
167
- };
168
-
169
- constructor(config: typeof this.config) {
170
- this.config = config;
171
- console.log("GenericAuthenticationInitiator constructor", {
172
- config,
173
- });
174
- }
175
-
176
- // Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url
177
- // and simply return the url
178
- async signIn(): Promise<URL> {
179
- return generateOauthLoginUrl(this.config);
180
- }
181
-
182
- async signOut(): Promise<URL> {
183
- return generateOauthLogoutUrl(this.config);
184
- }
185
- }
186
-
187
- type BrowserAuthenticationConfig = {
188
- clientId: string;
189
- redirectUrl: string;
190
- scopes: string[];
191
- oauthServer: string;
192
- endpointOverrides?: Partial<Endpoints>;
193
- displayMode: DisplayMode;
194
- };
195
-
196
- /**
197
- * An authentication resolver that can run on the browser (i.e. a public client)
198
- * It uses PKCE for security. PKCE and Session data are stored in local storage
199
- */
200
- export class BrowserAuthenticationService extends BrowserAuthenticationInitiator {
201
- private oauth2client: OAuth2Client | undefined;
202
- private endpoints: Endpoints | undefined;
203
-
204
- // TODO WIP - perhaps we want to keep resolver and initiator separate here
205
- constructor(
206
- config: BrowserAuthenticationConfig,
207
- // Since we are running fully on the client, we produce as well as consume the PKCE challenge
208
- protected pkceProducer = new BrowserPublicClientPKCEProducer(),
209
- ) {
210
- console.log("BrowserAuthenticationService constructor", {
211
- config,
212
- });
213
- super({
214
- ...config,
215
- state: generateState(config.displayMode),
216
- // Store and retrieve the PKCE challenge in local storage
217
- pkceConsumer: pkceProducer,
218
- });
219
- }
220
-
221
- // TODO too much code duplication here between the browser and the server variant.
222
- // Suggestion for refactor: Standardise the config for AuthenticationResolvers and create a one-shot
223
- // function for generating an oauth2client from it
224
- async init(): Promise<this> {
225
- // resolve oauth config
226
- this.endpoints = await getEndpointsWithOverrides(
227
- this.config.oauthServer,
228
- this.config.endpointOverrides,
229
- );
230
- this.oauth2client = new OAuth2Client(
231
- this.config.clientId,
232
- this.endpoints.auth,
233
- this.endpoints.token,
234
- {
235
- redirectURI: this.config.redirectUrl,
236
- },
237
- );
238
-
239
- return this;
240
- }
241
-
242
- // Two responsibilities:
243
- // 1. resolve the auth code to get the tokens (should use library code)
244
- // 2. store the tokens in local storage
245
- async tokenExchange(
246
- code: string,
247
- state: string,
248
- ): Promise<OIDCTokenResponseBody> {
249
- if (!this.oauth2client) await this.init();
250
- const codeVerifier = await this.pkceProducer.getCodeVerifier();
251
- if (!codeVerifier) throw new Error("Code verifier not found in storage");
252
-
253
- // exchange auth code for tokens
254
- const tokens = await exchangeTokens(
255
- code,
256
- state,
257
- this.pkceProducer,
258
- this.oauth2client!, // clean up types here to avoid the ! operator
259
- this.config.oauthServer,
260
- this.endpoints!, // clean up types here to avoid the ! operator
261
- );
262
-
263
- storeTokens(new LocalStorageAdapter(), tokens);
264
-
265
- // cleanup the browser window if needed
266
- const parsedDisplayMode = displayModeFromState(
267
- state,
268
- this.config.displayMode,
269
- );
270
-
271
- if (parsedDisplayMode === "new_tab") {
272
- // Close the popup window
273
- window.close();
274
- }
275
- // these are the default oAuth params that get added to the URL in redirect which we want to remove if present
276
- removeParamsWithoutReload(DEFAULT_OAUTH_GET_PARAMS);
277
- return tokens;
278
- }
279
-
280
- // Get the session data from local storage
281
- async getSessionData(): Promise<SessionData | null> {
282
- const storageData = retrieveTokens(new LocalStorageAdapter());
283
-
284
- if (!storageData) return null;
285
-
286
- return {
287
- authenticated: !!storageData.id_token,
288
- idToken: storageData.id_token,
289
- accessToken: storageData.access_token,
290
- refreshToken: storageData.refresh_token,
291
- };
292
- }
293
-
294
- async validateExistingSession(): Promise<SessionData> {
295
- try {
296
- const sessionData = await this.getSessionData();
297
- if (!sessionData?.idToken || !sessionData.accessToken) {
298
- const unAuthenticatedSession = { ...sessionData, authenticated: false };
299
- clearTokens(new LocalStorageAdapter());
300
- return unAuthenticatedSession;
301
- }
302
- if (!this.endpoints || !this.oauth2client) await this.init();
303
-
304
- // this function will throw if any of the tokens are invalid
305
- await validateOauth2Tokens(
306
- {
307
- access_token: sessionData.accessToken,
308
- id_token: sessionData.idToken,
309
- refresh_token: sessionData.refreshToken,
310
- },
311
- this.endpoints!,
312
- this.oauth2client!,
313
- this.config.oauthServer,
314
- );
315
- return sessionData;
316
- } catch (error) {
317
- console.warn("Failed to validate existing tokens", error);
318
- const unAuthenticatedSession = {
319
- authenticated: false,
320
- };
321
- clearTokens(new LocalStorageAdapter());
322
- return unAuthenticatedSession;
323
- }
324
- }
325
-
326
- static async build(
327
- config: BrowserAuthenticationConfig,
328
- ): Promise<AuthenticationResolver> {
329
- const resolver = new BrowserAuthenticationService(config);
330
- await resolver.init();
331
-
332
- return resolver;
333
- }
334
- }
@@ -1,43 +0,0 @@
1
- import { deriveCodeChallenge } from "@/shared/lib/util.js";
2
- import { generateCodeVerifier } from "oslo/oauth2";
3
- import { LocalStorageAdapter } from "@/browser/storage.js";
4
- import type { PKCEConsumer, PKCEProducer } from "@/services/types.js";
5
- import type { AuthStorage } from "@/types.js";
6
- import { CodeVerifier } from "@/shared/lib/types.js";
7
-
8
- /** A PKCE consumer that retrieves the challenge from a server endpoint */
9
- export class ConfidentialClientPKCEConsumer implements PKCEConsumer {
10
- constructor(private pkceChallengeEndpoint: string) {}
11
- async getCodeChallenge(): Promise<string> {
12
- const response = await fetch(this.pkceChallengeEndpoint);
13
- const data = (await response.json()) as { challenge: string };
14
- return data.challenge;
15
- }
16
- }
17
-
18
- /** A PKCE Producer that can generate and store a code verifier, but is agnostic as to the storage location */
19
- export class GenericPublicClientPKCEProducer implements PKCEProducer {
20
- constructor(private storage: AuthStorage) {}
21
-
22
- // if there is already a verifier, return it,
23
- // If not, create a new one and store it
24
- async getCodeChallenge(): Promise<string> {
25
- // let verifier = await this.getCodeVerifier();
26
- // if (!verifier) {
27
- const verifier = generateCodeVerifier();
28
- this.storage.set(CodeVerifier.COOKIE_NAME, verifier);
29
- // }
30
- return deriveCodeChallenge(verifier);
31
- }
32
- // if there is already a verifier, return it,
33
- async getCodeVerifier(): Promise<string | null> {
34
- return this.storage.get(CodeVerifier.COOKIE_NAME);
35
- }
36
- }
37
-
38
- /** A PKCE Producer that is expected to run on a browser, and does not need a backend */
39
- export class BrowserPublicClientPKCEProducer extends GenericPublicClientPKCEProducer {
40
- constructor() {
41
- super(new LocalStorageAdapter());
42
- }
43
- }
@@ -1,54 +0,0 @@
1
- import type { OIDCTokenResponseBody, SessionData } from "@/types.js";
2
-
3
- // A PKCEConsumer can get a code challenge to use in the login process
4
- // A PKCEProducer can also generate and store verifiers. The producer must also be a consumer in order to get the challenge from an existing flow
5
- // Examples:
6
- // - Client-only SPA: The SPA generates the code challenge and verifier, stores the verifier in state and returns the code challenge
7
- // Note - The SPA should use PKCEProducer instead to do both
8
- // - Client-side of a client/server app: The client calls the backend to get the challenge.
9
- // - Server-side: The server should generate a new stored verifier and derive the challenge from it.
10
- export interface PKCEConsumer {
11
- // Retrieve a new PKCE challenge
12
- getCodeChallenge(): Promise<string>;
13
- }
14
-
15
- // All producers are consumers, because the producer can get its own challenge
16
- export interface PKCEProducer extends PKCEConsumer {
17
- // Retrieve the PKCE challenge from the session if one exists
18
- getCodeVerifier(): Promise<string | null>;
19
- }
20
-
21
- // A service that can initiate requests to login or log out
22
- export interface AuthenticationInitiator {
23
- // trigger a new login
24
- signIn(iframeRef: HTMLIFrameElement | null): Promise<URL>;
25
-
26
- // trigger a new logout
27
- signOut(): Promise<URL>;
28
- }
29
-
30
- // A service that can resolve an authentication request according to the OAuth Auth Code grant types
31
- export interface AuthenticationResolver {
32
- // Given an auth code, get the tokens from the auth server and store them. works in PKCE and non-PKCE environments
33
- // Note, if we choose later to implement other grants, this method would move into a subinterface specifically
34
- // for the authorization code grant type.
35
- // The return type is just for convenience and can be ignored, as the same data would be provided by getSessionData
36
- tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
37
-
38
- // If the tokens have already been retrieved, return them
39
- getSessionData(): Promise<SessionData | null>;
40
-
41
- // If an existing session is found, validate it and return the session data
42
- validateExistingSession(): Promise<SessionData>;
43
- }
44
-
45
- export interface AuthenticationRefresher {
46
- refreshTokens: () => Promise<OIDCTokenResponseBody>;
47
- }
48
-
49
- export class PopupError extends Error {
50
- constructor(message: string) {
51
- super(message);
52
- Object.setPrototypeOf(this, PopupError.prototype);
53
- }
54
- }
@@ -1,26 +0,0 @@
1
- "use client";
2
- import { IFRAME_ID } from "@/constants.js";
3
- import React, { forwardRef } from "react";
4
-
5
- type CivicAuthIframeProps = {
6
- onLoad?: () => void;
7
- };
8
-
9
- const CivicAuthIframe = forwardRef<HTMLIFrameElement, CivicAuthIframeProps>(
10
- ({ onLoad }, ref) => {
11
- return (
12
- <iframe
13
- id={IFRAME_ID}
14
- ref={ref}
15
- className="cac-h-[26rem] cac-w-full cac-border-none"
16
- onLoad={onLoad}
17
- />
18
- );
19
- },
20
- );
21
-
22
- CivicAuthIframe.displayName = "CivicAuthIframe";
23
-
24
- export type { CivicAuthIframeProps };
25
-
26
- export { CivicAuthIframe };
@@ -1,150 +0,0 @@
1
- "use client";
2
-
3
- import React, { useCallback, useEffect, useRef, useState } from "react";
4
- import { LoadingIcon } from "@/shared/components/LoadingIcon.js";
5
- import { CloseIcon } from "@/shared/components/CloseIcon.js";
6
- import { CivicAuthIframe } from "@/shared/components/CivicAuthIframe.js";
7
- import { useAuth, useConfig, useIframe } from "@/shared/hooks/index.js";
8
- import { TOKEN_EXCHANGE_TRIGGER_TEXT } from "@/constants.js";
9
-
10
- type CivicAuthIframeContainerProps = {
11
- onClose?: () => void;
12
- closeOnRedirect?: boolean;
13
- };
14
-
15
- function NoChrome({
16
- children,
17
- }: {
18
- children: React.ReactNode;
19
- onClose?: () => void;
20
- }) {
21
- return <div className="cac-relative">{children}</div>;
22
- }
23
-
24
- function IframeChrome({
25
- children,
26
- onClose,
27
- }: {
28
- children: React.ReactNode;
29
- onClose?: () => void;
30
- }) {
31
- return (
32
- <div
33
- className="cac-absolute cac-left-0 cac-top-0 cac-z-50 cac-flex cac-h-screen cac-w-screen cac-min-w-72 cac-items-center cac-justify-center cac-bg-neutral-950 cac-bg-opacity-50"
34
- onClick={onClose}
35
- >
36
- <div
37
- className="cac-relative cac-overflow-hidden cac-rounded-3xl cac-bg-white cac-p-2 cac-shadow-lg sm:cac-p-6"
38
- onClick={(e) => e.stopPropagation()}
39
- >
40
- <button
41
- className="cac-absolute cac-right-4 cac-top-4 cac-flex cac-cursor-pointer cac-items-center cac-justify-center cac-border-none cac-bg-transparent cac-p-1 cac-text-neutral-400"
42
- onClick={onClose}
43
- >
44
- <CloseIcon />
45
- </button>
46
-
47
- {children}
48
- </div>
49
- </div>
50
- );
51
- }
52
- const CivicAuthIframeContainer = ({
53
- onClose,
54
- closeOnRedirect = true,
55
- }: CivicAuthIframeContainerProps) => {
56
- const [isLoading, setIsLoading] = useState(true);
57
- const { isLoading: isAuthLoading } = useAuth();
58
- const config = useConfig();
59
- const { setAuthResponseUrl, iframeRef } = useIframe();
60
- const processIframeUrl = useCallback(() => {
61
- if (iframeRef && iframeRef.current && iframeRef.current.contentWindow) {
62
- try {
63
- const iframeUrl = iframeRef.current.contentWindow.location.href;
64
- // we know that oauth has finished when the iframe redirects to our redirectUrl
65
- if (iframeUrl.startsWith(config.redirectUrl)) {
66
- // we still want to show the spinner during redirect
67
- setIsLoading(true);
68
- const iframeBody =
69
- iframeRef.current.contentWindow.document.body.innerHTML;
70
-
71
- // If we're doing a server token exchange, we need to call the server a second time
72
- // using a fetch so that we're on the same domain and cookies can be sent and read
73
- // The server will use the presence of the code_verifier cookie to determine whether to do a token exchange or not.
74
- // On the initial (3rd party) redirect from the auth server, the cookie won't be sent, so the server-side callback route will just render a blank page,
75
- // and we'll do the exchange request from here, which will include the cookies.
76
- if (iframeBody.includes(TOKEN_EXCHANGE_TRIGGER_TEXT)) {
77
- console.log(
78
- `${TOKEN_EXCHANGE_TRIGGER_TEXT}, calling callback URL again...`,
79
- );
80
- const params = new URL(iframeUrl).searchParams;
81
- fetch(`${config.redirectUrl}?${params.toString()}`);
82
- } else {
83
- // if we're doing token-exchange in the client, we can just set the authResponseUrl
84
- // to be handled by the auth provider
85
- setAuthResponseUrl(iframeUrl);
86
- }
87
-
88
- if (closeOnRedirect) onClose?.();
89
- return true; // Successfully processed the URL
90
- }
91
- } catch {
92
- // If we get here, the iframe hasn't redirected to our origin yet
93
- console.log("Waiting for redirect...");
94
- }
95
- }
96
- return false; // Haven't processed the URL yet
97
- }, [
98
- closeOnRedirect,
99
- config.redirectUrl,
100
- iframeRef,
101
- onClose,
102
- setAuthResponseUrl,
103
- ]);
104
-
105
- const intervalId = useRef<NodeJS.Timeout>();
106
-
107
- const handleEscape = useCallback(
108
- (event: KeyboardEvent) => {
109
- if (event.key === "Escape") {
110
- onClose?.();
111
- }
112
- },
113
- [onClose],
114
- );
115
-
116
- // handle Escape
117
- useEffect(() => {
118
- window.addEventListener("keydown", handleEscape);
119
-
120
- return () => window.removeEventListener("keydown", handleEscape);
121
- });
122
-
123
- const handleIframeLoad = () => {
124
- setIsLoading(false);
125
- console.log("handleIframeLoad");
126
- if (processIframeUrl() && intervalId.current) {
127
- clearInterval(intervalId.current);
128
- }
129
- };
130
- const showLoadingIcon =
131
- isLoading || isAuthLoading || !iframeRef?.current?.getAttribute("src");
132
-
133
- const WrapperComponent = config.modalIframe ? IframeChrome : NoChrome;
134
-
135
- return (
136
- <WrapperComponent onClose={onClose}>
137
- {showLoadingIcon && (
138
- <div className="cac-absolute cac-inset-0 cac-flex cac-items-center cac-justify-center cac-bg-white">
139
- <LoadingIcon />
140
- </div>
141
- )}
142
-
143
- <CivicAuthIframe ref={iframeRef} onLoad={handleIframeLoad} />
144
- </WrapperComponent>
145
- );
146
- };
147
-
148
- export type { CivicAuthIframeContainerProps };
149
-
150
- export { CivicAuthIframeContainer };
@@ -1,21 +0,0 @@
1
- import React from "react";
2
-
3
- const CloseIcon = () => (
4
- <svg
5
- xmlns="http://www.w3.org/2000/svg"
6
- width="24"
7
- height="24"
8
- viewBox="0 0 24 24"
9
- fill="none"
10
- stroke="currentColor"
11
- strokeWidth="2"
12
- strokeLinecap="round"
13
- strokeLinejoin="round"
14
- className="lucide lucide-x"
15
- >
16
- <path d="M18 6 6 18" />
17
- <path d="m6 6 12 12" />
18
- </svg>
19
- );
20
-
21
- export { CloseIcon };
@@ -1,25 +0,0 @@
1
- import React from "react";
2
-
3
- const LoadingIcon = () => (
4
- <div role="status">
5
- <svg
6
- aria-hidden="true"
7
- className="cac-inline cac-h-8 cac-w-8 cac-animate-spin cac-fill-neutral-600 cac-text-neutral-200 dark:cac-fill-neutral-300 dark:cac-text-neutral-600"
8
- viewBox="0 0 100 101"
9
- fill="none"
10
- xmlns="http://www.w3.org/2000/svg"
11
- >
12
- <path
13
- d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
14
- fill="currentColor"
15
- />
16
- <path
17
- d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
18
- fill="currentFill"
19
- />
20
- </svg>
21
- <span className="cac-sr-only">Loading...</span>
22
- </div>
23
- );
24
-
25
- export { LoadingIcon };
@@ -1,4 +0,0 @@
1
- export { useToken } from "@/shared/hooks/useToken.js";
2
- export { useAuth } from "@/shared/hooks/useAuth.js";
3
- export { useConfig } from "@/shared/hooks/useConfig.js";
4
- export { useIframe } from "@/shared/hooks/useIframe.js";
@@ -1,15 +0,0 @@
1
- "use client";
2
- import { useContext } from "react";
3
- import { AuthContext } from "@/shared/providers/AuthContext.js";
4
-
5
- const useAuth = () => {
6
- const context = useContext(AuthContext);
7
-
8
- if (!context) {
9
- throw new Error("useAuth must be used within an AuthProvider");
10
- }
11
-
12
- return context;
13
- };
14
-
15
- export { useAuth };