@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.
- package/README.md +0 -26
- package/dist/index-DFVNodC9.d.mts +66 -0
- package/dist/index-DFVNodC9.d.ts +66 -0
- package/dist/index.css +339 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/nextjs.d.mts +239 -0
- package/dist/nextjs.d.ts +239 -0
- package/dist/nextjs.js +927 -0
- package/dist/nextjs.js.map +1 -0
- package/dist/nextjs.mjs +888 -0
- package/dist/nextjs.mjs.map +1 -0
- package/dist/react.d.mts +118 -0
- package/dist/react.d.ts +118 -0
- package/dist/react.js +1429 -0
- package/dist/react.js.map +1 -0
- package/dist/react.mjs +1391 -0
- package/dist/react.mjs.map +1 -0
- package/package.json +32 -57
- package/.eslintignore +0 -3
- package/.eslintrc.json +0 -10
- package/.prettierignore +0 -3
- package/.prettierrc +0 -4
- package/.turbo/turbo-build.log +0 -13
- package/.turbo/turbo-lint.log +0 -6
- package/.turbo/turbo-test.log +0 -2415
- package/civic-auth-0.0.1-beta.21.tgz +0 -0
- package/dist/cjs/src/browser/storage.d.ts +0 -6
- package/dist/cjs/src/browser/storage.d.ts.map +0 -1
- package/dist/cjs/src/browser/storage.js +0 -13
- package/dist/cjs/src/browser/storage.js.map +0 -1
- package/dist/cjs/src/config.d.ts +0 -3
- package/dist/cjs/src/config.d.ts.map +0 -1
- package/dist/cjs/src/config.js +0 -8
- package/dist/cjs/src/config.js.map +0 -1
- package/dist/cjs/src/constants.d.ts +0 -9
- package/dist/cjs/src/constants.d.ts.map +0 -1
- package/dist/cjs/src/constants.js +0 -26
- package/dist/cjs/src/constants.js.map +0 -1
- package/dist/cjs/src/index.d.ts +0 -5
- package/dist/cjs/src/index.d.ts.map +0 -1
- package/dist/cjs/src/index.js +0 -5
- package/dist/cjs/src/index.js.map +0 -1
- package/dist/cjs/src/lib/cookies.d.ts +0 -7
- package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
- package/dist/cjs/src/lib/cookies.js +0 -26
- package/dist/cjs/src/lib/cookies.js.map +0 -1
- package/dist/cjs/src/lib/jwt.d.ts +0 -3
- package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
- package/dist/cjs/src/lib/jwt.js +0 -13
- package/dist/cjs/src/lib/jwt.js.map +0 -1
- package/dist/cjs/src/lib/logger.d.ts +0 -26
- package/dist/cjs/src/lib/logger.d.ts.map +0 -1
- package/dist/cjs/src/lib/logger.js +0 -62
- package/dist/cjs/src/lib/logger.js.map +0 -1
- package/dist/cjs/src/lib/oauth.d.ts +0 -19
- package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
- package/dist/cjs/src/lib/oauth.js +0 -67
- package/dist/cjs/src/lib/oauth.js.map +0 -1
- package/dist/cjs/src/lib/postMessage.d.ts +0 -4
- package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
- package/dist/cjs/src/lib/postMessage.js +0 -18
- package/dist/cjs/src/lib/postMessage.js.map +0 -1
- package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
- package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/cjs/src/lib/windowUtil.js +0 -34
- package/dist/cjs/src/lib/windowUtil.js.map +0 -1
- package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
- package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/GetUser.js +0 -22
- package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
- package/dist/cjs/src/nextjs/client/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/client/index.js +0 -6
- package/dist/cjs/src/nextjs/client/index.js.map +0 -1
- package/dist/cjs/src/nextjs/config.d.ts +0 -180
- package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/config.js +0 -163
- package/dist/cjs/src/nextjs/config.js.map +0 -1
- package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
- package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/cookies.js +0 -116
- package/dist/cjs/src/nextjs/cookies.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/index.js +0 -6
- package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/cjs/src/nextjs/index.d.ts +0 -7
- package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/index.js +0 -20
- package/dist/cjs/src/nextjs/index.js.map +0 -1
- package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/middleware/index.js +0 -8
- package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
- package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
- package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/middleware.js +0 -116
- package/dist/cjs/src/nextjs/middleware.js.map +0 -1
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -77
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/routeHandler.js +0 -208
- package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
- package/dist/cjs/src/nextjs/utils.d.ts +0 -3
- package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/utils.js +0 -10
- package/dist/cjs/src/nextjs/utils.js.map +0 -1
- package/dist/cjs/src/nextjs/worker/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/worker/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/worker/index.js +0 -8
- package/dist/cjs/src/nextjs/worker/index.js.map +0 -1
- package/dist/cjs/src/reactjs/components/NextLogOut.d.ts +0 -7
- package/dist/cjs/src/reactjs/components/NextLogOut.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/NextLogOut.js +0 -18
- package/dist/cjs/src/reactjs/components/NextLogOut.js.map +0 -1
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/SignInButton.js +0 -16
- package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -16
- package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/UserButton.js +0 -84
- package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
- package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/index.js +0 -14
- package/dist/cjs/src/reactjs/components/index.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -9
- package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.js +0 -20
- package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
- package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
- package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/cjs/src/reactjs/index.d.ts +0 -6
- package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/index.js +0 -30
- package/dist/cjs/src/reactjs/index.js.map +0 -1
- package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
- package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/providers/index.js +0 -19
- package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -66
- package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/cjs/src/server/config.d.ts +0 -16
- package/dist/cjs/src/server/config.d.ts.map +0 -1
- package/dist/cjs/src/server/config.js +0 -3
- package/dist/cjs/src/server/config.js.map +0 -1
- package/dist/cjs/src/server/index.d.ts +0 -6
- package/dist/cjs/src/server/index.d.ts.map +0 -1
- package/dist/cjs/src/server/index.js +0 -14
- package/dist/cjs/src/server/index.js.map +0 -1
- package/dist/cjs/src/server/login.d.ts +0 -17
- package/dist/cjs/src/server/login.d.ts.map +0 -1
- package/dist/cjs/src/server/login.js +0 -42
- package/dist/cjs/src/server/login.js.map +0 -1
- package/dist/cjs/src/server/refresh.d.ts +0 -7
- package/dist/cjs/src/server/refresh.d.ts.map +0 -1
- package/dist/cjs/src/server/refresh.js +0 -16
- package/dist/cjs/src/server/refresh.js.map +0 -1
- package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
- package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/cjs/src/services/AuthenticationService.js +0 -228
- package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
- package/dist/cjs/src/services/PKCE.d.ts +0 -20
- package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
- package/dist/cjs/src/services/PKCE.js +0 -50
- package/dist/cjs/src/services/PKCE.js.map +0 -1
- package/dist/cjs/src/services/types.d.ts +0 -23
- package/dist/cjs/src/services/types.d.ts.map +0 -1
- package/dist/cjs/src/services/types.js +0 -11
- package/dist/cjs/src/services/types.js.map +0 -1
- package/dist/cjs/src/shared/AuthContext.d.ts +0 -10
- package/dist/cjs/src/shared/AuthContext.d.ts.map +0 -1
- package/dist/cjs/src/shared/AuthContext.js +0 -6
- package/dist/cjs/src/shared/AuthContext.js.map +0 -1
- package/dist/cjs/src/shared/AuthProvider.d.ts +0 -18
- package/dist/cjs/src/shared/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/AuthProvider.js +0 -276
- package/dist/cjs/src/shared/AuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts +0 -7
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/CivicAuthProvider.js +0 -23
- package/dist/cjs/src/shared/CivicAuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +0 -47
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/cjs/src/shared/UserProvider.d.ts +0 -18
- package/dist/cjs/src/shared/UserProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/UserProvider.js +0 -65
- package/dist/cjs/src/shared/UserProvider.js.map +0 -1
- package/dist/cjs/src/shared/UserSession.d.ts +0 -12
- package/dist/cjs/src/shared/UserSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/UserSession.js +0 -24
- package/dist/cjs/src/shared/UserSession.js.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
- package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -117
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
- package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/LoadingIcon.js +0 -14
- package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
- package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/index.js +0 -12
- package/dist/cjs/src/shared/hooks/index.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
- package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
- package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
- package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useSession.js +0 -16
- package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useToken.js +0 -15
- package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -47
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/UserSession.js +0 -24
- package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
- package/dist/cjs/src/shared/lib/session.d.ts +0 -3
- package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/session.js +0 -13
- package/dist/cjs/src/shared/lib/session.js.map +0 -1
- package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
- package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/storage.js +0 -21
- package/dist/cjs/src/shared/lib/storage.js.map +0 -1
- package/dist/cjs/src/shared/lib/types.d.ts +0 -21
- package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/types.js +0 -18
- package/dist/cjs/src/shared/lib/types.js.map +0 -1
- package/dist/cjs/src/shared/lib/util.d.ts +0 -33
- package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/util.js +0 -164
- package/dist/cjs/src/shared/lib/util.js.map +0 -1
- package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
- package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.js +0 -271
- package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -23
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
- package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
- package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
- package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
- package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
- package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/cjs/src/shared/session.d.ts +0 -3
- package/dist/cjs/src/shared/session.d.ts.map +0 -1
- package/dist/cjs/src/shared/session.js +0 -13
- package/dist/cjs/src/shared/session.js.map +0 -1
- package/dist/cjs/src/shared/storage.d.ts +0 -25
- package/dist/cjs/src/shared/storage.d.ts.map +0 -1
- package/dist/cjs/src/shared/storage.js +0 -21
- package/dist/cjs/src/shared/storage.js.map +0 -1
- package/dist/cjs/src/shared/types.d.ts +0 -21
- package/dist/cjs/src/shared/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/types.js +0 -18
- package/dist/cjs/src/shared/types.js.map +0 -1
- package/dist/cjs/src/shared/util.d.ts +0 -33
- package/dist/cjs/src/shared/util.d.ts.map +0 -1
- package/dist/cjs/src/shared/util.js +0 -164
- package/dist/cjs/src/shared/util.js.map +0 -1
- package/dist/cjs/src/types.d.ts +0 -146
- package/dist/cjs/src/types.d.ts.map +0 -1
- package/dist/cjs/src/types.js +0 -3
- package/dist/cjs/src/types.js.map +0 -1
- package/dist/cjs/src/utils.d.ts +0 -17
- package/dist/cjs/src/utils.d.ts.map +0 -1
- package/dist/cjs/src/utils.js +0 -53
- package/dist/cjs/src/utils.js.map +0 -1
- package/dist/cjs/src/worker/index.d.ts +0 -2
- package/dist/cjs/src/worker/index.d.ts.map +0 -1
- package/dist/cjs/src/worker/index.js +0 -8
- package/dist/cjs/src/worker/index.js.map +0 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +0 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/esm/src/browser/storage.d.ts +0 -6
- package/dist/esm/src/browser/storage.d.ts.map +0 -1
- package/dist/esm/src/browser/storage.js +0 -9
- package/dist/esm/src/browser/storage.js.map +0 -1
- package/dist/esm/src/config.d.ts +0 -3
- package/dist/esm/src/config.d.ts.map +0 -1
- package/dist/esm/src/config.js +0 -5
- package/dist/esm/src/config.js.map +0 -1
- package/dist/esm/src/constants.d.ts +0 -9
- package/dist/esm/src/constants.d.ts.map +0 -1
- package/dist/esm/src/constants.js +0 -17
- package/dist/esm/src/constants.js.map +0 -1
- package/dist/esm/src/index.d.ts +0 -5
- package/dist/esm/src/index.d.ts.map +0 -1
- package/dist/esm/src/index.js +0 -3
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/lib/cookies.d.ts +0 -7
- package/dist/esm/src/lib/cookies.d.ts.map +0 -1
- package/dist/esm/src/lib/cookies.js +0 -23
- package/dist/esm/src/lib/cookies.js.map +0 -1
- package/dist/esm/src/lib/jwt.d.ts +0 -3
- package/dist/esm/src/lib/jwt.d.ts.map +0 -1
- package/dist/esm/src/lib/jwt.js +0 -9
- package/dist/esm/src/lib/jwt.js.map +0 -1
- package/dist/esm/src/lib/logger.d.ts +0 -26
- package/dist/esm/src/lib/logger.d.ts.map +0 -1
- package/dist/esm/src/lib/logger.js +0 -55
- package/dist/esm/src/lib/logger.js.map +0 -1
- package/dist/esm/src/lib/oauth.d.ts +0 -19
- package/dist/esm/src/lib/oauth.d.ts.map +0 -1
- package/dist/esm/src/lib/oauth.js +0 -60
- package/dist/esm/src/lib/oauth.js.map +0 -1
- package/dist/esm/src/lib/postMessage.d.ts +0 -4
- package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
- package/dist/esm/src/lib/postMessage.js +0 -15
- package/dist/esm/src/lib/postMessage.js.map +0 -1
- package/dist/esm/src/lib/windowUtil.d.ts +0 -4
- package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/esm/src/lib/windowUtil.js +0 -30
- package/dist/esm/src/lib/windowUtil.js.map +0 -1
- package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
- package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/esm/src/nextjs/GetUser.js +0 -18
- package/dist/esm/src/nextjs/GetUser.js.map +0 -1
- package/dist/esm/src/nextjs/client/index.d.ts +0 -2
- package/dist/esm/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/client/index.js +0 -2
- package/dist/esm/src/nextjs/client/index.js.map +0 -1
- package/dist/esm/src/nextjs/config.d.ts +0 -180
- package/dist/esm/src/nextjs/config.d.ts.map +0 -1
- package/dist/esm/src/nextjs/config.js +0 -158
- package/dist/esm/src/nextjs/config.js.map +0 -1
- package/dist/esm/src/nextjs/cookies.d.ts +0 -30
- package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/esm/src/nextjs/cookies.js +0 -109
- package/dist/esm/src/nextjs/cookies.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/index.js +0 -2
- package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
- package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/esm/src/nextjs/index.d.ts +0 -7
- package/dist/esm/src/nextjs/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/index.js +0 -6
- package/dist/esm/src/nextjs/index.js.map +0 -1
- package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/middleware/index.js +0 -2
- package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
- package/dist/esm/src/nextjs/middleware.d.ts +0 -59
- package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
- package/dist/esm/src/nextjs/middleware.js +0 -107
- package/dist/esm/src/nextjs/middleware.js.map +0 -1
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -51
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/esm/src/nextjs/routeHandler.js +0 -203
- package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
- package/dist/esm/src/nextjs/utils.d.ts +0 -3
- package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
- package/dist/esm/src/nextjs/utils.js +0 -6
- package/dist/esm/src/nextjs/utils.js.map +0 -1
- package/dist/esm/src/nextjs/worker/index.d.ts +0 -2
- package/dist/esm/src/nextjs/worker/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/worker/index.js +0 -2
- package/dist/esm/src/nextjs/worker/index.js.map +0 -1
- package/dist/esm/src/reactjs/components/NextLogOut.d.ts +0 -7
- package/dist/esm/src/reactjs/components/NextLogOut.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/NextLogOut.js +0 -12
- package/dist/esm/src/reactjs/components/NextLogOut.js.map +0 -1
- package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/SignInButton.js +0 -10
- package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/SignOutButton.js +0 -10
- package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/UserButton.js +0 -58
- package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/index.d.ts +0 -6
- package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/index.js +0 -6
- package/dist/esm/src/reactjs/components/index.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.d.ts +0 -9
- package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.js +0 -9
- package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
- package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
- package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/esm/src/reactjs/index.d.ts +0 -6
- package/dist/esm/src/reactjs/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/index.js +0 -8
- package/dist/esm/src/reactjs/index.js.map +0 -1
- package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
- package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/providers/index.js +0 -7
- package/dist/esm/src/reactjs/providers/index.js.map +0 -1
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -62
- package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/esm/src/server/config.d.ts +0 -16
- package/dist/esm/src/server/config.d.ts.map +0 -1
- package/dist/esm/src/server/config.js +0 -2
- package/dist/esm/src/server/config.js.map +0 -1
- package/dist/esm/src/server/index.d.ts +0 -6
- package/dist/esm/src/server/index.d.ts.map +0 -1
- package/dist/esm/src/server/index.js +0 -5
- package/dist/esm/src/server/index.js.map +0 -1
- package/dist/esm/src/server/login.d.ts +0 -17
- package/dist/esm/src/server/login.d.ts.map +0 -1
- package/dist/esm/src/server/login.js +0 -37
- package/dist/esm/src/server/login.js.map +0 -1
- package/dist/esm/src/server/refresh.d.ts +0 -7
- package/dist/esm/src/server/refresh.d.ts.map +0 -1
- package/dist/esm/src/server/refresh.js +0 -13
- package/dist/esm/src/server/refresh.js.map +0 -1
- package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
- package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/esm/src/services/AuthenticationService.js +0 -222
- package/dist/esm/src/services/AuthenticationService.js.map +0 -1
- package/dist/esm/src/services/PKCE.d.ts +0 -20
- package/dist/esm/src/services/PKCE.d.ts.map +0 -1
- package/dist/esm/src/services/PKCE.js +0 -44
- package/dist/esm/src/services/PKCE.js.map +0 -1
- package/dist/esm/src/services/types.d.ts +0 -23
- package/dist/esm/src/services/types.d.ts.map +0 -1
- package/dist/esm/src/services/types.js +0 -7
- package/dist/esm/src/services/types.js.map +0 -1
- package/dist/esm/src/shared/AuthContext.d.ts +0 -10
- package/dist/esm/src/shared/AuthContext.d.ts.map +0 -1
- package/dist/esm/src/shared/AuthContext.js +0 -3
- package/dist/esm/src/shared/AuthContext.js.map +0 -1
- package/dist/esm/src/shared/AuthProvider.d.ts +0 -18
- package/dist/esm/src/shared/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/AuthProvider.js +0 -250
- package/dist/esm/src/shared/AuthProvider.js.map +0 -1
- package/dist/esm/src/shared/CivicAuthProvider.d.ts +0 -7
- package/dist/esm/src/shared/CivicAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/CivicAuthProvider.js +0 -17
- package/dist/esm/src/shared/CivicAuthProvider.js.map +0 -1
- package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/esm/src/shared/GenericAuthenticationRefresher.js +0 -43
- package/dist/esm/src/shared/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/esm/src/shared/UserProvider.d.ts +0 -18
- package/dist/esm/src/shared/UserProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/UserProvider.js +0 -38
- package/dist/esm/src/shared/UserProvider.js.map +0 -1
- package/dist/esm/src/shared/UserSession.d.ts +0 -12
- package/dist/esm/src/shared/UserSession.d.ts.map +0 -1
- package/dist/esm/src/shared/UserSession.js +0 -20
- package/dist/esm/src/shared/UserSession.js.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
- package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -91
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CloseIcon.js +0 -6
- package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/esm/src/shared/components/LoadingIcon.js +0 -8
- package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/esm/src/shared/hooks/index.d.ts +0 -5
- package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/index.js +0 -5
- package/dist/esm/src/shared/hooks/index.js.map +0 -1
- package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useAuth.js +0 -12
- package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useConfig.js +0 -13
- package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useIframe.js +0 -13
- package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useSession.js +0 -13
- package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
- package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useToken.js +0 -12
- package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/UserSession.js +0 -20
- package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
- package/dist/esm/src/shared/lib/session.d.ts +0 -3
- package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/session.js +0 -10
- package/dist/esm/src/shared/lib/session.js.map +0 -1
- package/dist/esm/src/shared/lib/storage.d.ts +0 -25
- package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/storage.js +0 -17
- package/dist/esm/src/shared/lib/storage.js.map +0 -1
- package/dist/esm/src/shared/lib/types.d.ts +0 -21
- package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/types.js +0 -15
- package/dist/esm/src/shared/lib/types.js.map +0 -1
- package/dist/esm/src/shared/lib/util.d.ts +0 -33
- package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/util.js +0 -128
- package/dist/esm/src/shared/lib/util.js.map +0 -1
- package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthContext.js +0 -3
- package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.js +0 -245
- package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -17
- package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
- package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
- package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
- package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
- package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/UserProvider.js +0 -38
- package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/esm/src/shared/session.d.ts +0 -3
- package/dist/esm/src/shared/session.d.ts.map +0 -1
- package/dist/esm/src/shared/session.js +0 -10
- package/dist/esm/src/shared/session.js.map +0 -1
- package/dist/esm/src/shared/storage.d.ts +0 -25
- package/dist/esm/src/shared/storage.d.ts.map +0 -1
- package/dist/esm/src/shared/storage.js +0 -17
- package/dist/esm/src/shared/storage.js.map +0 -1
- package/dist/esm/src/shared/types.d.ts +0 -21
- package/dist/esm/src/shared/types.d.ts.map +0 -1
- package/dist/esm/src/shared/types.js +0 -15
- package/dist/esm/src/shared/types.js.map +0 -1
- package/dist/esm/src/shared/util.d.ts +0 -33
- package/dist/esm/src/shared/util.d.ts.map +0 -1
- package/dist/esm/src/shared/util.js +0 -128
- package/dist/esm/src/shared/util.js.map +0 -1
- package/dist/esm/src/types.d.ts +0 -146
- package/dist/esm/src/types.d.ts.map +0 -1
- package/dist/esm/src/types.js +0 -2
- package/dist/esm/src/types.js.map +0 -1
- package/dist/esm/src/utils.d.ts +0 -17
- package/dist/esm/src/utils.d.ts.map +0 -1
- package/dist/esm/src/utils.js +0 -48
- package/dist/esm/src/utils.js.map +0 -1
- package/dist/esm/src/worker/index.d.ts +0 -2
- package/dist/esm/src/worker/index.d.ts.map +0 -1
- package/dist/esm/src/worker/index.js +0 -2
- package/dist/esm/src/worker/index.js.map +0 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
- package/postcss.config.cjs +0 -6
- package/src/browser/storage.ts +0 -11
- package/src/config.ts +0 -6
- package/src/constants.ts +0 -29
- package/src/index.ts +0 -18
- 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/client/index.ts +0 -4
- package/src/nextjs/config.ts +0 -203
- package/src/nextjs/cookies.ts +0 -166
- 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 -24
- package/src/nextjs/middleware/index.ts +0 -1
- package/src/nextjs/middleware.ts +0 -155
- package/src/nextjs/providers/NextAuthProvider.tsx +0 -89
- package/src/nextjs/routeHandler.ts +0 -276
- package/src/nextjs/utils.ts +0 -10
- package/src/reactjs/components/SignInButton.tsx +0 -30
- package/src/reactjs/components/SignOutButton.tsx +0 -22
- package/src/reactjs/components/UserButton.tsx +0 -153
- package/src/reactjs/components/index.ts +0 -5
- package/src/reactjs/hooks/index.ts +0 -8
- 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 -17
- package/src/server/index.ts +0 -12
- package/src/server/login.ts +0 -58
- package/src/server/refresh.ts +0 -23
- package/src/services/AuthenticationService.ts +0 -334
- package/src/services/PKCE.ts +0 -43
- package/src/services/types.ts +0 -54
- package/src/shared/components/CivicAuthIframe.tsx +0 -26
- package/src/shared/components/CivicAuthIframeContainer.tsx +0 -150
- package/src/shared/components/CloseIcon.tsx +0 -21
- package/src/shared/components/LoadingIcon.tsx +0 -25
- 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 -25
- package/src/shared/lib/util.ts +0 -217
- package/src/shared/providers/AuthContext.tsx +0 -11
- package/src/shared/providers/AuthProvider.tsx +0 -364
- package/src/shared/providers/CivicAuthProvider.tsx +0 -34
- 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/styles.css +0 -3
- package/src/types.ts +0 -227
- package/src/utils.ts +0 -65
- package/tailwind.config.js +0 -8
- 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 -201
- 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 +0 -369
- package/test/unit/nextjs/utils.test.ts +0 -26
- package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -19
- 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 -179
- 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 -110
- 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 -5
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -7
- package/tsconfig.json +0 -42
- package/vitest.config.ts +0 -41
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handler = void 0;
|
|
4
|
-
exports.handleLogout = handleLogout;
|
|
5
|
-
const server_js_1 = require("next/server.js");
|
|
6
|
-
const cache_js_1 = require("next/cache.js");
|
|
7
|
-
const config_js_1 = require("../nextjs/config.js");
|
|
8
|
-
const logger_js_1 = require("../lib/logger.js");
|
|
9
|
-
const cookies_js_1 = require("../nextjs/cookies.js");
|
|
10
|
-
const PKCE_js_1 = require("../services/PKCE.js");
|
|
11
|
-
const login_js_1 = require("../server/login.js");
|
|
12
|
-
const session_js_1 = require("../shared/lib/session.js");
|
|
13
|
-
const utils_js_1 = require("../nextjs/utils.js");
|
|
14
|
-
const UserSession_js_1 = require("../shared/lib/UserSession.js");
|
|
15
|
-
const constants_js_1 = require("../constants.js");
|
|
16
|
-
const oauth_js_1 = require("../lib/oauth.js");
|
|
17
|
-
const headers_js_1 = require("next/headers.js");
|
|
18
|
-
const types_js_1 = require("../shared/lib/types.js");
|
|
19
|
-
const logger = logger_js_1.loggers.nextjs.handlers.auth;
|
|
20
|
-
class AuthError extends Error {
|
|
21
|
-
status;
|
|
22
|
-
constructor(message, status = 401) {
|
|
23
|
-
super(message);
|
|
24
|
-
this.status = status;
|
|
25
|
-
this.name = "AuthError";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* create a code verifier and challenge for PKCE
|
|
30
|
-
* saving the verifier in a cookie for later use
|
|
31
|
-
* @returns {Promise<NextResponse>}
|
|
32
|
-
*/
|
|
33
|
-
async function handleChallenge(config) {
|
|
34
|
-
const cookieStorage = new cookies_js_1.NextjsCookieStorage(config.cookies?.tokens ?? {});
|
|
35
|
-
const pkceProducer = new PKCE_js_1.GenericPublicClientPKCEProducer(cookieStorage);
|
|
36
|
-
const challenge = await pkceProducer.getCodeChallenge();
|
|
37
|
-
return server_js_1.NextResponse.json({ status: "success", challenge });
|
|
38
|
-
}
|
|
39
|
-
async function performTokenExchangeAndSetCookies(request, config, code, state) {
|
|
40
|
-
const resolvedConfigs = (0, config_js_1.resolveAuthConfig)(config);
|
|
41
|
-
const cookieStorage = new cookies_js_1.NextjsCookieStorage(resolvedConfigs.cookies.tokens);
|
|
42
|
-
const callbackUrl = (0, utils_js_1.resolveCallbackUrl)(resolvedConfigs, request.url);
|
|
43
|
-
try {
|
|
44
|
-
await (0, login_js_1.resolveOAuthAccessCode)(code, state, cookieStorage, {
|
|
45
|
-
...resolvedConfigs,
|
|
46
|
-
redirectUrl: callbackUrl,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
logger.error("Token exchange failed:", error);
|
|
51
|
-
throw new AuthError("Failed to authenticate user", 401);
|
|
52
|
-
}
|
|
53
|
-
const user = await (0, session_js_1.getUser)(cookieStorage);
|
|
54
|
-
if (!user) {
|
|
55
|
-
throw new AuthError("Failed to get user info", 401);
|
|
56
|
-
}
|
|
57
|
-
const clientStorage = new cookies_js_1.NextjsClientStorage();
|
|
58
|
-
const userSession = new UserSession_js_1.GenericUserSession(clientStorage);
|
|
59
|
-
userSession.set(user);
|
|
60
|
-
}
|
|
61
|
-
async function handleCallback(request, config) {
|
|
62
|
-
const resolvedConfigs = (0, config_js_1.resolveAuthConfig)(config);
|
|
63
|
-
console.log("handleCallback", { request, resolvedConfigs });
|
|
64
|
-
const code = request.nextUrl.searchParams.get("code");
|
|
65
|
-
const state = request.nextUrl.searchParams.get("state") || "";
|
|
66
|
-
if (!code || !state)
|
|
67
|
-
throw new AuthError("Bad parameters", 400);
|
|
68
|
-
// If we have a code_verifier cookie, we can do a token exchange.
|
|
69
|
-
// Otherwise, just render an empty page.
|
|
70
|
-
// The initial redirect back from the auth server does not send cookies, because the redirect is from a 3rd-party domain.
|
|
71
|
-
// The client will make an additional call to this route with cookies included, at which point we do the token exchange.
|
|
72
|
-
console.log("handleCallback", { code, state, cookies: (0, headers_js_1.cookies)() });
|
|
73
|
-
if (!request.cookies.get(types_js_1.CodeVerifier.COOKIE_NAME)) {
|
|
74
|
-
console.log("handleCallback no code_verifier found", {
|
|
75
|
-
state,
|
|
76
|
-
serverTokenExchange: (0, oauth_js_1.serverTokenExchangeFromState)(`${state}`),
|
|
77
|
-
});
|
|
78
|
-
let response = new server_js_1.NextResponse(`<html><body><span style="display:none">${constants_js_1.TOKEN_EXCHANGE_TRIGGER_TEXT}</span></body></html>`);
|
|
79
|
-
// in server-side token exchange mode we need to launch a page that will trigger the token exchange
|
|
80
|
-
// from the same domain, allowing it access to the code_verifier cookie
|
|
81
|
-
// we only need to do this in redirect mode, as the iframe already triggers a client-side token exchange
|
|
82
|
-
// if no code-verifier cookie is found
|
|
83
|
-
if (state && (0, oauth_js_1.serverTokenExchangeFromState)(state)) {
|
|
84
|
-
console.log("handleCallback serverTokenExchangeFromState, launching redirect page...", {
|
|
85
|
-
requestUrl: request.url,
|
|
86
|
-
configCallbackUrl: resolvedConfigs.callbackUrl,
|
|
87
|
-
});
|
|
88
|
-
// we need to replace the URL with resolved config in case the server is hosted
|
|
89
|
-
// behind a reverse proxy or load balancer
|
|
90
|
-
const requestUrl = new URL(request.url);
|
|
91
|
-
const fetchUrl = `${resolvedConfigs.callbackUrl}?${requestUrl.searchParams.toString()}&sameDomainServerTokenExchange=true`;
|
|
92
|
-
response = new server_js_1.NextResponse(`<html>
|
|
93
|
-
<body>
|
|
94
|
-
<span style="display:none">
|
|
95
|
-
<script>
|
|
96
|
-
window.onload = function () {
|
|
97
|
-
fetch('${fetchUrl}').then((response) => {
|
|
98
|
-
response.json().then((jsonResponse) => {
|
|
99
|
-
console.log('fetch jsonResponse', jsonResponse);
|
|
100
|
-
if (jsonResponse.redirectUrl) {
|
|
101
|
-
console.log('handleCallback serverTokenExchangeFromState, redirecting');
|
|
102
|
-
window.location.href = jsonResponse.redirectUrl;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
</script>
|
|
108
|
-
</span>
|
|
109
|
-
</body>
|
|
110
|
-
</html>
|
|
111
|
-
`);
|
|
112
|
-
}
|
|
113
|
-
response.headers.set("Content-Type", "text/html; charset=utf-8");
|
|
114
|
-
console.log(`handleCallback no code_verifier found, returning ${constants_js_1.TOKEN_EXCHANGE_TRIGGER_TEXT}`);
|
|
115
|
-
return response;
|
|
116
|
-
}
|
|
117
|
-
await performTokenExchangeAndSetCookies(request, resolvedConfigs, code, state);
|
|
118
|
-
if (request.url.includes("sameDomainServerTokenExchange=true")) {
|
|
119
|
-
console.log("handleCallback sameDomainServerTokenExchange = true, returnining redirectUrl", resolvedConfigs.appUrl);
|
|
120
|
-
return server_js_1.NextResponse.json({
|
|
121
|
-
status: "success",
|
|
122
|
-
redirectUrl: resolvedConfigs.appUrl,
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
// this is the case where a 'normal' redirect is happening
|
|
126
|
-
if ((0, oauth_js_1.serverTokenExchangeFromState)(state)) {
|
|
127
|
-
console.log("handleCallback serverTokenExchangeFromState, redirect to config.appUrl", resolvedConfigs.appUrl);
|
|
128
|
-
if (!resolvedConfigs.appUrl) {
|
|
129
|
-
throw new Error("appUrl not defined in config. Cannot redirect.");
|
|
130
|
-
}
|
|
131
|
-
return server_js_1.NextResponse.redirect(`${resolvedConfigs.appUrl}`);
|
|
132
|
-
}
|
|
133
|
-
// return an empty HTML response so the iframe doesn't show any response
|
|
134
|
-
// in the short moment between the redirect and the parent window
|
|
135
|
-
// acknowledging the redirect and closing the iframe
|
|
136
|
-
const response = new server_js_1.NextResponse(`<html><span style="display:none">${constants_js_1.TOKEN_EXCHANGE_SUCCESS_TEXT}</span></html>`);
|
|
137
|
-
response.headers.set("Content-Type", "text/html; charset=utf-8");
|
|
138
|
-
return response;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* If redirectPath is an absolute path, return it as-is.
|
|
142
|
-
* Otherwise for relative paths, append it to the current domain.
|
|
143
|
-
* @param redirectPath
|
|
144
|
-
* @returns
|
|
145
|
-
*/
|
|
146
|
-
const getAbsoluteRedirectPath = (redirectPath, currentBasePath) => {
|
|
147
|
-
// Check if the redirectPath is an absolute URL
|
|
148
|
-
if (/^(https?:\/\/|www\.).+/i.test(redirectPath)) {
|
|
149
|
-
return redirectPath; // Return as-is if it's an absolute URL
|
|
150
|
-
}
|
|
151
|
-
return new URL(redirectPath, currentBasePath).href;
|
|
152
|
-
};
|
|
153
|
-
async function handleLogout(request, config) {
|
|
154
|
-
const resolvedConfigs = (0, config_js_1.resolveAuthConfig)(config);
|
|
155
|
-
const defaultRedirectPath = resolvedConfigs.loginUrl ?? "/";
|
|
156
|
-
const redirectTarget = new URL(request.url).searchParams.get("redirect") || defaultRedirectPath;
|
|
157
|
-
const isAbsoluteRedirect = /^(https?:\/\/|www\.).+/i.test(redirectTarget);
|
|
158
|
-
const finalRedirectUrl = getAbsoluteRedirectPath(redirectTarget, new URL(resolvedConfigs.appUrl ?? request.url).origin);
|
|
159
|
-
const response = server_js_1.NextResponse.redirect(finalRedirectUrl);
|
|
160
|
-
(0, cookies_js_1.clearAuthCookies)(config);
|
|
161
|
-
try {
|
|
162
|
-
(0, cache_js_1.revalidatePath)(isAbsoluteRedirect ? finalRedirectUrl : redirectTarget);
|
|
163
|
-
}
|
|
164
|
-
catch (error) {
|
|
165
|
-
logger.warn("Failed to revalidate path after logout:", error);
|
|
166
|
-
}
|
|
167
|
-
return response;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Creates an authentication handler for Next.js API routes
|
|
171
|
-
*
|
|
172
|
-
* Usage:
|
|
173
|
-
* ```ts
|
|
174
|
-
* // app/api/auth/[...civicauth]/route.ts
|
|
175
|
-
* import { handler } from '@civic/auth/nextjs'
|
|
176
|
-
* export const GET = handler({
|
|
177
|
-
* // optional config overrides
|
|
178
|
-
* })
|
|
179
|
-
* ```
|
|
180
|
-
*/
|
|
181
|
-
const handler = (authConfig = {}) => async (request) => {
|
|
182
|
-
const config = (0, config_js_1.resolveAuthConfig)(authConfig);
|
|
183
|
-
try {
|
|
184
|
-
const pathname = request.nextUrl.pathname;
|
|
185
|
-
const pathSegments = pathname.split("/");
|
|
186
|
-
const lastSegment = pathSegments[pathSegments.length - 1];
|
|
187
|
-
switch (lastSegment) {
|
|
188
|
-
case "challenge":
|
|
189
|
-
return await handleChallenge(config);
|
|
190
|
-
case "callback":
|
|
191
|
-
return await handleCallback(request, config);
|
|
192
|
-
case "logout":
|
|
193
|
-
return await handleLogout(request, config);
|
|
194
|
-
default:
|
|
195
|
-
throw new AuthError(`Invalid auth route: ${pathname}`, 404);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
catch (error) {
|
|
199
|
-
logger.error("Auth handler error:", error);
|
|
200
|
-
const status = error instanceof AuthError ? error.status : 500;
|
|
201
|
-
const message = error instanceof Error ? error.message : "Authentication failed";
|
|
202
|
-
const response = server_js_1.NextResponse.json({ error: message }, { status });
|
|
203
|
-
(0, cookies_js_1.clearAuthCookies)(config);
|
|
204
|
-
return response;
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
exports.handler = handler;
|
|
208
|
-
//# sourceMappingURL=routeHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routeHandler.js","sourceRoot":"","sources":["../../../../src/nextjs/routeHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NextRequest } from \"next/server.js\";\nimport { NextResponse } from \"next/server.js\";\nimport { revalidatePath } from \"next/cache.js\";\nimport type { AuthConfig } from \"@/nextjs/config.js\";\nimport { resolveAuthConfig } from \"@/nextjs/config.js\";\nimport { loggers } from \"@/lib/logger.js\";\nimport {\n clearAuthCookies,\n NextjsClientStorage,\n NextjsCookieStorage,\n} from \"@/nextjs/cookies.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { resolveOAuthAccessCode } from \"@/server/login.js\";\nimport { getUser } from \"@/shared/lib/session.js\";\nimport { resolveCallbackUrl } from \"@/nextjs/utils.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\nimport {\n TOKEN_EXCHANGE_SUCCESS_TEXT,\n TOKEN_EXCHANGE_TRIGGER_TEXT,\n} from \"@/constants.js\";\nimport { serverTokenExchangeFromState } from \"@/lib/oauth.js\";\nimport { cookies } from \"next/headers.js\";\nimport { CodeVerifier } from \"@/shared/lib/types.js\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nclass AuthError extends Error {\n constructor(\n message: string,\n public readonly status: number = 401,\n ) {\n super(message);\n this.name = \"AuthError\";\n }\n}\n\n/**\n * create a code verifier and challenge for PKCE\n * saving the verifier in a cookie for later use\n * @returns {Promise<NextResponse>}\n */\nasync function handleChallenge(config: AuthConfig): Promise<NextResponse> {\n const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens ?? {});\n const pkceProducer = new GenericPublicClientPKCEProducer(cookieStorage);\n\n const challenge = await pkceProducer.getCodeChallenge();\n\n return NextResponse.json({ status: \"success\", challenge });\n}\n\nasync function performTokenExchangeAndSetCookies(\n request: NextRequest,\n config: AuthConfig,\n code: string,\n state: string,\n) {\n const resolvedConfigs = resolveAuthConfig(config);\n const cookieStorage = new NextjsCookieStorage(resolvedConfigs.cookies.tokens);\n\n const callbackUrl = resolveCallbackUrl(resolvedConfigs, request.url);\n try {\n await resolveOAuthAccessCode(code, state, cookieStorage, {\n ...resolvedConfigs,\n redirectUrl: callbackUrl,\n });\n } catch (error) {\n logger.error(\"Token exchange failed:\", error);\n throw new AuthError(\"Failed to authenticate user\", 401);\n }\n\n const user = await getUser(cookieStorage);\n if (!user) {\n throw new AuthError(\"Failed to get user info\", 401);\n }\n\n const clientStorage = new NextjsClientStorage();\n const userSession = new GenericUserSession(clientStorage);\n userSession.set(user);\n}\nasync function handleCallback(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n console.log(\"handleCallback\", { request, resolvedConfigs });\n const code = request.nextUrl.searchParams.get(\"code\");\n const state = request.nextUrl.searchParams.get(\"state\") || \"\";\n if (!code || !state) throw new AuthError(\"Bad parameters\", 400);\n\n // If we have a code_verifier cookie, we can do a token exchange.\n // Otherwise, just render an empty page.\n // The initial redirect back from the auth server does not send cookies, because the redirect is from a 3rd-party domain.\n // The client will make an additional call to this route with cookies included, at which point we do the token exchange.\n console.log(\"handleCallback\", { code, state, cookies: cookies() });\n if (!request.cookies.get(CodeVerifier.COOKIE_NAME)) {\n console.log(\"handleCallback no code_verifier found\", {\n state,\n serverTokenExchange: serverTokenExchangeFromState(`${state}`),\n });\n let response = new NextResponse(\n `<html><body><span style=\"display:none\">${TOKEN_EXCHANGE_TRIGGER_TEXT}</span></body></html>`,\n );\n // in server-side token exchange mode we need to launch a page that will trigger the token exchange\n // from the same domain, allowing it access to the code_verifier cookie\n // we only need to do this in redirect mode, as the iframe already triggers a client-side token exchange\n // if no code-verifier cookie is found\n if (state && serverTokenExchangeFromState(state)) {\n console.log(\n \"handleCallback serverTokenExchangeFromState, launching redirect page...\",\n {\n requestUrl: request.url,\n configCallbackUrl: resolvedConfigs.callbackUrl,\n },\n );\n // we need to replace the URL with resolved config in case the server is hosted\n // behind a reverse proxy or load balancer\n const requestUrl = new URL(request.url);\n const fetchUrl = `${resolvedConfigs.callbackUrl}?${requestUrl.searchParams.toString()}&sameDomainServerTokenExchange=true`;\n response = new NextResponse(\n `<html>\n <body>\n <span style=\"display:none\">\n <script>\n window.onload = function () {\n fetch('${fetchUrl}').then((response) => {\n response.json().then((jsonResponse) => {\n console.log('fetch jsonResponse', jsonResponse);\n if (jsonResponse.redirectUrl) {\n console.log('handleCallback serverTokenExchangeFromState, redirecting');\n window.location.href = jsonResponse.redirectUrl;\n }\n });\n });\n };\n </script>\n </span>\n </body>\n </html>\n `,\n );\n }\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n console.log(\n `handleCallback no code_verifier found, returning ${TOKEN_EXCHANGE_TRIGGER_TEXT}`,\n );\n return response;\n }\n\n await performTokenExchangeAndSetCookies(\n request,\n resolvedConfigs,\n code,\n state,\n );\n\n if (request.url.includes(\"sameDomainServerTokenExchange=true\")) {\n console.log(\n \"handleCallback sameDomainServerTokenExchange = true, returnining redirectUrl\",\n resolvedConfigs.appUrl,\n );\n return NextResponse.json({\n status: \"success\",\n redirectUrl: resolvedConfigs.appUrl,\n });\n }\n\n // this is the case where a 'normal' redirect is happening\n if (serverTokenExchangeFromState(state)) {\n console.log(\n \"handleCallback serverTokenExchangeFromState, redirect to config.appUrl\",\n resolvedConfigs.appUrl,\n );\n if (!resolvedConfigs.appUrl) {\n throw new Error(\"appUrl not defined in config. Cannot redirect.\");\n }\n return NextResponse.redirect(`${resolvedConfigs.appUrl}`);\n }\n // return an empty HTML response so the iframe doesn't show any response\n // in the short moment between the redirect and the parent window\n // acknowledging the redirect and closing the iframe\n const response = new NextResponse(\n `<html><span style=\"display:none\">${TOKEN_EXCHANGE_SUCCESS_TEXT}</span></html>`,\n );\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n return response;\n}\n\n/**\n * If redirectPath is an absolute path, return it as-is.\n * Otherwise for relative paths, append it to the current domain.\n * @param redirectPath\n * @returns\n */\nconst getAbsoluteRedirectPath = (\n redirectPath: string,\n currentBasePath: string,\n) => {\n // Check if the redirectPath is an absolute URL\n if (/^(https?:\\/\\/|www\\.).+/i.test(redirectPath)) {\n return redirectPath; // Return as-is if it's an absolute URL\n }\n return new URL(redirectPath, currentBasePath).href;\n};\n\nexport async function handleLogout(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n const defaultRedirectPath = resolvedConfigs.loginUrl ?? \"/\";\n const redirectTarget =\n new URL(request.url).searchParams.get(\"redirect\") || defaultRedirectPath;\n const isAbsoluteRedirect = /^(https?:\\/\\/|www\\.).+/i.test(redirectTarget);\n const finalRedirectUrl = getAbsoluteRedirectPath(\n redirectTarget,\n new URL(resolvedConfigs.appUrl ?? request.url).origin,\n );\n\n const response = NextResponse.redirect(finalRedirectUrl);\n\n clearAuthCookies(config);\n\n try {\n revalidatePath(isAbsoluteRedirect ? finalRedirectUrl : redirectTarget);\n } catch (error) {\n logger.warn(\"Failed to revalidate path after logout:\", error);\n }\n\n return response;\n}\n\n/**\n * Creates an authentication handler for Next.js API routes\n *\n * Usage:\n * ```ts\n * // app/api/auth/[...civicauth]/route.ts\n * import { handler } from '@civic/auth/nextjs'\n * export const GET = handler({\n * // optional config overrides\n * })\n * ```\n */\nexport const handler =\n (authConfig = {}) =>\n async (request: NextRequest): Promise<NextResponse> => {\n const config = resolveAuthConfig(authConfig);\n\n try {\n const pathname = request.nextUrl.pathname;\n const pathSegments = pathname.split(\"/\");\n const lastSegment = pathSegments[pathSegments.length - 1];\n\n switch (lastSegment) {\n case \"challenge\":\n return await handleChallenge(config);\n case \"callback\":\n return await handleCallback(request, config);\n case \"logout\":\n return await handleLogout(request, config);\n default:\n throw new AuthError(`Invalid auth route: ${pathname}`, 404);\n }\n } catch (error) {\n logger.error(\"Auth handler error:\", error);\n\n const status = error instanceof AuthError ? error.status : 500;\n const message =\n error instanceof Error ? error.message : \"Authentication failed\";\n\n const response = NextResponse.json({ error: message }, { status });\n\n clearAuthCookies(config);\n return response;\n }\n };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,eAAO,MAAM,kBAAkB,WACrB,sBAAsB,mBACb,MAAM,KACtB,MAIF,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveCallbackUrl = void 0;
|
|
4
|
-
const resolveCallbackUrl = (config, alternativeUrl) => {
|
|
5
|
-
const baseUrl = config.appUrl ?? alternativeUrl;
|
|
6
|
-
const callbackUrl = new URL(config?.callbackUrl, baseUrl).toString();
|
|
7
|
-
return callbackUrl.toString();
|
|
8
|
-
};
|
|
9
|
-
exports.resolveCallbackUrl = resolveCallbackUrl;
|
|
10
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/nextjs/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAChC,MAA8B,EAC9B,cAAuB,EACf,EAAE;IACV,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B","sourcesContent":["import type { AuthConfigWithDefaults } from \"@/nextjs/config.js\";\n\nexport const resolveCallbackUrl = (\n config: AuthConfigWithDefaults,\n alternativeUrl?: string,\n): string => {\n const baseUrl = config.appUrl ?? alternativeUrl;\n const callbackUrl = new URL(config?.callbackUrl, baseUrl).toString();\n return callbackUrl.toString();\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/nextjs/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withAuth = exports.auth = exports.authMiddleware = void 0;
|
|
4
|
-
var middleware_js_1 = require("../../nextjs/middleware.js");
|
|
5
|
-
Object.defineProperty(exports, "authMiddleware", { enumerable: true, get: function () { return middleware_js_1.authMiddleware; } });
|
|
6
|
-
Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return middleware_js_1.auth; } });
|
|
7
|
-
Object.defineProperty(exports, "withAuth", { enumerable: true, get: function () { return middleware_js_1.withAuth; } });
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/nextjs/worker/index.ts"],"names":[],"mappings":";;;AAAA,wDAAwE;AAA/D,+GAAA,cAAc,OAAA;AAAE,qGAAA,IAAI,OAAA;AAAE,yGAAA,QAAQ,OAAA","sourcesContent":["export { authMiddleware, auth, withAuth } from \"@/nextjs/middleware.js\";"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NextLogOut.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/components/NextLogOut.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,QAAA,MAAM,UAAU,iBAAkB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sBAKxD,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.NextLogOut = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Trigger a backend API that logs the user out and then redirects to the homepage (TODO parameterize the redirect)
|
|
9
|
-
*/
|
|
10
|
-
const config_js_1 = require("../../nextjs/config.js");
|
|
11
|
-
const react_1 = __importDefault(require("react"));
|
|
12
|
-
const NextLogOut = ({ children }) => {
|
|
13
|
-
const config = (0, config_js_1.resolveAuthConfig)();
|
|
14
|
-
const logoutUrl = `${config.logoutUrl}`;
|
|
15
|
-
return react_1.default.createElement("a", { href: logoutUrl }, children);
|
|
16
|
-
};
|
|
17
|
-
exports.NextLogOut = NextLogOut;
|
|
18
|
-
//# sourceMappingURL=NextLogOut.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NextLogOut.js","sourceRoot":"","sources":["../../../../../src/reactjs/components/NextLogOut.tsx"],"names":[],"mappings":";;;;;;AAAA;;GAEG;AACH,kDAAuD;AAEvD,kDAA0B;AAE1B,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,IAAA,6BAAiB,GAAE,CAAC;IACnC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAExC,OAAO,qCAAG,IAAI,EAAE,SAAS,IAAG,QAAQ,CAAK,CAAC;AAC5C,CAAC,CAAC;AAEO,gCAAU","sourcesContent":["/**\n * Trigger a backend API that logs the user out and then redirects to the homepage (TODO parameterize the redirect)\n */\nimport { resolveAuthConfig } from \"@/nextjs/config.js\";\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\n\nconst NextLogOut = ({ children }: { children: ReactNode }) => {\n const config = resolveAuthConfig();\n const logoutUrl = `${config.logoutUrl}`;\n\n return <a href={logoutUrl}>{children}</a>;\n};\n\nexport { NextLogOut };\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { DisplayMode } from "../../types.js";
|
|
3
|
-
declare const SignInButton: ({ displayMode, className, }: {
|
|
4
|
-
displayMode?: DisplayMode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}) => React.JSX.Element;
|
|
7
|
-
export { SignInButton };
|
|
8
|
-
//# sourceMappingURL=SignInButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignInButton.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/components/SignInButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,QAAA,MAAM,YAAY,gCAGf;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sBAeA,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SignInButton = void 0;
|
|
8
|
-
const react_1 = __importDefault(require("react"));
|
|
9
|
-
const utils_js_1 = require("../../utils.js");
|
|
10
|
-
const useUser_js_1 = require("../../reactjs/hooks/useUser.js");
|
|
11
|
-
const SignInButton = ({ displayMode, className, }) => {
|
|
12
|
-
const { signIn } = (0, useUser_js_1.useUser)();
|
|
13
|
-
return (react_1.default.createElement("button", { "data-testid": "sign-in-button", className: (0, utils_js_1.cn)("cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50", className), onClick: () => signIn(displayMode) }, "Sign In"));
|
|
14
|
-
};
|
|
15
|
-
exports.SignInButton = SignInButton;
|
|
16
|
-
//# sourceMappingURL=SignInButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignInButton.js","sourceRoot":"","sources":["../../../../../src/reactjs/components/SignInButton.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;AACb,kDAA0B;AAC1B,yCAAgC;AAEhC,2DAAqD;AAErD,MAAM,YAAY,GAAG,CAAC,EACpB,WAAW,EACX,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,oBAAO,GAAE,CAAC;IAE7B,OAAO,CACL,yDACc,gBAAgB,EAC5B,SAAS,EAAE,IAAA,aAAE,EACX,6IAA6I,EAC7I,SAAS,CACV,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,cAG3B,CACV,CAAC;AACJ,CAAC,CAAC;AAEO,oCAAY","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { cn } from \"@/utils.js\";\nimport type { DisplayMode } from \"@/types.js\";\nimport { useUser } from \"@/reactjs/hooks/useUser.js\";\n\nconst SignInButton = ({\n displayMode,\n className,\n}: {\n displayMode?: DisplayMode;\n className?: string;\n}) => {\n const { signIn } = useUser();\n\n return (\n <button\n data-testid=\"sign-in-button\"\n className={cn(\n \"cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50\",\n className,\n )}\n onClick={() => signIn(displayMode)}\n >\n Sign In\n </button>\n );\n};\n\nexport { SignInButton };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignOutButton.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/components/SignOutButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,QAAA,MAAM,aAAa,kBAAmB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,sBAc3D,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SignOutButton = void 0;
|
|
8
|
-
const react_1 = __importDefault(require("react"));
|
|
9
|
-
const utils_js_1 = require("../../utils.js");
|
|
10
|
-
const useUser_js_1 = require("../../reactjs/hooks/useUser.js");
|
|
11
|
-
const SignOutButton = ({ className }) => {
|
|
12
|
-
const { signOut } = (0, useUser_js_1.useUser)();
|
|
13
|
-
return (react_1.default.createElement("button", { className: (0, utils_js_1.cn)("cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50", className), onClick: () => signOut() }, "Sign Out"));
|
|
14
|
-
};
|
|
15
|
-
exports.SignOutButton = SignOutButton;
|
|
16
|
-
//# sourceMappingURL=SignOutButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignOutButton.js","sourceRoot":"","sources":["../../../../../src/reactjs/components/SignOutButton.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;AACb,kDAA0B;AAC1B,yCAAgC;AAChC,2DAAqD;AAErD,MAAM,aAAa,GAAG,CAAC,EAAE,SAAS,EAA0B,EAAE,EAAE;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,oBAAO,GAAE,CAAC;IAE9B,OAAO,CACL,0CACE,SAAS,EAAE,IAAA,aAAE,EACX,6IAA6I,EAC7I,SAAS,CACV,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,eAGjB,CACV,CAAC;AACJ,CAAC,CAAC;AAEO,sCAAa","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { cn } from \"@/utils.js\";\nimport { useUser } from \"@/reactjs/hooks/useUser.js\";\n\nconst SignOutButton = ({ className }: { className?: string }) => {\n const { signOut } = useUser();\n\n return (\n <button\n className={cn(\n \"cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50\",\n className,\n )}\n onClick={() => signOut()}\n >\n Sign Out\n </button>\n );\n};\n\nexport { SignOutButton };\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { DisplayMode } from "../../types.js";
|
|
2
|
-
import React from "react";
|
|
3
|
-
declare const UserButton: ({ displayMode, className, }: {
|
|
4
|
-
displayMode?: DisplayMode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}) => React.JSX.Element;
|
|
7
|
-
export { UserButton };
|
|
8
|
-
//# sourceMappingURL=UserButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserButton.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/components/UserButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAA2C,MAAM,OAAO,CAAC;AAoChE,QAAA,MAAM,UAAU,gCAGb;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sBAwGA,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.UserButton = void 0;
|
|
28
|
-
const index_js_1 = require("../../reactjs/hooks/index.js");
|
|
29
|
-
const utils_js_1 = require("../../utils.js");
|
|
30
|
-
const react_1 = __importStar(require("react"));
|
|
31
|
-
const ChevronDown = () => (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-chevron-down" },
|
|
32
|
-
react_1.default.createElement("path", { d: "m6 9 6 6 6-6" })));
|
|
33
|
-
const ChevronUp = () => (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-chevron-up" },
|
|
34
|
-
react_1.default.createElement("path", { d: "m18 15-6-6-6 6" })));
|
|
35
|
-
const UserButton = ({ displayMode, className, }) => {
|
|
36
|
-
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
37
|
-
const { user, signIn, signOut } = (0, index_js_1.useUser)();
|
|
38
|
-
const handleClickOutside = (0, react_1.useCallback)((event) => {
|
|
39
|
-
const target = event.target;
|
|
40
|
-
if (!target.closest("#civic-dropdown-container")) {
|
|
41
|
-
setIsOpen(false);
|
|
42
|
-
}
|
|
43
|
-
}, []);
|
|
44
|
-
const handleSignOut = (0, react_1.useCallback)(async () => {
|
|
45
|
-
signOut();
|
|
46
|
-
setIsOpen(false);
|
|
47
|
-
}, [signOut]);
|
|
48
|
-
const handleSignIn = (0, react_1.useCallback)(async () => {
|
|
49
|
-
await signIn(displayMode);
|
|
50
|
-
setIsOpen(false);
|
|
51
|
-
}, [signIn, displayMode]);
|
|
52
|
-
const handleEscape = (0, react_1.useCallback)((event) => {
|
|
53
|
-
if (event.key === "Escape") {
|
|
54
|
-
setIsOpen(false);
|
|
55
|
-
}
|
|
56
|
-
}, []);
|
|
57
|
-
(0, react_1.useEffect)(() => {
|
|
58
|
-
if (isOpen) {
|
|
59
|
-
window.addEventListener("click", handleClickOutside);
|
|
60
|
-
window.addEventListener("keydown", handleEscape);
|
|
61
|
-
}
|
|
62
|
-
return () => {
|
|
63
|
-
window.removeEventListener("click", handleClickOutside);
|
|
64
|
-
window.removeEventListener("keydown", handleEscape);
|
|
65
|
-
};
|
|
66
|
-
}, [handleClickOutside, handleEscape, isOpen]);
|
|
67
|
-
if (user) {
|
|
68
|
-
return (react_1.default.createElement("div", { className: "cac-relative", id: "civic-dropdown-container" },
|
|
69
|
-
react_1.default.createElement("button", { className: (0, utils_js_1.cn)("cac-flex cac-w-full cac-items-center cac-justify-between cac-gap-2 cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-text-neutral-500 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50", className), onClick: () => setIsOpen((isOpen) => !isOpen) },
|
|
70
|
-
user?.picture ? (react_1.default.createElement("span", { className: "cac-relative cac-flex cac-h-10 cac-w-10 cac-shrink-0 cac-gap-2 cac-overflow-hidden cac-rounded-full" },
|
|
71
|
-
react_1.default.createElement("img", { className: "cac-h-full cac-w-full cac-object-cover", src: user.picture, alt: user?.name || user?.email }))) : (react_1.default.createElement("div", null)),
|
|
72
|
-
react_1.default.createElement("span", null, user?.name || user?.email),
|
|
73
|
-
isOpen ? react_1.default.createElement(ChevronUp, null) : react_1.default.createElement(ChevronDown, null)),
|
|
74
|
-
react_1.default.createElement("div", { className: isOpen
|
|
75
|
-
? "cac-absolute cac-right-0 cac-mt-2 cac-w-full cac-rounded-lg cac-bg-white cac-py-2 cac-text-neutral-500 cac-shadow-xl"
|
|
76
|
-
: "cac-hidden" },
|
|
77
|
-
react_1.default.createElement("ul", null,
|
|
78
|
-
react_1.default.createElement("li", null,
|
|
79
|
-
react_1.default.createElement("button", { className: "cac-block cac-w-full cac-px-4 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50", onClick: handleSignOut }, "Logout"))))));
|
|
80
|
-
}
|
|
81
|
-
return (react_1.default.createElement("button", { "data-testid": "sign-in-button", className: (0, utils_js_1.cn)("cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50", className), onClick: handleSignIn }, "Sign in"));
|
|
82
|
-
};
|
|
83
|
-
exports.UserButton = UserButton;
|
|
84
|
-
//# sourceMappingURL=UserButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserButton.js","sourceRoot":"","sources":["../../../../../src/reactjs/components/UserButton.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\nimport { useUser } from \"@/reactjs/hooks/index.js\";\nimport type { DisplayMode } from \"@/types.js\";\nimport { cn } from \"@/utils.js\";\nimport React, { useCallback, useEffect, useState } from \"react\";\n\nconst ChevronDown = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-chevron-down\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n);\n\nconst ChevronUp = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-chevron-up\"\n >\n <path d=\"m18 15-6-6-6 6\" />\n </svg>\n);\n\nconst UserButton = ({\n displayMode,\n className,\n}: {\n displayMode?: DisplayMode;\n className?: string;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const { user, signIn, signOut } = useUser();\n\n const handleClickOutside = useCallback((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (!target.closest(\"#civic-dropdown-container\")) {\n setIsOpen(false);\n }\n }, []);\n\n const handleSignOut = useCallback(async () => {\n signOut();\n\n setIsOpen(false);\n }, [signOut]);\n\n const handleSignIn = useCallback(async () => {\n await signIn(displayMode);\n\n setIsOpen(false);\n }, [signIn, displayMode]);\n\n const handleEscape = useCallback((event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setIsOpen(false);\n }\n }, []);\n\n useEffect(() => {\n if (isOpen) {\n window.addEventListener(\"click\", handleClickOutside);\n\n window.addEventListener(\"keydown\", handleEscape);\n }\n\n return () => {\n window.removeEventListener(\"click\", handleClickOutside);\n\n window.removeEventListener(\"keydown\", handleEscape);\n };\n }, [handleClickOutside, handleEscape, isOpen]);\n\n if (user) {\n return (\n <div className=\"cac-relative\" id=\"civic-dropdown-container\">\n <button\n className={cn(\n \"cac-flex cac-w-full cac-items-center cac-justify-between cac-gap-2 cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-text-neutral-500 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50\",\n className,\n )}\n onClick={() => setIsOpen((isOpen) => !isOpen)}\n >\n {user?.picture ? (\n <span className=\"cac-relative cac-flex cac-h-10 cac-w-10 cac-shrink-0 cac-gap-2 cac-overflow-hidden cac-rounded-full\">\n <img\n className=\"cac-h-full cac-w-full cac-object-cover\"\n src={user.picture}\n alt={user?.name || user?.email}\n />\n </span>\n ) : (\n <div />\n )}\n\n <span>{user?.name || user?.email}</span>\n\n {isOpen ? <ChevronUp /> : <ChevronDown />}\n </button>\n <div\n className={\n isOpen\n ? \"cac-absolute cac-right-0 cac-mt-2 cac-w-full cac-rounded-lg cac-bg-white cac-py-2 cac-text-neutral-500 cac-shadow-xl\"\n : \"cac-hidden\"\n }\n >\n <ul>\n <li>\n <button\n className=\"cac-block cac-w-full cac-px-4 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50\"\n onClick={handleSignOut}\n >\n Logout\n </button>\n </li>\n </ul>\n </div>\n </div>\n );\n }\n\n return (\n <button\n data-testid=\"sign-in-button\"\n className={cn(\n \"cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50\",\n className,\n )}\n onClick={handleSignIn}\n >\n Sign in\n </button>\n );\n};\n\nexport { UserButton };\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { CivicAuthIframe } from "../../shared/components/CivicAuthIframe.js";
|
|
2
|
-
export { CivicAuthIframeContainer } from "../../shared/components/CivicAuthIframeContainer.js";
|
|
3
|
-
export { UserButton } from "../../reactjs/components/UserButton.js";
|
|
4
|
-
export { SignInButton } from "../../reactjs/components/SignInButton.js";
|
|
5
|
-
export { SignOutButton } from "../../reactjs/components/SignOutButton.js";
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SignOutButton = exports.SignInButton = exports.UserButton = exports.CivicAuthIframeContainer = exports.CivicAuthIframe = void 0;
|
|
4
|
-
var CivicAuthIframe_js_1 = require("../../shared/components/CivicAuthIframe.js");
|
|
5
|
-
Object.defineProperty(exports, "CivicAuthIframe", { enumerable: true, get: function () { return CivicAuthIframe_js_1.CivicAuthIframe; } });
|
|
6
|
-
var CivicAuthIframeContainer_js_1 = require("../../shared/components/CivicAuthIframeContainer.js");
|
|
7
|
-
Object.defineProperty(exports, "CivicAuthIframeContainer", { enumerable: true, get: function () { return CivicAuthIframeContainer_js_1.CivicAuthIframeContainer; } });
|
|
8
|
-
var UserButton_js_1 = require("../../reactjs/components/UserButton.js");
|
|
9
|
-
Object.defineProperty(exports, "UserButton", { enumerable: true, get: function () { return UserButton_js_1.UserButton; } });
|
|
10
|
-
var SignInButton_js_1 = require("../../reactjs/components/SignInButton.js");
|
|
11
|
-
Object.defineProperty(exports, "SignInButton", { enumerable: true, get: function () { return SignInButton_js_1.SignInButton; } });
|
|
12
|
-
var SignOutButton_js_1 = require("../../reactjs/components/SignOutButton.js");
|
|
13
|
-
Object.defineProperty(exports, "SignOutButton", { enumerable: true, get: function () { return SignOutButton_js_1.SignOutButton; } });
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/reactjs/components/index.ts"],"names":[],"mappings":";;;AAAA,6EAAyE;AAAhE,qHAAA,eAAe,OAAA;AACxB,+FAA2F;AAAlF,uIAAA,wBAAwB,OAAA;AACjC,oEAAgE;AAAvD,2GAAA,UAAU,OAAA;AACnB,wEAAoE;AAA3D,+GAAA,YAAY,OAAA;AACrB,0EAAsE;AAA7D,iHAAA,aAAa,OAAA","sourcesContent":["export { CivicAuthIframe } from \"@/shared/components/CivicAuthIframe.js\";\nexport { CivicAuthIframeContainer } from \"@/shared/components/CivicAuthIframeContainer.js\";\nexport { UserButton } from \"@/reactjs/components/UserButton.js\";\nexport { SignInButton } from \"@/reactjs/components/SignInButton.js\";\nexport { SignOutButton } from \"@/reactjs/components/SignOutButton.js\";\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { useUser } from "../../reactjs/hooks/useUser.js";
|
|
2
|
-
export { useUserCookie } from "../../nextjs/hooks/useUserCookie.js";
|
|
3
|
-
export { useToken } from "../../shared/hooks/useToken.js";
|
|
4
|
-
export { useAuth } from "../../shared/hooks/useAuth.js";
|
|
5
|
-
export { useSession } from "../../shared/hooks/useSession.js";
|
|
6
|
-
export { useConfig } from "../../shared/hooks/useConfig.js";
|
|
7
|
-
export { useTokenCookie } from "../../nextjs/hooks/useTokenCookie.js";
|
|
8
|
-
export { useIframe } from "../../shared/hooks/useIframe.js";
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useIframe = exports.useTokenCookie = exports.useConfig = exports.useSession = exports.useAuth = exports.useToken = exports.useUserCookie = exports.useUser = void 0;
|
|
4
|
-
var useUser_js_1 = require("../../reactjs/hooks/useUser.js");
|
|
5
|
-
Object.defineProperty(exports, "useUser", { enumerable: true, get: function () { return useUser_js_1.useUser; } });
|
|
6
|
-
var useUserCookie_js_1 = require("../../nextjs/hooks/useUserCookie.js");
|
|
7
|
-
Object.defineProperty(exports, "useUserCookie", { enumerable: true, get: function () { return useUserCookie_js_1.useUserCookie; } });
|
|
8
|
-
var useToken_js_1 = require("../../shared/hooks/useToken.js");
|
|
9
|
-
Object.defineProperty(exports, "useToken", { enumerable: true, get: function () { return useToken_js_1.useToken; } });
|
|
10
|
-
var useAuth_js_1 = require("../../shared/hooks/useAuth.js");
|
|
11
|
-
Object.defineProperty(exports, "useAuth", { enumerable: true, get: function () { return useAuth_js_1.useAuth; } });
|
|
12
|
-
var useSession_js_1 = require("../../shared/hooks/useSession.js");
|
|
13
|
-
Object.defineProperty(exports, "useSession", { enumerable: true, get: function () { return useSession_js_1.useSession; } });
|
|
14
|
-
var useConfig_js_1 = require("../../shared/hooks/useConfig.js");
|
|
15
|
-
Object.defineProperty(exports, "useConfig", { enumerable: true, get: function () { return useConfig_js_1.useConfig; } });
|
|
16
|
-
var useTokenCookie_js_1 = require("../../nextjs/hooks/useTokenCookie.js");
|
|
17
|
-
Object.defineProperty(exports, "useTokenCookie", { enumerable: true, get: function () { return useTokenCookie_js_1.useTokenCookie; } });
|
|
18
|
-
var useIframe_js_1 = require("../../shared/hooks/useIframe.js");
|
|
19
|
-
Object.defineProperty(exports, "useIframe", { enumerable: true, get: function () { return useIframe_js_1.useIframe; } });
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/reactjs/hooks/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AAA5C,qGAAA,OAAO,OAAA;AAChB,oEAAgE;AAAvD,iHAAA,aAAa,OAAA;AACtB,0DAAsD;AAA7C,uGAAA,QAAQ,OAAA;AACjB,wDAAoD;AAA3C,qGAAA,OAAO,OAAA;AAChB,8DAA0D;AAAjD,2GAAA,UAAU,OAAA;AACnB,4DAAwD;AAA/C,yGAAA,SAAS,OAAA;AAClB,sEAAkE;AAAzD,mHAAA,cAAc,OAAA;AACvB,4DAAwD;AAA/C,yGAAA,SAAS,OAAA","sourcesContent":["export { useUser } from \"@/reactjs/hooks/useUser.js\";\nexport { useUserCookie } from \"@/nextjs/hooks/useUserCookie.js\";\nexport { useToken } from \"@/shared/hooks/useToken.js\";\nexport { useAuth } from \"@/shared/hooks/useAuth.js\";\nexport { useSession } from \"@/shared/hooks/useSession.js\";\nexport { useConfig } from \"@/shared/hooks/useConfig.js\";\nexport { useTokenCookie } from \"@/nextjs/hooks/useTokenCookie.js\";\nexport { useIframe } from \"@/shared/hooks/useIframe.js\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/hooks/useAuth.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,OAAO,mEAQZ,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|