@civic/auth 0.1.3 → 0.1.4-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.
- package/CHANGELOG.md +5 -0
- package/README.md +13 -10
- package/dist/cjs/browser/storage.d.ts +3 -0
- package/dist/cjs/browser/storage.d.ts.map +1 -1
- package/dist/cjs/browser/storage.js +8 -0
- package/dist/cjs/browser/storage.js.map +1 -1
- package/dist/cjs/lib/cookies.d.ts +2 -2
- package/dist/cjs/lib/cookies.d.ts.map +1 -1
- package/dist/cjs/lib/cookies.js +7 -5
- package/dist/cjs/lib/cookies.js.map +1 -1
- package/dist/cjs/lib/postMessage.js +1 -1
- package/dist/cjs/lib/postMessage.js.map +1 -1
- package/dist/cjs/lib/windowUtil.d.ts.map +1 -1
- package/dist/cjs/lib/windowUtil.js +1 -0
- package/dist/cjs/lib/windowUtil.js.map +1 -1
- package/dist/cjs/nextjs/GetUser.d.ts.map +1 -1
- package/dist/cjs/nextjs/GetUser.js +2 -13
- package/dist/cjs/nextjs/GetUser.js.map +1 -1
- package/dist/cjs/nextjs/config.d.ts.map +1 -1
- package/dist/cjs/nextjs/config.js +12 -0
- package/dist/cjs/nextjs/config.js.map +1 -1
- package/dist/cjs/nextjs/hooks/index.d.ts +1 -1
- package/dist/cjs/nextjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/nextjs/hooks/index.js +3 -3
- package/dist/cjs/nextjs/hooks/index.js.map +1 -1
- package/dist/cjs/nextjs/hooks/useUserCookie.d.ts +4 -1
- package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +1 -1
- package/dist/cjs/nextjs/hooks/useUserCookie.js +43 -15
- package/dist/cjs/nextjs/hooks/useUserCookie.js.map +1 -1
- package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts +5 -1
- package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
- package/dist/cjs/nextjs/providers/NextAuthProvider.js +74 -35
- package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +1 -1
- package/dist/cjs/nextjs/routeHandler.js +2 -2
- package/dist/cjs/nextjs/routeHandler.js.map +1 -1
- package/dist/cjs/reactjs/components/UserButton.js +20 -10
- package/dist/cjs/reactjs/components/UserButton.js.map +1 -1
- package/dist/cjs/reactjs/hooks/index.d.ts +0 -1
- package/dist/cjs/reactjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/reactjs/hooks/index.js +1 -3
- package/dist/cjs/reactjs/hooks/index.js.map +1 -1
- package/dist/cjs/services/AuthenticationService.d.ts +4 -1
- package/dist/cjs/services/AuthenticationService.d.ts.map +1 -1
- package/dist/cjs/services/AuthenticationService.js +38 -7
- package/dist/cjs/services/AuthenticationService.js.map +1 -1
- package/dist/cjs/shared/components/BlockDisplay.d.ts +7 -0
- package/dist/cjs/shared/components/BlockDisplay.d.ts.map +1 -0
- package/dist/cjs/shared/components/BlockDisplay.js +31 -0
- package/dist/cjs/shared/components/BlockDisplay.js.map +1 -0
- package/dist/cjs/shared/components/CivicAuthIframe.js +18 -8
- package/dist/cjs/shared/components/CivicAuthIframe.js.map +1 -1
- package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
- package/dist/cjs/shared/components/CivicAuthIframeContainer.js +39 -20
- package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +1 -1
- package/dist/cjs/shared/components/IFrameAndLoading.d.ts +7 -0
- package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +1 -0
- package/dist/cjs/shared/components/IFrameAndLoading.js +28 -0
- package/dist/cjs/shared/components/IFrameAndLoading.js.map +1 -0
- package/dist/cjs/shared/hooks/index.d.ts +5 -1
- package/dist/cjs/shared/hooks/index.d.ts.map +1 -1
- package/dist/cjs/shared/hooks/index.js +11 -3
- package/dist/cjs/shared/hooks/index.js.map +1 -1
- package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +3 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.js +13 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +1 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +16 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.d.ts +3 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.js +27 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.js.map +1 -0
- package/dist/cjs/shared/hooks/useIsInIframe.d.ts +3 -0
- package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useIsInIframe.js +17 -0
- package/dist/cjs/shared/hooks/useIsInIframe.js.map +1 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts +4 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.js +17 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +1 -0
- package/dist/cjs/shared/hooks/useRefresh.d.ts +4 -0
- package/dist/cjs/shared/hooks/useRefresh.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useRefresh.js +41 -0
- package/dist/cjs/shared/hooks/useRefresh.js.map +1 -0
- package/dist/cjs/shared/hooks/useSession.d.ts +1 -1
- package/dist/cjs/shared/hooks/useSession.d.ts.map +1 -1
- package/dist/cjs/shared/hooks/useSignIn.d.ts +14 -0
- package/dist/cjs/shared/hooks/useSignIn.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useSignIn.js +74 -0
- package/dist/cjs/shared/hooks/useSignIn.js.map +1 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +4 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +30 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
- package/dist/cjs/shared/lib/session.d.ts +1 -1
- package/dist/cjs/shared/lib/session.d.ts.map +1 -1
- package/dist/cjs/shared/lib/session.js +12 -1
- package/dist/cjs/shared/lib/session.js.map +1 -1
- package/dist/cjs/shared/lib/types.d.ts +14 -1
- package/dist/cjs/shared/lib/types.d.ts.map +1 -1
- package/dist/cjs/shared/lib/types.js +2 -0
- package/dist/cjs/shared/lib/types.js.map +1 -1
- package/dist/cjs/shared/lib/util.d.ts.map +1 -1
- package/dist/cjs/shared/lib/util.js +28 -9
- package/dist/cjs/shared/lib/util.js.map +1 -1
- package/dist/cjs/shared/providers/AuthProvider.d.ts +3 -2
- package/dist/cjs/shared/providers/AuthProvider.d.ts.map +1 -1
- package/dist/cjs/shared/providers/AuthProvider.js +53 -244
- package/dist/cjs/shared/providers/AuthProvider.js.map +1 -1
- package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts +16 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.js +80 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +1 -0
- package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +1 -1
- package/dist/cjs/shared/providers/CivicAuthProvider.js +23 -6
- package/dist/cjs/shared/providers/CivicAuthProvider.js.map +1 -1
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +183 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/cjs/shared/providers/IframeProvider.d.ts +7 -4
- package/dist/cjs/shared/providers/IframeProvider.d.ts.map +1 -1
- package/dist/cjs/shared/providers/IframeProvider.js +37 -9
- package/dist/cjs/shared/providers/IframeProvider.js.map +1 -1
- package/dist/cjs/shared/providers/SessionProvider.d.ts +10 -4
- package/dist/cjs/shared/providers/SessionProvider.d.ts.map +1 -1
- package/dist/cjs/shared/providers/SessionProvider.js +32 -12
- package/dist/cjs/shared/providers/SessionProvider.js.map +1 -1
- package/dist/cjs/shared/providers/TokenProvider.d.ts.map +1 -1
- package/dist/cjs/shared/providers/TokenProvider.js +29 -30
- package/dist/cjs/shared/providers/TokenProvider.js.map +1 -1
- package/dist/cjs/shared/providers/UserProvider.d.ts +6 -4
- package/dist/cjs/shared/providers/UserProvider.d.ts.map +1 -1
- package/dist/cjs/shared/providers/UserProvider.js +49 -26
- package/dist/cjs/shared/providers/UserProvider.js.map +1 -1
- package/dist/cjs/types.d.ts +5 -5
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +4 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/esm/browser/storage.d.ts +3 -0
- package/dist/esm/browser/storage.d.ts.map +1 -1
- package/dist/esm/browser/storage.js +8 -0
- package/dist/esm/browser/storage.js.map +1 -1
- package/dist/esm/lib/cookies.d.ts +2 -2
- package/dist/esm/lib/cookies.d.ts.map +1 -1
- package/dist/esm/lib/cookies.js +7 -5
- package/dist/esm/lib/cookies.js.map +1 -1
- package/dist/esm/lib/postMessage.js +1 -1
- package/dist/esm/lib/postMessage.js.map +1 -1
- package/dist/esm/lib/windowUtil.d.ts.map +1 -1
- package/dist/esm/lib/windowUtil.js +1 -0
- package/dist/esm/lib/windowUtil.js.map +1 -1
- package/dist/esm/nextjs/GetUser.d.ts.map +1 -1
- package/dist/esm/nextjs/GetUser.js +2 -13
- package/dist/esm/nextjs/GetUser.js.map +1 -1
- package/dist/esm/nextjs/config.d.ts.map +1 -1
- package/dist/esm/nextjs/config.js +12 -0
- package/dist/esm/nextjs/config.js.map +1 -1
- package/dist/esm/nextjs/hooks/index.d.ts +1 -1
- package/dist/esm/nextjs/hooks/index.d.ts.map +1 -1
- package/dist/esm/nextjs/hooks/index.js +1 -1
- package/dist/esm/nextjs/hooks/index.js.map +1 -1
- package/dist/esm/nextjs/hooks/useUserCookie.d.ts +4 -1
- package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +1 -1
- package/dist/esm/nextjs/hooks/useUserCookie.js +45 -17
- package/dist/esm/nextjs/hooks/useUserCookie.js.map +1 -1
- package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +5 -1
- package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
- package/dist/esm/nextjs/providers/NextAuthProvider.js +59 -30
- package/dist/esm/nextjs/providers/NextAuthProvider.js.map +1 -1
- package/dist/esm/nextjs/routeHandler.js +2 -2
- package/dist/esm/nextjs/routeHandler.js.map +1 -1
- package/dist/esm/reactjs/components/UserButton.js +3 -3
- package/dist/esm/reactjs/components/UserButton.js.map +1 -1
- package/dist/esm/reactjs/hooks/index.d.ts +0 -1
- package/dist/esm/reactjs/hooks/index.d.ts.map +1 -1
- package/dist/esm/reactjs/hooks/index.js +0 -1
- package/dist/esm/reactjs/hooks/index.js.map +1 -1
- package/dist/esm/services/AuthenticationService.d.ts +4 -1
- package/dist/esm/services/AuthenticationService.d.ts.map +1 -1
- package/dist/esm/services/AuthenticationService.js +39 -8
- package/dist/esm/services/AuthenticationService.js.map +1 -1
- package/dist/esm/shared/components/BlockDisplay.d.ts +7 -0
- package/dist/esm/shared/components/BlockDisplay.d.ts.map +1 -0
- package/dist/esm/shared/components/BlockDisplay.js +25 -0
- package/dist/esm/shared/components/BlockDisplay.js.map +1 -0
- package/dist/esm/shared/components/CivicAuthIframe.js +1 -1
- package/dist/esm/shared/components/CivicAuthIframe.js.map +1 -1
- package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
- package/dist/esm/shared/components/CivicAuthIframeContainer.js +23 -14
- package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +1 -1
- package/dist/esm/shared/components/IFrameAndLoading.d.ts +7 -0
- package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +1 -0
- package/dist/esm/shared/components/IFrameAndLoading.js +22 -0
- package/dist/esm/shared/components/IFrameAndLoading.js.map +1 -0
- package/dist/esm/shared/hooks/index.d.ts +5 -1
- package/dist/esm/shared/hooks/index.d.ts.map +1 -1
- package/dist/esm/shared/hooks/index.js +5 -1
- package/dist/esm/shared/hooks/index.js.map +1 -1
- package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts +3 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.js +10 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +1 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +13 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/esm/shared/hooks/useCurrentUrl.d.ts +3 -0
- package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useCurrentUrl.js +24 -0
- package/dist/esm/shared/hooks/useCurrentUrl.js.map +1 -0
- package/dist/esm/shared/hooks/useIsInIframe.d.ts +3 -0
- package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useIsInIframe.js +14 -0
- package/dist/esm/shared/hooks/useIsInIframe.js.map +1 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +4 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.js +14 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +1 -0
- package/dist/esm/shared/hooks/useRefresh.d.ts +4 -0
- package/dist/esm/shared/hooks/useRefresh.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useRefresh.js +38 -0
- package/dist/esm/shared/hooks/useRefresh.js.map +1 -0
- package/dist/esm/shared/hooks/useSession.d.ts +1 -1
- package/dist/esm/shared/hooks/useSession.d.ts.map +1 -1
- package/dist/esm/shared/hooks/useSignIn.d.ts +14 -0
- package/dist/esm/shared/hooks/useSignIn.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useSignIn.js +71 -0
- package/dist/esm/shared/hooks/useSignIn.js.map +1 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +4 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +30 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
- package/dist/esm/shared/lib/session.d.ts +1 -1
- package/dist/esm/shared/lib/session.d.ts.map +1 -1
- package/dist/esm/shared/lib/session.js +12 -1
- package/dist/esm/shared/lib/session.js.map +1 -1
- package/dist/esm/shared/lib/types.d.ts +14 -1
- package/dist/esm/shared/lib/types.d.ts.map +1 -1
- package/dist/esm/shared/lib/types.js +2 -0
- package/dist/esm/shared/lib/types.js.map +1 -1
- package/dist/esm/shared/lib/util.d.ts.map +1 -1
- package/dist/esm/shared/lib/util.js +11 -2
- package/dist/esm/shared/lib/util.js.map +1 -1
- package/dist/esm/shared/providers/AuthProvider.d.ts +3 -2
- package/dist/esm/shared/providers/AuthProvider.d.ts.map +1 -1
- package/dist/esm/shared/providers/AuthProvider.js +37 -238
- package/dist/esm/shared/providers/AuthProvider.js.map +1 -1
- package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +16 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.js +43 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +1 -0
- package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +1 -1
- package/dist/esm/shared/providers/CivicAuthProvider.js +23 -6
- package/dist/esm/shared/providers/CivicAuthProvider.js.map +1 -1
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +146 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/esm/shared/providers/IframeProvider.d.ts +7 -4
- package/dist/esm/shared/providers/IframeProvider.d.ts.map +1 -1
- package/dist/esm/shared/providers/IframeProvider.js +21 -3
- package/dist/esm/shared/providers/IframeProvider.js.map +1 -1
- package/dist/esm/shared/providers/SessionProvider.d.ts +10 -4
- package/dist/esm/shared/providers/SessionProvider.d.ts.map +1 -1
- package/dist/esm/shared/providers/SessionProvider.js +15 -5
- package/dist/esm/shared/providers/SessionProvider.js.map +1 -1
- package/dist/esm/shared/providers/TokenProvider.d.ts.map +1 -1
- package/dist/esm/shared/providers/TokenProvider.js +13 -24
- package/dist/esm/shared/providers/TokenProvider.js.map +1 -1
- package/dist/esm/shared/providers/UserProvider.d.ts +6 -4
- package/dist/esm/shared/providers/UserProvider.d.ts.map +1 -1
- package/dist/esm/shared/providers/UserProvider.js +33 -20
- package/dist/esm/shared/providers/UserProvider.js.map +1 -1
- package/dist/esm/types.d.ts +5 -5
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +3 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/src/browser/storage.d.ts +3 -0
- package/dist/src/browser/storage.d.ts.map +1 -1
- package/dist/src/browser/storage.js +8 -0
- package/dist/src/browser/storage.js.map +1 -1
- package/dist/src/lib/cookies.d.ts +2 -2
- package/dist/src/lib/cookies.d.ts.map +1 -1
- package/dist/src/lib/cookies.js +7 -5
- package/dist/src/lib/cookies.js.map +1 -1
- package/dist/src/lib/postMessage.js +1 -1
- package/dist/src/lib/postMessage.js.map +1 -1
- package/dist/src/lib/windowUtil.d.ts.map +1 -1
- package/dist/src/lib/windowUtil.js +1 -0
- package/dist/src/lib/windowUtil.js.map +1 -1
- package/dist/src/nextjs/GetUser.d.ts.map +1 -1
- package/dist/src/nextjs/GetUser.js +2 -13
- package/dist/src/nextjs/GetUser.js.map +1 -1
- package/dist/src/nextjs/config.d.ts.map +1 -1
- package/dist/src/nextjs/config.js +12 -0
- package/dist/src/nextjs/config.js.map +1 -1
- package/dist/src/nextjs/hooks/index.d.ts +1 -1
- package/dist/src/nextjs/hooks/index.d.ts.map +1 -1
- package/dist/src/nextjs/hooks/index.js +1 -1
- package/dist/src/nextjs/hooks/index.js.map +1 -1
- package/dist/src/nextjs/hooks/useRefresh.d.ts +4 -0
- package/dist/src/nextjs/hooks/useRefresh.d.ts.map +1 -0
- package/dist/src/nextjs/hooks/useRefresh.js +38 -0
- package/dist/src/nextjs/hooks/useRefresh.js.map +1 -0
- package/dist/src/nextjs/hooks/useUserCookie.d.ts +4 -1
- package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +1 -1
- package/dist/src/nextjs/hooks/useUserCookie.js +45 -17
- package/dist/src/nextjs/hooks/useUserCookie.js.map +1 -1
- package/dist/src/nextjs/providers/NextAuthProvider.d.ts +5 -1
- package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +1 -1
- package/dist/src/nextjs/providers/NextAuthProvider.js +59 -30
- package/dist/src/nextjs/providers/NextAuthProvider.js.map +1 -1
- package/dist/src/nextjs/routeHandler.js +2 -2
- package/dist/src/nextjs/routeHandler.js.map +1 -1
- package/dist/src/reactjs/components/UserButton.js +3 -3
- package/dist/src/reactjs/components/UserButton.js.map +1 -1
- package/dist/src/reactjs/hooks/index.d.ts +0 -1
- package/dist/src/reactjs/hooks/index.d.ts.map +1 -1
- package/dist/src/reactjs/hooks/index.js +0 -1
- package/dist/src/reactjs/hooks/index.js.map +1 -1
- package/dist/src/reactjs/hooks/useRefresh.d.ts +4 -0
- package/dist/src/reactjs/hooks/useRefresh.d.ts.map +1 -0
- package/dist/src/reactjs/hooks/useRefresh.js +28 -0
- package/dist/src/reactjs/hooks/useRefresh.js.map +1 -0
- package/dist/src/services/AuthenticationService.d.ts +4 -1
- package/dist/src/services/AuthenticationService.d.ts.map +1 -1
- package/dist/src/services/AuthenticationService.js +39 -8
- package/dist/src/services/AuthenticationService.js.map +1 -1
- package/dist/src/shared/components/BlockDisplay.d.ts +7 -0
- package/dist/src/shared/components/BlockDisplay.d.ts.map +1 -0
- package/dist/src/shared/components/BlockDisplay.js +25 -0
- package/dist/src/shared/components/BlockDisplay.js.map +1 -0
- package/dist/src/shared/components/CivicAuthIframe.js +1 -1
- package/dist/src/shared/components/CivicAuthIframe.js.map +1 -1
- package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
- package/dist/src/shared/components/CivicAuthIframeContainer.js +23 -14
- package/dist/src/shared/components/CivicAuthIframeContainer.js.map +1 -1
- package/dist/src/shared/components/IFrameAndLoading.d.ts +7 -0
- package/dist/src/shared/components/IFrameAndLoading.d.ts.map +1 -0
- package/dist/src/shared/components/IFrameAndLoading.js +22 -0
- package/dist/src/shared/components/IFrameAndLoading.js.map +1 -0
- package/dist/src/shared/hooks/index.d.ts +5 -1
- package/dist/src/shared/hooks/index.d.ts.map +1 -1
- package/dist/src/shared/hooks/index.js +5 -1
- package/dist/src/shared/hooks/index.js.map +1 -1
- package/dist/src/shared/hooks/useCivicAuthConfig.d.ts +3 -0
- package/dist/src/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
- package/dist/src/shared/hooks/useCivicAuthConfig.js +10 -0
- package/dist/src/shared/hooks/useCivicAuthConfig.js.map +1 -0
- package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/src/shared/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/src/shared/hooks/useClientTokenExchangeSession.js +13 -0
- package/dist/src/shared/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/src/shared/hooks/useCurrentUrl.d.ts +3 -0
- package/dist/src/shared/hooks/useCurrentUrl.d.ts.map +1 -0
- package/dist/src/shared/hooks/useCurrentUrl.js +24 -0
- package/dist/src/shared/hooks/useCurrentUrl.js.map +1 -0
- package/dist/src/shared/hooks/useIsInIframe.d.ts +3 -0
- package/dist/src/shared/hooks/useIsInIframe.d.ts.map +1 -0
- package/dist/src/shared/hooks/useIsInIframe.js +14 -0
- package/dist/src/shared/hooks/useIsInIframe.js.map +1 -0
- package/dist/src/shared/hooks/useOAuthEndpoints.d.ts +4 -0
- package/dist/src/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
- package/dist/src/shared/hooks/useOAuthEndpoints.js +14 -0
- package/dist/src/shared/hooks/useOAuthEndpoints.js.map +1 -0
- package/dist/src/shared/hooks/useRefresh.d.ts +4 -0
- package/dist/src/shared/hooks/useRefresh.d.ts.map +1 -0
- package/dist/src/shared/hooks/useRefresh.js +38 -0
- package/dist/src/shared/hooks/useRefresh.js.map +1 -0
- package/dist/src/shared/hooks/useSession.d.ts +1 -1
- package/dist/src/shared/hooks/useSession.d.ts.map +1 -1
- package/dist/src/shared/hooks/useSignIn.d.ts +14 -0
- package/dist/src/shared/hooks/useSignIn.d.ts.map +1 -0
- package/dist/src/shared/hooks/useSignIn.js +71 -0
- package/dist/src/shared/hooks/useSignIn.js.map +1 -0
- package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +4 -0
- package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
- package/dist/src/shared/lib/GenericAuthenticationRefresher.js +30 -0
- package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
- package/dist/src/shared/lib/session.d.ts +1 -1
- package/dist/src/shared/lib/session.d.ts.map +1 -1
- package/dist/src/shared/lib/session.js +12 -1
- package/dist/src/shared/lib/session.js.map +1 -1
- package/dist/src/shared/lib/types.d.ts +14 -1
- package/dist/src/shared/lib/types.d.ts.map +1 -1
- package/dist/src/shared/lib/types.js +2 -0
- package/dist/src/shared/lib/types.js.map +1 -1
- package/dist/src/shared/lib/util.d.ts.map +1 -1
- package/dist/src/shared/lib/util.js +11 -2
- package/dist/src/shared/lib/util.js.map +1 -1
- package/dist/src/shared/providers/AuthProvider.d.ts +3 -2
- package/dist/src/shared/providers/AuthProvider.d.ts.map +1 -1
- package/dist/src/shared/providers/AuthProvider.js +37 -238
- package/dist/src/shared/providers/AuthProvider.js.map +1 -1
- package/dist/src/shared/providers/CivicAuthConfigContext.d.ts +16 -0
- package/dist/src/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
- package/dist/src/shared/providers/CivicAuthConfigContext.js +43 -0
- package/dist/src/shared/providers/CivicAuthConfigContext.js.map +1 -0
- package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +1 -1
- package/dist/src/shared/providers/CivicAuthProvider.js +23 -6
- package/dist/src/shared/providers/CivicAuthProvider.js.map +1 -1
- package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js +146 -0
- package/dist/src/shared/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/src/shared/providers/IframeProvider.d.ts +7 -4
- package/dist/src/shared/providers/IframeProvider.d.ts.map +1 -1
- package/dist/src/shared/providers/IframeProvider.js +21 -3
- package/dist/src/shared/providers/IframeProvider.js.map +1 -1
- package/dist/src/shared/providers/SessionProvider.d.ts +10 -4
- package/dist/src/shared/providers/SessionProvider.d.ts.map +1 -1
- package/dist/src/shared/providers/SessionProvider.js +15 -5
- package/dist/src/shared/providers/SessionProvider.js.map +1 -1
- package/dist/src/shared/providers/TokenProvider.d.ts.map +1 -1
- package/dist/src/shared/providers/TokenProvider.js +13 -24
- package/dist/src/shared/providers/TokenProvider.js.map +1 -1
- package/dist/src/shared/providers/UserProvider.d.ts +6 -4
- package/dist/src/shared/providers/UserProvider.d.ts.map +1 -1
- package/dist/src/shared/providers/UserProvider.js +33 -20
- package/dist/src/shared/providers/UserProvider.js.map +1 -1
- package/dist/src/types.d.ts +5 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +3 -1
- package/dist/src/types.js.map +1 -1
- package/dist/test/integration/sdk.test.d.ts.map +1 -1
- package/dist/test/integration/sdk.test.js +39 -33
- package/dist/test/integration/sdk.test.js.map +1 -1
- package/dist/test/unit/nextjs/NextAuthProvider.test.js +8 -6
- package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +1 -1
- package/dist/test/unit/nextjs/getUser.test.js +2 -16
- package/dist/test/unit/nextjs/getUser.test.js.map +1 -1
- package/dist/test/unit/server/refresh.test.d.ts.map +1 -0
- package/dist/test/unit/services/AuthenticationService.test.js +18 -1
- package/dist/test/unit/services/AuthenticationService.test.js.map +1 -1
- package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +12 -10
- package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -1
- package/.eslintignore +0 -3
- package/.eslintrc.json +0 -10
- package/.prettierignore +0 -3
- package/.prettierrc +0 -1
- package/.turbo/turbo-build.log +0 -13
- package/.turbo/turbo-lint$colon$fix.log +0 -10
- package/.turbo/turbo-test.log +0 -1153
- package/dist/cjs/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/cjs/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/cjs/nextjs/hooks/useTokenCookie.js +0 -41
- package/dist/cjs/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/cjs/shared/hooks/useConfig.d.ts +0 -3
- package/dist/cjs/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/cjs/shared/hooks/useConfig.js +0 -16
- package/dist/cjs/shared/hooks/useConfig.js.map +0 -1
- package/dist/cjs/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/cjs/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/cjs/shared/providers/ConfigProvider.js +0 -46
- package/dist/cjs/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/esm/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/esm/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/esm/nextjs/hooks/useTokenCookie.js +0 -37
- package/dist/esm/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/esm/shared/hooks/useConfig.d.ts +0 -3
- package/dist/esm/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/esm/shared/hooks/useConfig.js +0 -13
- package/dist/esm/shared/hooks/useConfig.js.map +0 -1
- package/dist/esm/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/esm/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/esm/shared/providers/ConfigProvider.js +0 -19
- package/dist/esm/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.js +0 -5
- package/dist/src/config.js.map +0 -1
- package/dist/src/constants.d.ts +0 -9
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -17
- package/dist/src/constants.js.map +0 -1
- package/dist/src/index.d.ts +0 -4
- package/dist/src/index.js +0 -2
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/jwt.d.ts +0 -3
- package/dist/src/lib/jwt.js +0 -9
- package/dist/src/lib/jwt.js.map +0 -1
- package/dist/src/lib/logger.d.ts +0 -26
- package/dist/src/lib/logger.d.ts.map +0 -1
- package/dist/src/lib/logger.js +0 -55
- package/dist/src/lib/logger.js.map +0 -1
- package/dist/src/lib/oauth.d.ts +0 -19
- package/dist/src/lib/oauth.js +0 -60
- package/dist/src/lib/oauth.js.map +0 -1
- package/dist/src/lib/postMessage.d.ts +0 -4
- package/dist/src/lib/windowUtil.d.ts +0 -4
- package/dist/src/nextjs/GetUser.d.ts +0 -6
- package/dist/src/nextjs/config.d.ts +0 -178
- package/dist/src/nextjs/cookies.d.ts +0 -30
- package/dist/src/nextjs/cookies.js +0 -112
- package/dist/src/nextjs/cookies.js.map +0 -1
- package/dist/src/nextjs/index.d.ts +0 -7
- package/dist/src/nextjs/index.js +0 -6
- package/dist/src/nextjs/index.js.map +0 -1
- package/dist/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/src/nextjs/middleware/index.js +0 -2
- package/dist/src/nextjs/middleware/index.js.map +0 -1
- package/dist/src/nextjs/middleware.d.ts +0 -59
- package/dist/src/nextjs/middleware.js +0 -107
- package/dist/src/nextjs/middleware.js.map +0 -1
- package/dist/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/src/nextjs/utils.d.ts +0 -3
- package/dist/src/nextjs/utils.js +0 -5
- package/dist/src/nextjs/utils.js.map +0 -1
- package/dist/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/src/reactjs/components/SignInButton.js +0 -14
- package/dist/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/src/reactjs/components/SignOutButton.js +0 -14
- package/dist/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/src/reactjs/components/index.d.ts +0 -6
- package/dist/src/reactjs/components/index.js +0 -6
- package/dist/src/reactjs/components/index.js.map +0 -1
- package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/src/reactjs/hooks/useAuth.js +0 -12
- package/dist/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/src/reactjs/hooks/useUser.js +0 -12
- package/dist/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/src/reactjs/index.d.ts +0 -6
- package/dist/src/reactjs/index.js +0 -8
- package/dist/src/reactjs/index.js.map +0 -1
- package/dist/src/reactjs/providers/index.d.ts +0 -8
- package/dist/src/reactjs/providers/index.js +0 -7
- package/dist/src/reactjs/providers/index.js.map +0 -1
- package/dist/src/server/ServerAuthenticationResolver.d.ts +0 -19
- package/dist/src/server/ServerAuthenticationResolver.js +0 -61
- package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/src/server/config.d.ts +0 -9
- package/dist/src/server/config.js +0 -2
- package/dist/src/server/config.js.map +0 -1
- package/dist/src/server/index.d.ts +0 -7
- package/dist/src/server/index.js +0 -5
- package/dist/src/server/index.js.map +0 -1
- package/dist/src/server/login.d.ts +0 -17
- package/dist/src/server/login.js +0 -37
- package/dist/src/server/login.js.map +0 -1
- package/dist/src/server/refresh.d.ts +0 -7
- package/dist/src/server/refresh.js +0 -13
- package/dist/src/server/refresh.js.map +0 -1
- package/dist/src/services/PKCE.d.ts +0 -20
- package/dist/src/services/PKCE.js +0 -44
- package/dist/src/services/PKCE.js.map +0 -1
- package/dist/src/services/types.d.ts +0 -23
- package/dist/src/services/types.js +0 -7
- package/dist/src/services/types.js.map +0 -1
- package/dist/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/src/shared/components/CloseIcon.js +0 -6
- package/dist/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/src/shared/components/LoadingIcon.js +0 -30
- package/dist/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/src/shared/hooks/useAuth.js +0 -12
- package/dist/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/src/shared/hooks/useIframe.js +0 -13
- package/dist/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/src/shared/hooks/useSession.js +0 -13
- package/dist/src/shared/hooks/useSession.js.map +0 -1
- package/dist/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/src/shared/hooks/useToken.js +0 -12
- package/dist/src/shared/hooks/useToken.js.map +0 -1
- package/dist/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/src/shared/lib/UserSession.js +0 -20
- package/dist/src/shared/lib/UserSession.js.map +0 -1
- package/dist/src/shared/lib/storage.d.ts +0 -25
- package/dist/src/shared/lib/storage.js +0 -17
- package/dist/src/shared/lib/storage.js.map +0 -1
- package/dist/src/shared/lib/util.d.ts +0 -33
- package/dist/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/src/shared/providers/AuthContext.js +0 -3
- package/dist/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/src/utils.d.ts +0 -15
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -43
- package/dist/src/utils.js.map +0 -1
- package/dist/test/integration/sdk.test.d.ts +0 -2
- package/dist/test/support/fixtures.d.ts +0 -26
- package/dist/test/support/fixtures.d.ts.map +0 -1
- package/dist/test/support/fixtures.js +0 -55
- package/dist/test/support/fixtures.js.map +0 -1
- package/dist/test/support/tokens.json +0 -26
- package/dist/test/unit/lib/oauth.test.d.ts +0 -2
- package/dist/test/unit/lib/oauth.test.js +0 -55
- package/dist/test/unit/lib/oauth.test.js.map +0 -1
- package/dist/test/unit/logger.test.d.ts +0 -2
- package/dist/test/unit/logger.test.d.ts.map +0 -1
- package/dist/test/unit/logger.test.js +0 -141
- package/dist/test/unit/logger.test.js.map +0 -1
- package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +0 -2
- package/dist/test/unit/nextjs/config.test.d.ts +0 -2
- package/dist/test/unit/nextjs/config.test.js +0 -189
- package/dist/test/unit/nextjs/config.test.js.map +0 -1
- package/dist/test/unit/nextjs/getUser.test.d.ts +0 -2
- package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
- package/dist/test/unit/nextjs/middleware.test.js +0 -113
- package/dist/test/unit/nextjs/middleware.test.js.map +0 -1
- package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
- package/dist/test/unit/nextjs/utils.test.js +0 -13
- package/dist/test/unit/nextjs/utils.test.js.map +0 -1
- package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +0 -2
- package/dist/test/unit/publicApi/apiSnapshot.test.js +0 -10
- package/dist/test/unit/publicApi/apiSnapshot.test.js.map +0 -1
- package/dist/test/unit/react/components/SignInButton.test.d.ts +0 -2
- package/dist/test/unit/react/components/SignInButton.test.js +0 -31
- package/dist/test/unit/react/components/SignInButton.test.js.map +0 -1
- package/dist/test/unit/react/components/SignOutButton.test.d.ts +0 -2
- package/dist/test/unit/react/components/SignOutButton.test.js +0 -30
- package/dist/test/unit/react/components/SignOutButton.test.js.map +0 -1
- package/dist/test/unit/server/login.test.d.ts +0 -2
- package/dist/test/unit/server/login.test.js +0 -127
- package/dist/test/unit/server/login.test.js.map +0 -1
- package/dist/test/unit/server/session.test.d.ts +0 -2
- package/dist/test/unit/server/session.test.js +0 -41
- package/dist/test/unit/server/session.test.js.map +0 -1
- package/dist/test/unit/services/AuthenticationService.test.d.ts +0 -2
- package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
- package/dist/test/unit/services/ServerAuthenticationResolver.test.js +0 -74
- package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +0 -1
- package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +0 -2
- package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +0 -61
- package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +0 -1
- package/dist/test/unit/shared/UserSession.test.d.ts +0 -2
- package/dist/test/unit/shared/UserSession.test.js +0 -37
- package/dist/test/unit/shared/UserSession.test.js.map +0 -1
- package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +0 -2
- package/dist/test/unit/shared/storage.test.d.ts +0 -2
- package/dist/test/unit/shared/storage.test.js +0 -53
- package/dist/test/unit/shared/storage.test.js.map +0 -1
- package/dist/test/unit/utils.test.d.ts +0 -2
- package/dist/test/unit/utils.test.d.ts.map +0 -1
- package/dist/test/unit/utils.test.js +0 -40
- package/dist/test/unit/utils.test.js.map +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -40
- package/dist/vitest.config.js.map +0 -1
- package/src/browser/storage.ts +0 -11
- package/src/config.ts +0 -6
- package/src/constants.ts +0 -29
- package/src/index.ts +0 -16
- package/src/lib/cookies.ts +0 -28
- package/src/lib/jwt.ts +0 -15
- package/src/lib/logger.ts +0 -72
- package/src/lib/oauth.ts +0 -83
- package/src/lib/postMessage.ts +0 -22
- package/src/lib/windowUtil.ts +0 -29
- package/src/nextjs/GetUser.ts +0 -22
- package/src/nextjs/config.ts +0 -203
- package/src/nextjs/cookies.ts +0 -162
- package/src/nextjs/hooks/index.ts +0 -1
- package/src/nextjs/hooks/useTokenCookie.ts +0 -41
- package/src/nextjs/hooks/useUserCookie.ts +0 -41
- package/src/nextjs/index.ts +0 -20
- package/src/nextjs/middleware/index.ts +0 -1
- package/src/nextjs/middleware.ts +0 -155
- package/src/nextjs/providers/NextAuthProvider.tsx +0 -87
- package/src/nextjs/routeHandler.ts +0 -297
- package/src/nextjs/utils.ts +0 -9
- package/src/reactjs/components/SignInButton.tsx +0 -32
- package/src/reactjs/components/SignOutButton.tsx +0 -24
- package/src/reactjs/components/UserButton.tsx +0 -239
- package/src/reactjs/components/index.ts +0 -5
- package/src/reactjs/hooks/index.ts +0 -6
- package/src/reactjs/hooks/useAuth.ts +0 -15
- package/src/reactjs/hooks/useUser.ts +0 -20
- package/src/reactjs/index.ts +0 -19
- package/src/reactjs/providers/index.ts +0 -27
- package/src/server/ServerAuthenticationResolver.ts +0 -107
- package/src/server/config.ts +0 -9
- package/src/server/index.ts +0 -13
- package/src/server/login.ts +0 -59
- package/src/server/refresh.ts +0 -23
- package/src/services/AuthenticationService.ts +0 -329
- package/src/services/PKCE.ts +0 -45
- package/src/services/types.ts +0 -54
- package/src/shared/components/CivicAuthIframe.tsx +0 -26
- package/src/shared/components/CivicAuthIframeContainer.tsx +0 -195
- package/src/shared/components/CloseIcon.tsx +0 -21
- package/src/shared/components/LoadingIcon.tsx +0 -53
- package/src/shared/hooks/index.ts +0 -4
- package/src/shared/hooks/useAuth.ts +0 -15
- package/src/shared/hooks/useConfig.ts +0 -14
- package/src/shared/hooks/useIframe.ts +0 -14
- package/src/shared/hooks/useSession.ts +0 -14
- package/src/shared/hooks/useToken.ts +0 -15
- package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -75
- package/src/shared/lib/UserSession.ts +0 -25
- package/src/shared/lib/session.ts +0 -11
- package/src/shared/lib/storage.ts +0 -40
- package/src/shared/lib/types.ts +0 -26
- package/src/shared/lib/util.ts +0 -212
- package/src/shared/providers/AuthContext.tsx +0 -11
- package/src/shared/providers/AuthProvider.tsx +0 -397
- package/src/shared/providers/CivicAuthProvider.tsx +0 -31
- package/src/shared/providers/ConfigProvider.tsx +0 -50
- package/src/shared/providers/IframeProvider.tsx +0 -34
- package/src/shared/providers/SessionProvider.tsx +0 -29
- package/src/shared/providers/TokenProvider.tsx +0 -78
- package/src/shared/providers/UserProvider.tsx +0 -80
- package/src/types.ts +0 -227
- package/src/utils.ts +0 -58
- package/test/integration/sdk.test.tsx +0 -266
- package/test/support/fixtures.ts +0 -56
- package/test/support/tokens.json +0 -26
- package/test/unit/lib/oauth.test.ts +0 -72
- package/test/unit/logger.test.ts +0 -175
- package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
- package/test/unit/nextjs/config.test.ts +0 -218
- package/test/unit/nextjs/getUser.test.ts +0 -41
- package/test/unit/nextjs/middleware.test.ts +0 -138
- package/test/unit/nextjs/routeHandler.test.ts.skipped +0 -369
- package/test/unit/nextjs/utils.test.ts +0 -17
- package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -17
- package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
- package/test/unit/react/components/SignInButton.test.tsx +0 -50
- package/test/unit/react/components/SignOutButton.test.tsx +0 -49
- package/test/unit/server/login.test.ts +0 -181
- package/test/unit/server/session.test.ts +0 -51
- package/test/unit/services/AuthenticationService.test.ts +0 -152
- package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -115
- package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
- package/test/unit/shared/UserSession.test.ts +0 -42
- package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
- package/test/unit/shared/storage.test.ts +0 -67
- package/test/unit/utils.test.ts +0 -48
- package/tsconfig.build.json +0 -9
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -7
- package/tsconfig.json +0 -42
- package/tsconfig.tsbuildinfo +0 -1
- package/vitest.config.ts +0 -41
package/dist/vitest.config.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/// <reference types='vitest' />
|
|
2
|
-
import { defineConfig } from "vite";
|
|
3
|
-
import path from "path";
|
|
4
|
-
export default defineConfig({
|
|
5
|
-
resolve: {
|
|
6
|
-
alias: {
|
|
7
|
-
"@": path.resolve(__dirname, "./src"),
|
|
8
|
-
},
|
|
9
|
-
},
|
|
10
|
-
test: {
|
|
11
|
-
globals: true,
|
|
12
|
-
environment: "jsdom",
|
|
13
|
-
include: ["test/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
14
|
-
env: {
|
|
15
|
-
NODE_ENV: "development",
|
|
16
|
-
},
|
|
17
|
-
reporters: ["default"],
|
|
18
|
-
coverage: {
|
|
19
|
-
exclude: [
|
|
20
|
-
"**/node_modules/**",
|
|
21
|
-
"**/dist/**",
|
|
22
|
-
"**/build/**",
|
|
23
|
-
"postcss.config.cjs",
|
|
24
|
-
"tailwind.config.js",
|
|
25
|
-
".eslintrc.js",
|
|
26
|
-
"tsup.config.ts",
|
|
27
|
-
"vitest.config.ts",
|
|
28
|
-
],
|
|
29
|
-
reportsDirectory: "../../coverage/apps/civic-auth-client",
|
|
30
|
-
provider: "v8",
|
|
31
|
-
thresholds: {
|
|
32
|
-
lines: 80,
|
|
33
|
-
functions: 70,
|
|
34
|
-
branches: 85,
|
|
35
|
-
statements: 80,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=vitest.config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,eAAe,YAAY,CAAC;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SACtC;KACF;IAED,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,CAAC,uDAAuD,CAAC;QAClE,GAAG,EAAE;YACH,QAAQ,EAAE,aAAa;SACxB;QACD,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,oBAAoB;gBACpB,YAAY;gBACZ,aAAa;gBACb,oBAAoB;gBACpB,oBAAoB;gBACpB,cAAc;gBACd,gBAAgB;gBAChB,kBAAkB;aACnB;YACD,gBAAgB,EAAE,uCAAuC;YACzD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;aACf;SACF;KACF;CACF,CAAC,CAAC","sourcesContent":["/// <reference types='vitest' />\nimport { defineConfig } from \"vite\";\nimport path from \"path\";\n\nexport default defineConfig({\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n\n test: {\n globals: true,\n environment: \"jsdom\",\n include: [\"test/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}\"],\n env: {\n NODE_ENV: \"development\",\n },\n reporters: [\"default\"],\n coverage: {\n exclude: [\n \"**/node_modules/**\",\n \"**/dist/**\",\n \"**/build/**\",\n \"postcss.config.cjs\",\n \"tailwind.config.js\",\n \".eslintrc.js\",\n \"tsup.config.ts\",\n \"vitest.config.ts\",\n ],\n reportsDirectory: \"../../coverage/apps/civic-auth-client\",\n provider: \"v8\",\n thresholds: {\n lines: 80,\n functions: 70,\n branches: 85,\n statements: 80,\n },\n },\n },\n});\n"]}
|
package/src/browser/storage.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { AuthStorage } from "@/types.js";
|
|
2
|
-
|
|
3
|
-
export class LocalStorageAdapter implements AuthStorage {
|
|
4
|
-
async get(key: string): Promise<string> {
|
|
5
|
-
return Promise.resolve(localStorage.getItem(key) || "");
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
async set(key: string, value: string): Promise<void> {
|
|
9
|
-
localStorage.setItem(key, value);
|
|
10
|
-
}
|
|
11
|
-
}
|
package/src/config.ts
DELETED
package/src/constants.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const DEFAULT_SCOPES = [
|
|
2
|
-
"openid",
|
|
3
|
-
"profile",
|
|
4
|
-
"email",
|
|
5
|
-
"forwardedTokens",
|
|
6
|
-
"offline_access",
|
|
7
|
-
];
|
|
8
|
-
const IFRAME_ID = "civic-auth-iframe";
|
|
9
|
-
|
|
10
|
-
const DEFAULT_AUTH_SERVER = "https://auth.civic.com/oauth";
|
|
11
|
-
|
|
12
|
-
const DEFAULT_OAUTH_GET_PARAMS = ["code", "state", "iss"];
|
|
13
|
-
|
|
14
|
-
// The server's callback handler renders this text if it needs the front-end to make an additional token exchange call,
|
|
15
|
-
// for the iframe case where cookies are not sent along with the initial redirect.
|
|
16
|
-
const TOKEN_EXCHANGE_TRIGGER_TEXT = "sameDomainCodeExchangeRequired";
|
|
17
|
-
|
|
18
|
-
const TOKEN_EXCHANGE_SUCCESS_TEXT = "serverSideTokenExchangeSuccess";
|
|
19
|
-
|
|
20
|
-
const DEFAULT_DISPLAY_MODE = "iframe";
|
|
21
|
-
export {
|
|
22
|
-
DEFAULT_SCOPES,
|
|
23
|
-
DEFAULT_OAUTH_GET_PARAMS,
|
|
24
|
-
DEFAULT_DISPLAY_MODE,
|
|
25
|
-
IFRAME_ID,
|
|
26
|
-
DEFAULT_AUTH_SERVER,
|
|
27
|
-
TOKEN_EXCHANGE_TRIGGER_TEXT,
|
|
28
|
-
TOKEN_EXCHANGE_SUCCESS_TEXT,
|
|
29
|
-
};
|
package/src/index.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// These are the default exports of the project.
|
|
2
|
-
// They are limited by design to ensure that the public API does not expose any internal implementation details.
|
|
3
|
-
// Do not change this without thinking carefully about the impact on the client-facing public API.
|
|
4
|
-
export type {
|
|
5
|
-
Tokens,
|
|
6
|
-
Endpoints,
|
|
7
|
-
Config,
|
|
8
|
-
User,
|
|
9
|
-
DisplayMode,
|
|
10
|
-
ForwardedTokens,
|
|
11
|
-
AuthStorage,
|
|
12
|
-
} from "@/types.js";
|
|
13
|
-
|
|
14
|
-
export type * from "@/shared/lib/types.js";
|
|
15
|
-
|
|
16
|
-
export type { UserContextType } from "@/shared/providers/UserProvider.js";
|
package/src/lib/cookies.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const getWindowCookieValue = ({
|
|
2
|
-
key,
|
|
3
|
-
window,
|
|
4
|
-
parseJson = false,
|
|
5
|
-
}: {
|
|
6
|
-
key: string;
|
|
7
|
-
window: Window;
|
|
8
|
-
parseJson?: boolean;
|
|
9
|
-
}) => {
|
|
10
|
-
const cookie = window.document.cookie;
|
|
11
|
-
if (!cookie) return null;
|
|
12
|
-
const cookies = cookie.split(";");
|
|
13
|
-
for (const c of cookies) {
|
|
14
|
-
const [name, value] = c.trim().split("=");
|
|
15
|
-
if (value && name === key) {
|
|
16
|
-
try {
|
|
17
|
-
const decodeURIComponentValue = decodeURIComponent(value);
|
|
18
|
-
return parseJson
|
|
19
|
-
? JSON.parse(decodeURIComponentValue)
|
|
20
|
-
: decodeURIComponentValue;
|
|
21
|
-
} catch {
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return null;
|
|
27
|
-
};
|
|
28
|
-
export { getWindowCookieValue };
|
package/src/lib/jwt.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ForwardedTokens, ForwardedTokensJWT } from "@/types.js";
|
|
2
|
-
|
|
3
|
-
export const convertForwardedTokenFormat = (
|
|
4
|
-
inputTokens: ForwardedTokensJWT,
|
|
5
|
-
): ForwardedTokens =>
|
|
6
|
-
Object.fromEntries(
|
|
7
|
-
Object.entries(inputTokens).map(([source, tokens]) => [
|
|
8
|
-
source,
|
|
9
|
-
{
|
|
10
|
-
idToken: tokens?.id_token,
|
|
11
|
-
accessToken: tokens?.access_token,
|
|
12
|
-
refreshToken: tokens?.refresh_token,
|
|
13
|
-
},
|
|
14
|
-
]),
|
|
15
|
-
);
|
package/src/lib/logger.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import debug from "debug";
|
|
2
|
-
|
|
3
|
-
const PACKAGE_NAME = "@civic/auth";
|
|
4
|
-
|
|
5
|
-
export interface Logger {
|
|
6
|
-
debug(message: string, ...args: unknown[]): void;
|
|
7
|
-
info(message: string, ...args: unknown[]): void;
|
|
8
|
-
warn(message: string, ...args: unknown[]): void;
|
|
9
|
-
error(message: string, ...args: unknown[]): void;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
class DebugLogger implements Logger {
|
|
13
|
-
private debugLogger: debug.Debugger;
|
|
14
|
-
private infoLogger: debug.Debugger;
|
|
15
|
-
private warnLogger: debug.Debugger;
|
|
16
|
-
private errorLogger: debug.Debugger;
|
|
17
|
-
|
|
18
|
-
constructor(namespace: string) {
|
|
19
|
-
// Format: @org/package:library:component:level
|
|
20
|
-
this.debugLogger = debug(`${PACKAGE_NAME}:${namespace}:debug`);
|
|
21
|
-
this.infoLogger = debug(`${PACKAGE_NAME}:${namespace}:info`);
|
|
22
|
-
this.warnLogger = debug(`${PACKAGE_NAME}:${namespace}:warn`);
|
|
23
|
-
this.errorLogger = debug(`${PACKAGE_NAME}:${namespace}:error`);
|
|
24
|
-
|
|
25
|
-
this.debugLogger.color = "4";
|
|
26
|
-
this.infoLogger.color = "2";
|
|
27
|
-
this.warnLogger.color = "3";
|
|
28
|
-
this.errorLogger.color = "1";
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
debug(message: string, ...args: unknown[]): void {
|
|
32
|
-
this.debugLogger(message, ...args);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
info(message: string, ...args: unknown[]): void {
|
|
36
|
-
this.infoLogger(message, ...args);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
warn(message: string, ...args: unknown[]): void {
|
|
40
|
-
this.warnLogger(message, ...args);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
error(message: string, ...args: unknown[]): void {
|
|
44
|
-
this.errorLogger(message, ...args);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export const createLogger = (namespace: string): Logger =>
|
|
49
|
-
new DebugLogger(namespace);
|
|
50
|
-
|
|
51
|
-
// Pre-configured loggers for different parts of your package
|
|
52
|
-
export const loggers = {
|
|
53
|
-
// Next.js specific loggers
|
|
54
|
-
nextjs: {
|
|
55
|
-
routes: createLogger("api:routes"),
|
|
56
|
-
middleware: createLogger("api:middleware"),
|
|
57
|
-
handlers: {
|
|
58
|
-
auth: createLogger("api:handlers:auth"),
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
// React specific loggers
|
|
62
|
-
react: {
|
|
63
|
-
components: createLogger("react:components"),
|
|
64
|
-
hooks: createLogger("react:hooks"),
|
|
65
|
-
context: createLogger("react:context"),
|
|
66
|
-
},
|
|
67
|
-
// Shared utilities loggers
|
|
68
|
-
services: {
|
|
69
|
-
validation: createLogger("utils:validation"),
|
|
70
|
-
network: createLogger("utils:network"),
|
|
71
|
-
},
|
|
72
|
-
} as const;
|
package/src/lib/oauth.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import type { DisplayMode, Endpoints, OpenIdConfiguration } from "@/types.js";
|
|
2
|
-
import { v4 as uuid } from "uuid";
|
|
3
|
-
|
|
4
|
-
const getIssuerVariations = (issuer: string): string[] => {
|
|
5
|
-
const issuerWithoutSlash = issuer.endsWith("/")
|
|
6
|
-
? issuer.slice(0, issuer.length - 1)
|
|
7
|
-
: issuer;
|
|
8
|
-
|
|
9
|
-
const issuerWithSlash = `${issuerWithoutSlash}/`;
|
|
10
|
-
|
|
11
|
-
return [issuerWithoutSlash, issuerWithSlash];
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const addSlashIfNeeded = (url: string): string =>
|
|
15
|
-
url.endsWith("/") ? url : `${url}/`;
|
|
16
|
-
|
|
17
|
-
const getOauthEndpoints = async (oauthServer: string): Promise<Endpoints> => {
|
|
18
|
-
const openIdConfigResponse = await fetch(
|
|
19
|
-
`${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`,
|
|
20
|
-
);
|
|
21
|
-
const openIdConfig =
|
|
22
|
-
(await openIdConfigResponse.json()) as OpenIdConfiguration;
|
|
23
|
-
return {
|
|
24
|
-
jwks: openIdConfig.jwks_uri,
|
|
25
|
-
auth: openIdConfig.authorization_endpoint,
|
|
26
|
-
token: openIdConfig.token_endpoint,
|
|
27
|
-
userinfo: openIdConfig.userinfo_endpoint,
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* creates a state string for the OAuth2 flow, encoding the display mode too for future use
|
|
33
|
-
* @param {DisplayMode} displayMode
|
|
34
|
-
* @returns {string}
|
|
35
|
-
*/
|
|
36
|
-
const generateState = (
|
|
37
|
-
displayMode: DisplayMode,
|
|
38
|
-
serverTokenExchange?: boolean,
|
|
39
|
-
): string => {
|
|
40
|
-
const jsonString = JSON.stringify({
|
|
41
|
-
uuid: uuid(),
|
|
42
|
-
displayMode,
|
|
43
|
-
...(serverTokenExchange ? { serverTokenExchange } : {}),
|
|
44
|
-
});
|
|
45
|
-
return btoa(jsonString);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* parses the state string from the OAuth2 flow, decoding the display mode too
|
|
50
|
-
* @param state
|
|
51
|
-
* @param sessionDisplayMode
|
|
52
|
-
* @returns { uuid: string, displayMode: DisplayMode }
|
|
53
|
-
*/
|
|
54
|
-
const displayModeFromState = (
|
|
55
|
-
state: string,
|
|
56
|
-
sessionDisplayMode: DisplayMode | undefined,
|
|
57
|
-
): DisplayMode | undefined => {
|
|
58
|
-
try {
|
|
59
|
-
const jsonString = atob(state);
|
|
60
|
-
return JSON.parse(jsonString).displayMode;
|
|
61
|
-
} catch (e) {
|
|
62
|
-
console.error("Failed to parse displayMode from state:", state, e);
|
|
63
|
-
return sessionDisplayMode;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const serverTokenExchangeFromState = (state: string): boolean | undefined => {
|
|
68
|
-
try {
|
|
69
|
-
const jsonString = atob(state);
|
|
70
|
-
return JSON.parse(jsonString).serverTokenExchange;
|
|
71
|
-
} catch {
|
|
72
|
-
console.error("Failed to parse serverTokenExchange from state:", state);
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export {
|
|
78
|
-
serverTokenExchangeFromState,
|
|
79
|
-
getIssuerVariations,
|
|
80
|
-
getOauthEndpoints,
|
|
81
|
-
displayModeFromState,
|
|
82
|
-
generateState,
|
|
83
|
-
};
|
package/src/lib/postMessage.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { LoginPostMessage } from "@/types.js";
|
|
2
|
-
|
|
3
|
-
const validateLoginAppPostMessage = (
|
|
4
|
-
event: LoginPostMessage,
|
|
5
|
-
clientId: string,
|
|
6
|
-
): boolean => {
|
|
7
|
-
const caseEvent = event as LoginPostMessage;
|
|
8
|
-
console.log("caseEvent", caseEvent);
|
|
9
|
-
if (
|
|
10
|
-
!caseEvent.clientId ||
|
|
11
|
-
!caseEvent.data.url ||
|
|
12
|
-
!caseEvent.source ||
|
|
13
|
-
!caseEvent.type ||
|
|
14
|
-
caseEvent.clientId !== clientId ||
|
|
15
|
-
caseEvent.source !== "civicloginApp"
|
|
16
|
-
) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return true;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export { validateLoginAppPostMessage };
|
package/src/lib/windowUtil.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const isWindowInIframe = (window: Window): boolean => {
|
|
2
|
-
if (typeof window !== "undefined") {
|
|
3
|
-
// use the window width to determine if we're in an iframe or not
|
|
4
|
-
try {
|
|
5
|
-
if (window?.frameElement?.id === "civic-auth-iframe") {
|
|
6
|
-
return true;
|
|
7
|
-
}
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
9
|
-
} catch (_e) {
|
|
10
|
-
// If we get an error, we're not in an iframe
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return false;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const removeParamsWithoutReload = (paramsToRemove: string[]) => {
|
|
18
|
-
const url = new URL(window.location.href);
|
|
19
|
-
paramsToRemove.forEach((param: string) => {
|
|
20
|
-
url.searchParams.delete(param);
|
|
21
|
-
});
|
|
22
|
-
try {
|
|
23
|
-
window.history.replaceState({}, "", url);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
console.warn("window.history.replaceState failed", error);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export { isWindowInIframe, removeParamsWithoutReload };
|
package/src/nextjs/GetUser.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Used on the server-side to get the user object from the cookie
|
|
3
|
-
*/
|
|
4
|
-
import type { User } from "@/types.js";
|
|
5
|
-
import { GenericUserSession } from "@/shared/lib/UserSession.js";
|
|
6
|
-
import { NextjsClientStorage } from "@/nextjs/cookies.js";
|
|
7
|
-
import { retrieveTokens } from "@/shared/lib/util.js";
|
|
8
|
-
|
|
9
|
-
export const getUser = async (): Promise<User | null> => {
|
|
10
|
-
const clientStorage = new NextjsClientStorage();
|
|
11
|
-
const userSession = new GenericUserSession(clientStorage);
|
|
12
|
-
const tokens = await retrieveTokens(clientStorage);
|
|
13
|
-
const user = await userSession.get();
|
|
14
|
-
if (!user || !tokens) return null;
|
|
15
|
-
|
|
16
|
-
return {
|
|
17
|
-
...user!,
|
|
18
|
-
idToken: tokens.id_token,
|
|
19
|
-
accessToken: tokens.access_token,
|
|
20
|
-
refreshToken: tokens.refresh_token ?? "",
|
|
21
|
-
} as User;
|
|
22
|
-
};
|
package/src/nextjs/config.ts
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
/* eslint-disable turbo/no-undeclared-env-vars */
|
|
2
|
-
import type { NextConfig } from "next";
|
|
3
|
-
import { loggers } from "@/lib/logger.js";
|
|
4
|
-
import { withoutUndefined } from "@/utils.js";
|
|
5
|
-
import {
|
|
6
|
-
CodeVerifier,
|
|
7
|
-
type CookieConfig,
|
|
8
|
-
OAuthTokens,
|
|
9
|
-
type TokensCookieConfig,
|
|
10
|
-
} from "@/shared/lib/types.js";
|
|
11
|
-
import { DEFAULT_AUTH_SERVER } from "@/constants.js";
|
|
12
|
-
|
|
13
|
-
const logger = loggers.nextjs.handlers.auth;
|
|
14
|
-
|
|
15
|
-
export type CookiesConfigObject = {
|
|
16
|
-
tokens: TokensCookieConfig;
|
|
17
|
-
user: CookieConfig;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export type AuthConfigWithDefaults = {
|
|
21
|
-
clientId: string;
|
|
22
|
-
oauthServer: string;
|
|
23
|
-
callbackUrl: string;
|
|
24
|
-
loginUrl: string;
|
|
25
|
-
logoutUrl: string;
|
|
26
|
-
challengeUrl: string;
|
|
27
|
-
include: string[];
|
|
28
|
-
exclude: string[];
|
|
29
|
-
cookies: CookiesConfigObject;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export type AuthConfig = Partial<AuthConfigWithDefaults>;
|
|
33
|
-
|
|
34
|
-
export type DefinedAuthConfig = AuthConfigWithDefaults;
|
|
35
|
-
|
|
36
|
-
const defaultServerSecure = !(process.env.NODE_ENV === "development");
|
|
37
|
-
/**
|
|
38
|
-
* Default configuration values that will be used if not overridden
|
|
39
|
-
*/
|
|
40
|
-
export const defaultAuthConfig: Omit<AuthConfigWithDefaults, "clientId"> = {
|
|
41
|
-
oauthServer: DEFAULT_AUTH_SERVER,
|
|
42
|
-
callbackUrl: "/api/auth/callback",
|
|
43
|
-
challengeUrl: "/api/auth/challenge",
|
|
44
|
-
logoutUrl: "/api/auth/logout",
|
|
45
|
-
loginUrl: "/",
|
|
46
|
-
include: ["/*"],
|
|
47
|
-
exclude: [],
|
|
48
|
-
cookies: {
|
|
49
|
-
tokens: {
|
|
50
|
-
[OAuthTokens.ID_TOKEN]: {
|
|
51
|
-
secure: defaultServerSecure,
|
|
52
|
-
httpOnly: true,
|
|
53
|
-
sameSite: "strict",
|
|
54
|
-
path: "/",
|
|
55
|
-
},
|
|
56
|
-
[OAuthTokens.ACCESS_TOKEN]: {
|
|
57
|
-
secure: defaultServerSecure,
|
|
58
|
-
httpOnly: true,
|
|
59
|
-
sameSite: "strict",
|
|
60
|
-
path: "/",
|
|
61
|
-
},
|
|
62
|
-
[OAuthTokens.REFRESH_TOKEN]: {
|
|
63
|
-
secure: defaultServerSecure,
|
|
64
|
-
httpOnly: true,
|
|
65
|
-
sameSite: "strict",
|
|
66
|
-
path: "/",
|
|
67
|
-
},
|
|
68
|
-
[CodeVerifier.COOKIE_NAME]: {
|
|
69
|
-
secure: defaultServerSecure,
|
|
70
|
-
httpOnly: true,
|
|
71
|
-
sameSite: "strict",
|
|
72
|
-
path: "/",
|
|
73
|
-
},
|
|
74
|
-
[CodeVerifier.APP_URL]: {
|
|
75
|
-
secure: defaultServerSecure,
|
|
76
|
-
httpOnly: true,
|
|
77
|
-
sameSite: "strict",
|
|
78
|
-
path: "/",
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
user: {
|
|
82
|
-
secure: defaultServerSecure,
|
|
83
|
-
httpOnly: false,
|
|
84
|
-
sameSite: "strict",
|
|
85
|
-
path: "/",
|
|
86
|
-
maxAge: 60 * 60, // 1 hour
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Resolves the authentication configuration by combining:
|
|
93
|
-
* 1. Default values
|
|
94
|
-
* 2. Environment variables (set internally by the plugin)
|
|
95
|
-
* 3. Explicitly passed configuration
|
|
96
|
-
*
|
|
97
|
-
* Note: Developers should not set _civic_auth_* environment variables directly.
|
|
98
|
-
* Instead, pass configuration to the createCivicAuthPlugin in next.config.js:
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```js
|
|
102
|
-
* // next.config.js
|
|
103
|
-
* export default createCivicAuthPlugin({
|
|
104
|
-
* callbackUrl: '/custom/callback',
|
|
105
|
-
* })
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
export const resolveAuthConfig = (
|
|
109
|
-
config: AuthConfig = {},
|
|
110
|
-
): AuthConfigWithDefaults => {
|
|
111
|
-
// Read configuration that was set by the plugin via environment variables
|
|
112
|
-
const configFromEnv = withoutUndefined({
|
|
113
|
-
clientId: process.env._civic_auth_client_id,
|
|
114
|
-
oauthServer: process.env._civic_oauth_server,
|
|
115
|
-
callbackUrl: process.env._civic_auth_callback_url,
|
|
116
|
-
challengeUrl: process.env._civic_auth_challenge_url,
|
|
117
|
-
loginUrl: process.env._civic_auth_login_url,
|
|
118
|
-
logoutUrl: process.env._civic_auth_logout_url,
|
|
119
|
-
include: process.env._civic_auth_includes?.split(","),
|
|
120
|
-
exclude: process.env._civic_auth_excludes?.split(","),
|
|
121
|
-
cookies: process.env._civic_auth_cookie_config
|
|
122
|
-
? JSON.parse(process.env._civic_auth_cookie_config)
|
|
123
|
-
: undefined,
|
|
124
|
-
}) as AuthConfig;
|
|
125
|
-
const mergedConfig = {
|
|
126
|
-
...defaultAuthConfig,
|
|
127
|
-
...configFromEnv, // Apply plugin-set config
|
|
128
|
-
...config, // Override with directly passed config
|
|
129
|
-
cookies: {
|
|
130
|
-
tokens: {
|
|
131
|
-
...defaultAuthConfig.cookies.tokens,
|
|
132
|
-
...(configFromEnv?.cookies?.tokens || {}),
|
|
133
|
-
...(config.cookies?.tokens || {}),
|
|
134
|
-
},
|
|
135
|
-
user: {
|
|
136
|
-
...defaultAuthConfig.cookies.user,
|
|
137
|
-
...(configFromEnv?.cookies?.user || {}),
|
|
138
|
-
...(config.cookies?.user || {}),
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
logger.debug(
|
|
144
|
-
"Config from environment:",
|
|
145
|
-
JSON.stringify(configFromEnv, null, 2),
|
|
146
|
-
);
|
|
147
|
-
logger.debug("Resolved config:", JSON.stringify(mergedConfig, null, 2));
|
|
148
|
-
if (mergedConfig.clientId === undefined) {
|
|
149
|
-
throw new Error("Civic Auth client ID is required");
|
|
150
|
-
}
|
|
151
|
-
return mergedConfig as AuthConfigWithDefaults & { clientId: string };
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Creates a Next.js plugin that handles auth configuration.
|
|
156
|
-
*
|
|
157
|
-
* This is the main configuration point for the auth system.
|
|
158
|
-
* Do not set _civic_auth_* environment variables directly - instead,
|
|
159
|
-
* pass your configuration here:
|
|
160
|
-
*
|
|
161
|
-
* @example
|
|
162
|
-
* ```js
|
|
163
|
-
* // next.config.js
|
|
164
|
-
* export default createCivicAuthPlugin({
|
|
165
|
-
* clientId: 'my-client-id',
|
|
166
|
-
* callbackUrl: '/custom/callback',
|
|
167
|
-
* loginUrl: '/custom/login',
|
|
168
|
-
* logoutUrl: '/custom/logout',
|
|
169
|
-
* include: ['/protected/*'],
|
|
170
|
-
* exclude: ['/public/*']
|
|
171
|
-
* })
|
|
172
|
-
* ```
|
|
173
|
-
*
|
|
174
|
-
* The plugin sets internal environment variables that are used by
|
|
175
|
-
* the auth system. These variables should not be set manually.
|
|
176
|
-
*/
|
|
177
|
-
export const createCivicAuthPlugin = (
|
|
178
|
-
authConfig: AuthConfig & Pick<Required<AuthConfig>, "clientId">,
|
|
179
|
-
) => {
|
|
180
|
-
return (nextConfig?: NextConfig) => {
|
|
181
|
-
logger.debug(
|
|
182
|
-
"createCivicAuthPlugin nextConfig",
|
|
183
|
-
JSON.stringify(nextConfig, null, 2),
|
|
184
|
-
);
|
|
185
|
-
const resolvedConfig = resolveAuthConfig({ ...authConfig });
|
|
186
|
-
return {
|
|
187
|
-
...nextConfig,
|
|
188
|
-
env: {
|
|
189
|
-
...nextConfig?.env,
|
|
190
|
-
// Internal environment variables - do not set these manually
|
|
191
|
-
_civic_auth_client_id: resolvedConfig.clientId,
|
|
192
|
-
_civic_oauth_server: resolvedConfig.oauthServer,
|
|
193
|
-
_civic_auth_callback_url: resolvedConfig.callbackUrl,
|
|
194
|
-
_civic_auth_challenge_url: resolvedConfig.challengeUrl,
|
|
195
|
-
_civic_auth_login_url: resolvedConfig.loginUrl,
|
|
196
|
-
_civic_auth_logout_url: resolvedConfig.logoutUrl,
|
|
197
|
-
_civic_auth_includes: resolvedConfig.include.join(","),
|
|
198
|
-
_civic_auth_excludes: resolvedConfig.exclude.join(","),
|
|
199
|
-
_civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),
|
|
200
|
-
},
|
|
201
|
-
};
|
|
202
|
-
};
|
|
203
|
-
};
|