@civic/auth 0.0.1-beta.28 → 0.0.1-beta.3
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 +4 -26
- package/dist/chunk-4GIHS7LB.js +201 -0
- package/dist/chunk-4GIHS7LB.js.map +1 -0
- package/dist/chunk-CRTRMMJ7.js +59 -0
- package/dist/chunk-CRTRMMJ7.js.map +1 -0
- package/dist/chunk-GNGLWGZJ.mjs +238 -0
- package/dist/chunk-GNGLWGZJ.mjs.map +1 -0
- package/dist/chunk-NQPMNXBL.mjs +154 -0
- package/dist/chunk-NQPMNXBL.mjs.map +1 -0
- package/dist/chunk-RGHW4PYM.mjs +59 -0
- package/dist/chunk-RGHW4PYM.mjs.map +1 -0
- package/dist/chunk-UV56GNIT.mjs +201 -0
- package/dist/chunk-UV56GNIT.mjs.map +1 -0
- package/dist/chunk-VXIWRZWU.js +238 -0
- package/dist/chunk-VXIWRZWU.js.map +1 -0
- package/dist/chunk-WPISYQG3.js +154 -0
- package/dist/chunk-WPISYQG3.js.map +1 -0
- package/dist/index-DoDoIY_K.d.mts +79 -0
- package/dist/index-DoDoIY_K.d.ts +79 -0
- package/dist/index.css +342 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -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 +225 -0
- package/dist/nextjs.d.ts +225 -0
- package/dist/nextjs.js +253 -0
- package/dist/nextjs.js.map +1 -0
- package/dist/nextjs.mjs +253 -0
- package/dist/nextjs.mjs.map +1 -0
- package/dist/react.d.mts +119 -0
- package/dist/react.d.ts +119 -0
- package/dist/react.js +1178 -0
- package/dist/react.js.map +1 -0
- package/dist/react.mjs +1178 -0
- package/dist/react.mjs.map +1 -0
- package/dist/server.d.mts +55 -0
- package/dist/server.d.ts +55 -0
- package/dist/server.js +17 -0
- package/dist/server.js.map +1 -0
- package/dist/server.mjs +17 -0
- package/dist/server.mjs.map +1 -0
- package/package.json +43 -53
- 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/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 -4
- package/dist/cjs/src/index.d.ts.map +0 -1
- package/dist/cjs/src/index.js +0 -3
- 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 -178
- package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/config.js +0 -169
- 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 -18
- 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 -76
- 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 -221
- 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 -9
- package/dist/cjs/src/nextjs/utils.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 -20
- 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 -20
- 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 -136
- 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 -8
- package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.js +0 -18
- 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/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 -156
- 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 -36
- 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 -22
- package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/types.js +0 -19
- 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 -162
- 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 -20
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.js +0 -289
- 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 -21
- 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/styles.css +0 -387
- 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 -15
- package/dist/cjs/src/utils.d.ts.map +0 -1
- package/dist/cjs/src/utils.js +0 -47
- package/dist/cjs/src/utils.js.map +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 -4
- package/dist/esm/src/index.d.ts.map +0 -1
- package/dist/esm/src/index.js +0 -2
- 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 -178
- package/dist/esm/src/nextjs/config.d.ts.map +0 -1
- package/dist/esm/src/nextjs/config.js +0 -164
- 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 -50
- 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 -216
- 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 -5
- package/dist/esm/src/nextjs/utils.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 -14
- 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 -14
- 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 -110
- 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 -8
- package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.js +0 -8
- 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/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 -130
- 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 -30
- 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 -22
- package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/types.js +0 -16
- 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 -126
- 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 -20
- package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.js +0 -263
- 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 -15
- 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/styles.css +0 -387
- 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 -15
- package/dist/esm/src/utils.d.ts.map +0 -1
- package/dist/esm/src/utils.js +0 -43
- package/dist/esm/src/utils.js.map +0 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/src/browser/storage.d.ts +0 -6
- package/dist/src/browser/storage.d.ts.map +0 -1
- package/dist/src/browser/storage.js +0 -9
- package/dist/src/browser/storage.js.map +0 -1
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- package/dist/src/index.js +0 -2
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/cookies.d.ts +0 -7
- package/dist/src/lib/cookies.d.ts.map +0 -1
- package/dist/src/lib/cookies.js +0 -23
- package/dist/src/lib/cookies.js.map +0 -1
- package/dist/src/lib/jwt.d.ts +0 -3
- package/dist/src/lib/jwt.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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/postMessage.d.ts.map +0 -1
- package/dist/src/lib/postMessage.js +0 -15
- package/dist/src/lib/postMessage.js.map +0 -1
- package/dist/src/lib/windowUtil.d.ts +0 -4
- package/dist/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/src/lib/windowUtil.js +0 -30
- package/dist/src/lib/windowUtil.js.map +0 -1
- package/dist/src/nextjs/GetUser.d.ts +0 -6
- package/dist/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/src/nextjs/GetUser.js +0 -18
- package/dist/src/nextjs/GetUser.js.map +0 -1
- package/dist/src/nextjs/client/index.d.ts +0 -2
- package/dist/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/src/nextjs/client/index.js +0 -2
- package/dist/src/nextjs/client/index.js.map +0 -1
- package/dist/src/nextjs/config.d.ts +0 -178
- package/dist/src/nextjs/config.d.ts.map +0 -1
- package/dist/src/nextjs/config.js +0 -164
- package/dist/src/nextjs/config.js.map +0 -1
- package/dist/src/nextjs/cookies.d.ts +0 -30
- package/dist/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/src/nextjs/cookies.js +0 -109
- package/dist/src/nextjs/cookies.js.map +0 -1
- package/dist/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/src/nextjs/hooks/index.js +0 -2
- package/dist/src/nextjs/hooks/index.js.map +0 -1
- package/dist/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/src/nextjs/hooks/useTokenCookie.js +0 -37
- package/dist/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/src/nextjs/hooks/useUserCookie.js +0 -36
- package/dist/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/src/nextjs/index.d.ts +0 -7
- package/dist/src/nextjs/index.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- package/dist/src/nextjs/middleware.js +0 -107
- package/dist/src/nextjs/middleware.js.map +0 -1
- package/dist/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/src/nextjs/providers/NextAuthProvider.js +0 -50
- package/dist/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/src/nextjs/routeHandler.js +0 -216
- package/dist/src/nextjs/routeHandler.js.map +0 -1
- package/dist/src/nextjs/utils.d.ts +0 -3
- package/dist/src/nextjs/utils.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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/UserButton.d.ts.map +0 -1
- package/dist/src/reactjs/components/UserButton.js +0 -110
- package/dist/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/src/reactjs/components/index.d.ts +0 -6
- package/dist/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/src/reactjs/components/index.js +0 -6
- package/dist/src/reactjs/components/index.js.map +0 -1
- package/dist/src/reactjs/hooks/index.d.ts +0 -8
- package/dist/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/src/reactjs/hooks/index.js +0 -8
- package/dist/src/reactjs/hooks/index.js.map +0 -1
- package/dist/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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 -18
- package/dist/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/src/server/ServerAuthenticationResolver.js +0 -62
- package/dist/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/src/server/config.d.ts +0 -16
- package/dist/src/server/config.d.ts.map +0 -1
- 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 -6
- package/dist/src/server/index.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- package/dist/src/server/refresh.js +0 -13
- package/dist/src/server/refresh.js.map +0 -1
- package/dist/src/services/AuthenticationService.d.ts +0 -87
- package/dist/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/src/services/AuthenticationService.js +0 -222
- package/dist/src/services/AuthenticationService.js.map +0 -1
- package/dist/src/services/PKCE.d.ts +0 -20
- package/dist/src/services/PKCE.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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/CivicAuthIframe.d.ts.map +0 -1
- package/dist/src/shared/components/CivicAuthIframe.js +0 -9
- package/dist/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/src/shared/components/CivicAuthIframeContainer.js +0 -130
- package/dist/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- 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/index.d.ts +0 -5
- package/dist/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/src/shared/hooks/index.js +0 -5
- package/dist/src/shared/hooks/index.js.map +0 -1
- package/dist/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/src/shared/hooks/useAuth.js +0 -12
- package/dist/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/src/shared/hooks/useConfig.js +0 -13
- package/dist/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/src/shared/hooks/useIframe.d.ts.map +0 -1
- 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.d.ts +0 -3
- package/dist/src/shared/hooks/useSession.d.ts.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.d.ts.map +0 -1
- package/dist/src/shared/hooks/useToken.js +0 -12
- package/dist/src/shared/hooks/useToken.js.map +0 -1
- package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
- package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/src/shared/lib/UserSession.js +0 -20
- package/dist/src/shared/lib/UserSession.js.map +0 -1
- package/dist/src/shared/lib/session.d.ts +0 -3
- package/dist/src/shared/lib/session.d.ts.map +0 -1
- package/dist/src/shared/lib/session.js +0 -10
- package/dist/src/shared/lib/session.js.map +0 -1
- package/dist/src/shared/lib/storage.d.ts +0 -25
- package/dist/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/src/shared/lib/storage.js +0 -17
- package/dist/src/shared/lib/storage.js.map +0 -1
- package/dist/src/shared/lib/types.d.ts +0 -22
- package/dist/src/shared/lib/types.d.ts.map +0 -1
- package/dist/src/shared/lib/types.js +0 -16
- package/dist/src/shared/lib/types.js.map +0 -1
- package/dist/src/shared/lib/util.d.ts +0 -33
- package/dist/src/shared/lib/util.d.ts.map +0 -1
- package/dist/src/shared/lib/util.js +0 -126
- package/dist/src/shared/lib/util.js.map +0 -1
- package/dist/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/src/shared/providers/AuthContext.js +0 -3
- package/dist/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/src/shared/providers/AuthProvider.d.ts +0 -20
- package/dist/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/AuthProvider.js +0 -263
- package/dist/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/CivicAuthProvider.js +0 -15
- package/dist/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/ConfigProvider.js +0 -19
- package/dist/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/IframeProvider.js +0 -11
- package/dist/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/SessionProvider.js +0 -13
- package/dist/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/TokenProvider.js +0 -53
- package/dist/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/src/shared/providers/UserProvider.js +0 -38
- package/dist/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/src/types.d.ts +0 -146
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- 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/integration/sdk.test.d.ts.map +0 -1
- package/dist/test/integration/sdk.test.js +0 -183
- package/dist/test/integration/sdk.test.js.map +0 -1
- 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.d.ts.map +0 -1
- 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/NextAuthProvider.test.d.ts.map +0 -1
- package/dist/test/unit/nextjs/NextAuthProvider.test.js +0 -29
- package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +0 -1
- package/dist/test/unit/nextjs/config.test.d.ts +0 -2
- package/dist/test/unit/nextjs/config.test.d.ts.map +0 -1
- 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/getUser.test.d.ts.map +0 -1
- package/dist/test/unit/nextjs/getUser.test.js +0 -36
- package/dist/test/unit/nextjs/getUser.test.js.map +0 -1
- package/dist/test/unit/nextjs/middleware.test.d.ts +0 -2
- package/dist/test/unit/nextjs/middleware.test.d.ts.map +0 -1
- 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/routeHandler.test.d.ts +0 -2
- package/dist/test/unit/nextjs/routeHandler.test.d.ts.map +0 -1
- package/dist/test/unit/nextjs/routeHandler.test.js +0 -271
- package/dist/test/unit/nextjs/routeHandler.test.js.map +0 -1
- package/dist/test/unit/nextjs/utils.test.d.ts +0 -2
- package/dist/test/unit/nextjs/utils.test.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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/AuthenticationService.test.d.ts.map +0 -1
- package/dist/test/unit/services/AuthenticationService.test.js +0 -104
- package/dist/test/unit/services/AuthenticationService.test.js.map +0 -1
- package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +0 -2
- package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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.d.ts.map +0 -1
- 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/components/CivicAuthIframeContainer.test.d.ts.map +0 -1
- package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +0 -120
- package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +0 -1
- package/dist/test/unit/shared/storage.test.d.ts +0 -2
- package/dist/test/unit/shared/storage.test.d.ts.map +0 -1
- 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/tsconfig.tsbuildinfo +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 -207
- 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 -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 -301
- 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 -215
- package/src/reactjs/components/index.ts +0 -5
- package/src/reactjs/hooks/index.ts +0 -7
- 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 -59
- package/src/server/refresh.ts +0 -23
- package/src/services/AuthenticationService.ts +0 -334
- 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 -194
- 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 -214
- package/src/shared/providers/AuthContext.tsx +0 -11
- package/src/shared/providers/AuthProvider.tsx +0 -390
- 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 -24
- 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
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkCRTRMMJ7js = require('./chunk-CRTRMMJ7.js');
|
|
5
|
+
|
|
6
|
+
// src/utils.ts
|
|
7
|
+
var _clsx = require('clsx');
|
|
8
|
+
var _tailwindmerge = require('tailwind-merge');
|
|
9
|
+
var isPopupBlocked = () => {
|
|
10
|
+
const popup = window.open("", "", "width=1,height=1");
|
|
11
|
+
if (!popup) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
if (typeof popup.closed === "undefined") {
|
|
16
|
+
throw new Error("Popup is blocked");
|
|
17
|
+
}
|
|
18
|
+
} catch (e) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
popup.close();
|
|
22
|
+
return false;
|
|
23
|
+
};
|
|
24
|
+
var cn = (...inputs) => {
|
|
25
|
+
return _tailwindmerge.twMerge.call(void 0, _clsx.clsx.call(void 0, inputs));
|
|
26
|
+
};
|
|
27
|
+
var withoutUndefined = (obj) => {
|
|
28
|
+
const result = {};
|
|
29
|
+
for (const key in obj) {
|
|
30
|
+
if (obj[key] !== void 0) {
|
|
31
|
+
result[key] = obj[key];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// src/shared/types.ts
|
|
38
|
+
var NextjsServerCookies = /* @__PURE__ */ ((NextjsServerCookies2) => {
|
|
39
|
+
NextjsServerCookies2["ID_TOKEN"] = "id_token";
|
|
40
|
+
NextjsServerCookies2["ACCESS_TOKEN"] = "access_token";
|
|
41
|
+
NextjsServerCookies2["REFRESH_TOKEN"] = "refresh_token";
|
|
42
|
+
return NextjsServerCookies2;
|
|
43
|
+
})(NextjsServerCookies || {});
|
|
44
|
+
|
|
45
|
+
// src/shared/util.ts
|
|
46
|
+
var _oauth2 = require('oslo/oauth2');
|
|
47
|
+
|
|
48
|
+
// src/lib/oauth.ts
|
|
49
|
+
var _uuid = require('uuid');
|
|
50
|
+
var getIssuerVariations = (issuer) => {
|
|
51
|
+
const issuerWithoutSlash = issuer.endsWith("/") ? issuer.slice(0, issuer.length - 1) : issuer;
|
|
52
|
+
const issuerWithSlash = `${issuerWithoutSlash}/`;
|
|
53
|
+
return [issuerWithoutSlash, issuerWithSlash];
|
|
54
|
+
};
|
|
55
|
+
var addSlashIfNeeded = (url) => url.endsWith("/") ? url : `${url}/`;
|
|
56
|
+
var getOauthEndpoints = (oauthServer) => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
|
|
57
|
+
const openIdConfigResponse = yield fetch(
|
|
58
|
+
`${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`
|
|
59
|
+
);
|
|
60
|
+
const openIdConfig = yield openIdConfigResponse.json();
|
|
61
|
+
return {
|
|
62
|
+
jwks: openIdConfig.jwks_uri,
|
|
63
|
+
auth: openIdConfig.authorization_endpoint,
|
|
64
|
+
token: openIdConfig.token_endpoint,
|
|
65
|
+
userinfo: openIdConfig.userinfo_endpoint
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
var generateState = (displayMode) => {
|
|
69
|
+
const jsonString = JSON.stringify({
|
|
70
|
+
uuid: _uuid.v4.call(void 0, ),
|
|
71
|
+
displayMode
|
|
72
|
+
});
|
|
73
|
+
return btoa(jsonString);
|
|
74
|
+
};
|
|
75
|
+
var displayModeFromState = (state, sessionDisplayMode) => {
|
|
76
|
+
try {
|
|
77
|
+
const jsonString = btoa(state);
|
|
78
|
+
return JSON.parse(jsonString).displayMode;
|
|
79
|
+
} catch (e) {
|
|
80
|
+
console.error("Failed to parse displayMode from state:", state);
|
|
81
|
+
return sessionDisplayMode;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// src/shared/util.ts
|
|
86
|
+
var _jose = require('jose'); var jose = _interopRequireWildcard(_jose);
|
|
87
|
+
function deriveCodeChallenge(codeVerifier, method = "S256") {
|
|
88
|
+
return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
|
|
89
|
+
if (method === "Plain") {
|
|
90
|
+
console.warn("Using insecure plain code challenge method");
|
|
91
|
+
return codeVerifier;
|
|
92
|
+
}
|
|
93
|
+
const encoder = new TextEncoder();
|
|
94
|
+
const data = encoder.encode(codeVerifier);
|
|
95
|
+
const digest = yield crypto.subtle.digest("SHA-256", data);
|
|
96
|
+
return btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function getEndpointsWithOverrides(_0) {
|
|
100
|
+
return _chunkCRTRMMJ7js.__async.call(void 0, this, arguments, function* (oauthServer, endpointOverrides = {}) {
|
|
101
|
+
const endpoints = yield getOauthEndpoints(oauthServer);
|
|
102
|
+
return _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, endpoints), endpointOverrides);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function generateOauthLoginUrl(config) {
|
|
106
|
+
return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
|
|
107
|
+
const endpoints = yield getEndpointsWithOverrides(
|
|
108
|
+
config.oauthServer,
|
|
109
|
+
config.endpointOverrides
|
|
110
|
+
);
|
|
111
|
+
const oauth2Client = buildOauth2Client(
|
|
112
|
+
config.clientId,
|
|
113
|
+
config.redirectUrl,
|
|
114
|
+
endpoints
|
|
115
|
+
);
|
|
116
|
+
const challenge = yield config.pkceConsumer.getCodeChallenge();
|
|
117
|
+
const oAuthUrl = yield oauth2Client.createAuthorizationURL({
|
|
118
|
+
state: config.state,
|
|
119
|
+
scopes: config.scopes
|
|
120
|
+
});
|
|
121
|
+
oAuthUrl.searchParams.append("code_challenge", challenge);
|
|
122
|
+
oAuthUrl.searchParams.append("code_challenge_method", "S256");
|
|
123
|
+
return oAuthUrl;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function generateOauthLogoutUrl(config) {
|
|
127
|
+
return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
|
|
128
|
+
console.log(config);
|
|
129
|
+
return new URL("http://localhost");
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function buildOauth2Client(clientId, redirectUri, endpoints) {
|
|
133
|
+
return new (0, _oauth2.OAuth2Client)(
|
|
134
|
+
clientId,
|
|
135
|
+
endpoints.auth,
|
|
136
|
+
endpoints.token,
|
|
137
|
+
// this
|
|
138
|
+
{ redirectURI: redirectUri }
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
function exchangeTokens(code, state, pkceProducer, oauth2Client, oauthServer, endpoints) {
|
|
142
|
+
return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
|
|
143
|
+
const codeVerifier = yield pkceProducer.getCodeVerifier();
|
|
144
|
+
if (!codeVerifier) throw new Error("Code verifier not found in state");
|
|
145
|
+
const tokens = yield oauth2Client.validateAuthorizationCode(code, {
|
|
146
|
+
codeVerifier
|
|
147
|
+
});
|
|
148
|
+
try {
|
|
149
|
+
yield validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);
|
|
150
|
+
} catch (error) {
|
|
151
|
+
console.error("tokenExchange error", { error, tokens });
|
|
152
|
+
throw new Error(
|
|
153
|
+
`OIDC tokens validation failed: ${error.message}`
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
return tokens;
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
function storeTokens(storage, tokens) {
|
|
160
|
+
storage.set("id_token" /* ID_TOKEN */, tokens.id_token);
|
|
161
|
+
storage.set("access_token" /* ACCESS_TOKEN */, tokens.access_token);
|
|
162
|
+
if (tokens.refresh_token)
|
|
163
|
+
storage.set("refresh_token" /* REFRESH_TOKEN */, tokens.refresh_token);
|
|
164
|
+
}
|
|
165
|
+
function clearTokens(storage) {
|
|
166
|
+
Object.values(NextjsServerCookies).forEach((cookie) => {
|
|
167
|
+
storage.set(cookie, "");
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function retrieveTokens(storage) {
|
|
171
|
+
const idToken = storage.get("id_token" /* ID_TOKEN */);
|
|
172
|
+
const accessToken = storage.get("access_token" /* ACCESS_TOKEN */);
|
|
173
|
+
const refreshToken = storage.get("refresh_token" /* REFRESH_TOKEN */);
|
|
174
|
+
if (!idToken || !accessToken) return null;
|
|
175
|
+
return {
|
|
176
|
+
id_token: idToken,
|
|
177
|
+
access_token: accessToken,
|
|
178
|
+
refresh_token: refreshToken != null ? refreshToken : void 0
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
function validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer) {
|
|
182
|
+
return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
|
|
183
|
+
const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));
|
|
184
|
+
const idTokenResponse = yield jose.jwtVerify(
|
|
185
|
+
tokens.id_token,
|
|
186
|
+
JWKS,
|
|
187
|
+
{
|
|
188
|
+
issuer: getIssuerVariations(oauthServer),
|
|
189
|
+
audience: oauth2Client.clientId
|
|
190
|
+
}
|
|
191
|
+
);
|
|
192
|
+
const accessTokenResponse = yield jose.jwtVerify(
|
|
193
|
+
tokens.access_token,
|
|
194
|
+
JWKS,
|
|
195
|
+
{
|
|
196
|
+
issuer: getIssuerVariations(oauthServer)
|
|
197
|
+
}
|
|
198
|
+
);
|
|
199
|
+
return withoutUndefined({
|
|
200
|
+
id_token: idTokenResponse.payload,
|
|
201
|
+
access_token: accessTokenResponse.payload,
|
|
202
|
+
refresh_token: tokens.refresh_token
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// src/constants.ts
|
|
208
|
+
var DEFAULT_SCOPES = [
|
|
209
|
+
"openid",
|
|
210
|
+
"profile",
|
|
211
|
+
"email",
|
|
212
|
+
"forwardedTokens",
|
|
213
|
+
"offline_access"
|
|
214
|
+
];
|
|
215
|
+
var IFRAME_ID = "civic-auth-iframe";
|
|
216
|
+
var AUTH_SERVER = "https://auth-dev.civic.com/oauth";
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
exports.getOauthEndpoints = getOauthEndpoints; exports.generateState = generateState; exports.displayModeFromState = displayModeFromState; exports.isPopupBlocked = isPopupBlocked; exports.cn = cn; exports.deriveCodeChallenge = deriveCodeChallenge; exports.getEndpointsWithOverrides = getEndpointsWithOverrides; exports.generateOauthLoginUrl = generateOauthLoginUrl; exports.generateOauthLogoutUrl = generateOauthLogoutUrl; exports.buildOauth2Client = buildOauth2Client; exports.exchangeTokens = exchangeTokens; exports.storeTokens = storeTokens; exports.clearTokens = clearTokens; exports.retrieveTokens = retrieveTokens; exports.validateOauth2Tokens = validateOauth2Tokens; exports.DEFAULT_SCOPES = DEFAULT_SCOPES; exports.IFRAME_ID = IFRAME_ID; exports.AUTH_SERVER = AUTH_SERVER;
|
|
238
|
+
//# sourceMappingURL=chunk-VXIWRZWU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/chunk-VXIWRZWU.js","../src/utils.ts","../src/shared/types.ts","../src/shared/util.ts","../src/lib/oauth.ts","../src/constants.ts"],"names":["NextjsServerCookies"],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACLA,4BAAsC;AACtC,+CAAwB;AAUxB,IAAM,eAAA,EAAiB,CAAA,EAAA,GAAe;AAEpC,EAAA,MAAM,MAAA,EAAQ,MAAA,CAAO,IAAA,CAAK,EAAA,EAAI,EAAA,EAAI,kBAAkB,CAAA;AAGpD,EAAA,GAAA,CAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI;AAEF,IAAA,GAAA,CAAI,OAAO,KAAA,CAAM,OAAA,IAAW,WAAA,EAAa;AACvC,MAAA,MAAM,IAAI,KAAA,CAAM,kBAAkB,CAAA;AAAA,IACpC;AAAA,EACF,EAAA,MAAA,CAAQ,CAAA,EAAA;AAEN,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,KAAA,CAAM,KAAA,CAAM,CAAA;AACZ,EAAA,OAAO,KAAA;AACT,CAAA;AAEA,IAAM,GAAA,EAAK,CAAA,GAAI,MAAA,EAAA,GAAyB;AACtC,EAAA,OAAO,oCAAA,wBAAQ,MAAW,CAAC,CAAA;AAC7B,CAAA;AAUO,IAAM,iBAAA,EAAmB,CAC9B,GAAA,EAAA,GACwB;AACxB,EAAA,MAAM,OAAA,EAAS,CAAC,CAAA;AAEhB,EAAA,IAAA,CAAA,MAAW,IAAA,GAAO,GAAA,EAAK;AACrB,IAAA,GAAA,CAAI,GAAA,CAAI,GAAG,EAAA,IAAM,KAAA,CAAA,EAAW;AAI1B,MAAC,MAAA,CAAe,GAAG,EAAA,EAAI,GAAA,CAAI,GAAG,CAAA;AAAA,IAChC;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT,CAAA;AD3BA;AACA;AEpCO,IAAK,oBAAA,kBAAL,CAAA,CAAKA,oBAAAA,EAAAA,GAAL;AACL,EAAAA,oBAAAA,CAAA,UAAA,EAAA,EAAW,UAAA;AACX,EAAAA,oBAAAA,CAAA,cAAA,EAAA,EAAe,cAAA;AACf,EAAAA,oBAAAA,CAAA,eAAA,EAAA,EAAgB,eAAA;AAHN,EAAA,OAAAA,oBAAAA;AAAA,CAAA,CAAA,CAAA,oBAAA,GAAA,CAAA,CAAA,CAAA;AF2CZ;AACA;AGlCA,qCAA6B;AHoC7B;AACA;AI9CA,4BAA2B;AAE3B,IAAM,oBAAA,EAAsB,CAAC,MAAA,EAAA,GAA6B;AACxD,EAAA,MAAM,mBAAA,EAAqB,MAAA,CAAO,QAAA,CAAS,GAAG,EAAA,EAC1C,MAAA,CAAO,KAAA,CAAM,CAAA,EAAG,MAAA,CAAO,OAAA,EAAS,CAAC,EAAA,EACjC,MAAA;AAEJ,EAAA,MAAM,gBAAA,EAAkB,CAAA,EAAA;AAEhB,EAAA;AACV;AAE0B;AAGO;AACzB,EAAA;AACgB,IAAA;AACtB,EAAA;AAEG,EAAA;AACI,EAAA;AACc,IAAA;AACA,IAAA;AACC,IAAA;AACG,IAAA;AACzB,EAAA;AACF;AAOuB;AACG,EAAA;AACX,IAAA;AACX,IAAA;AACD,EAAA;AAEqB,EAAA;AACxB;AAQ6B;AAIvB,EAAA;AACiB,IAAA;AAED,IAAA;AACR,EAAA;AACI,IAAA;AACP,IAAA;AACT,EAAA;AACF;AJqB2B;AACA;AGxEL;AAQA;AAGH,EAAA;AACF,IAAA;AACA,MAAA;AACN,MAAA;AACT,IAAA;AAEoB,IAAA;AACC,IAAA;AACA,IAAA;AACF,IAAA;AAIrB,EAAA;AAAA;AAEsB;AAGpB,EAAA;AACkB,IAAA;AACX,IAAA;AAIT,EAAA;AAAA;AAEsB;AASL,EAAA;AACG,IAAA;AACT,MAAA;AACA,MAAA;AACT,IAAA;AACqB,IAAA;AACZ,MAAA;AACA,MAAA;AACP,MAAA;AACF,IAAA;AACkB,IAAA;AACK,IAAA;AACP,MAAA;AACC,MAAA;AAChB,IAAA;AAGqB,IAAA;AACA,IAAA;AACf,IAAA;AACT,EAAA;AAAA;AAEsB;AAOL,EAAA;AAEG,IAAA;AACH,IAAA;AACjB,EAAA;AAAA;AAGE;AAIW,EAAA;AACT,IAAA;AACU,IAAA;AACA,IAAA;AAAA;AAEK,IAAA;AACjB,EAAA;AACF;AAGE;AAMA,EAAA;AACqB,IAAA;AACF,IAAA;AAGX,IAAA;AACJ,MAAA;AACD,IAAA;AAGC,IAAA;AACI,MAAA;AACQ,IAAA;AACA,MAAA;AACJ,MAAA;AACR,QAAA;AACF,MAAA;AACF,IAAA;AAEO,IAAA;AACT,EAAA;AAAA;AAGE;AAIQ,EAAA;AACA,EAAA;AACG,EAAA;AACD,IAAA;AACZ;AAE4B;AACZ,EAAA;AACU,IAAA;AACvB,EAAA;AACH;AAGE;AAEwB,EAAA;AACJ,EAAA;AACC,EAAA;AAEJ,EAAA;AAEV,EAAA;AACK,IAAA;AACI,IAAA;AACC,IAAA;AACjB,EAAA;AACF;AAEsB;AAKG,EAAA;AACL,IAAA;AAGZ,IAAA;AACG,MAAA;AACP,MAAA;AACA,MAAA;AACU,QAAA;AACE,QAAA;AACZ,MAAA;AACF,IAAA;AAGM,IAAA;AACG,MAAA;AACP,MAAA;AACA,MAAA;AACU,QAAA;AACV,MAAA;AACF,IAAA;AAEO,IAAA;AACK,MAAA;AACI,MAAA;AACC,MAAA;AAChB,IAAA;AACH,EAAA;AAAA;AHI2B;AACA;AK9MJ;AACrB,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;AACkB;AAEE;AL+MO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/chunk-VXIWRZWU.js","sourcesContent":[null,"import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n/**\n * Checks if a popup window is blocked by the browser.\n *\n * This function attempts to open a small popup window and then checks if it was successfully created.\n * If the popup is blocked by the browser, the function returns `true`. Otherwise, it returns `false`.\n *\n * @returns {boolean} - `true` if the popup is blocked, `false` otherwise.\n */\nconst isPopupBlocked = (): boolean => {\n // First we try to open a small popup window. It either returns a window object or null.\n const popup = window.open(\"\", \"\", \"width=1,height=1\");\n\n // If window.open() returns null, popup is definitely blocked\n if (!popup) {\n return true;\n }\n\n try {\n // Try to access a property of the popup to check if it's usable\n if (typeof popup.closed === \"undefined\") {\n throw new Error(\"Popup is blocked\");\n }\n } catch {\n // Accessing the popup's properties throws an error if the popup is blocked\n return true;\n }\n\n // Close the popup immediately if it was opened\n popup.close();\n return false;\n};\n\nconst cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n\n// This type narrows T as far as it can by:\n// - removing all keys where the value is `undefined`\n// - making keys that are not undefined required\n// So, for example: given { a: string | undefined, b: string | undefined },\n// if you pass in { a: \"foo\" }, it returns an object of type: { a: string }\ntype WithoutUndefined<T> = {\n [K in keyof T as undefined extends T[K] ? never : K]: T[K];\n};\nexport const withoutUndefined = <T extends { [K in keyof T]: unknown }>(\n obj: T,\n): WithoutUndefined<T> => {\n const result = {} as WithoutUndefined<T>;\n\n for (const key in obj) {\n if (obj[key] !== undefined) {\n // TypeScript needs assurance that key is a valid key in WithoutUndefined<T>\n // We use type assertion here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[key] = obj[key];\n }\n }\n\n return result;\n};\n\nexport { cn, isPopupBlocked };\n","export enum NextjsServerCookies {\n ID_TOKEN = \"id_token\",\n ACCESS_TOKEN = \"access_token\",\n REFRESH_TOKEN = \"refresh_token\",\n}\n\nexport enum NextjsClientCookies {\n USER = \"user\",\n}\n","// Utility functions shared by auth server and client integrations\n// Typically these functions should be used inside AuthenticationInitiator and AuthenticationResolver implementations\n\nimport {\n Endpoints,\n JWTPayload,\n OIDCTokenResponseBody,\n ParsedTokens,\n} from \"@/types.js\";\nimport { NextjsServerCookies } from \"./types\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { getIssuerVariations, getOauthEndpoints } from \"@/lib/oauth.js\";\nimport * as jose from \"jose\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport { AuthStorage } from \"@/shared/storage.js\";\nimport { PKCEConsumer, PKCEProducer } from \"@/services/types.js\";\n\n/**\n * Given a PKCE code verifier, derive the code challenge using SHA\n */\nexport async function deriveCodeChallenge(\n codeVerifier: string,\n method: \"Plain\" | \"S256\" = \"S256\",\n): Promise<string> {\n if (method === \"Plain\") {\n console.warn(\"Using insecure plain code challenge method\");\n return codeVerifier;\n }\n\n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await crypto.subtle.digest(\"SHA-256\", data);\n return btoa(String.fromCharCode(...new Uint8Array(digest)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n}\n\nexport async function getEndpointsWithOverrides(\n oauthServer: string,\n endpointOverrides: Partial<Endpoints> = {},\n) {\n const endpoints = await getOauthEndpoints(oauthServer);\n return {\n ...endpoints,\n ...endpointOverrides,\n };\n}\n\nexport async function generateOauthLoginUrl(config: {\n clientId: string;\n scopes: string[];\n state: string;\n redirectUrl: string;\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n const endpoints = await getEndpointsWithOverrides(\n config.oauthServer,\n config.endpointOverrides,\n );\n const oauth2Client = buildOauth2Client(\n config.clientId,\n config.redirectUrl,\n endpoints,\n );\n const challenge = await config.pkceConsumer.getCodeChallenge();\n const oAuthUrl = await oauth2Client.createAuthorizationURL({\n state: config.state,\n scopes: config.scopes,\n });\n // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source\n // It only allows passing in a code verifier which it then hashes itself.\n oAuthUrl.searchParams.append(\"code_challenge\", challenge);\n oAuthUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n return oAuthUrl;\n}\n\nexport async function generateOauthLogoutUrl(config: {\n clientId: string;\n scopes: string[];\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n // TODO\n console.log(config);\n return new URL(\"http://localhost\");\n}\n\nexport function buildOauth2Client(\n clientId: string,\n redirectUri: string,\n endpoints: Endpoints,\n): OAuth2Client {\n return new OAuth2Client(\n clientId,\n endpoints.auth,\n endpoints.token,\n // this\n { redirectURI: redirectUri },\n );\n}\n\nexport async function exchangeTokens(\n code: string,\n state: string,\n pkceProducer: PKCEProducer,\n oauth2Client: OAuth2Client,\n oauthServer: string,\n endpoints: Endpoints,\n) {\n const codeVerifier = await pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in state\");\n\n const tokens =\n await oauth2Client.validateAuthorizationCode<OIDCTokenResponseBody>(code, {\n codeVerifier,\n });\n\n // Validate relevant tokens\n try {\n await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);\n } catch (error) {\n console.error(\"tokenExchange error\", { error, tokens });\n throw new Error(\n `OIDC tokens validation failed: ${(error as Error).message}`,\n );\n }\n\n return tokens;\n}\n\nexport function storeTokens(\n storage: AuthStorage,\n tokens: OIDCTokenResponseBody,\n) {\n // store tokens in storage ( TODO we should probably store them against the state to allow multiple logins )\n storage.set(NextjsServerCookies.ID_TOKEN, tokens.id_token);\n storage.set(NextjsServerCookies.ACCESS_TOKEN, tokens.access_token);\n if (tokens.refresh_token)\n storage.set(NextjsServerCookies.REFRESH_TOKEN, tokens.refresh_token);\n}\n\nexport function clearTokens(storage: AuthStorage) {\n Object.values(NextjsServerCookies).forEach((cookie) => {\n storage.set(cookie, \"\");\n });\n}\n\nexport function retrieveTokens(\n storage: AuthStorage,\n): OIDCTokenResponseBody | null {\n const idToken = storage.get(NextjsServerCookies.ID_TOKEN);\n const accessToken = storage.get(NextjsServerCookies.ACCESS_TOKEN);\n const refreshToken = storage.get(NextjsServerCookies.REFRESH_TOKEN);\n\n if (!idToken || !accessToken) return null;\n\n return {\n id_token: idToken,\n access_token: accessToken,\n refresh_token: refreshToken ?? undefined,\n };\n}\n\nexport async function validateOauth2Tokens(\n tokens: OIDCTokenResponseBody,\n endpoints: Endpoints,\n oauth2Client: OAuth2Client,\n oauthServer: string,\n): Promise<ParsedTokens> {\n const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));\n\n // validate the ID token\n const idTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.id_token,\n JWKS,\n {\n issuer: getIssuerVariations(oauthServer),\n audience: oauth2Client.clientId,\n },\n );\n\n // validate the access token\n const accessTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.access_token,\n JWKS,\n {\n issuer: getIssuerVariations(oauthServer),\n },\n );\n\n return withoutUndefined({\n id_token: idTokenResponse.payload,\n access_token: accessTokenResponse.payload,\n refresh_token: tokens.refresh_token,\n });\n}\n","import { DisplayMode, Endpoints, OpenIdConfiguration } from \"@/types\";\nimport { v4 as uuid } from \"uuid\";\n\nconst getIssuerVariations = (issuer: string): string[] => {\n const issuerWithoutSlash = issuer.endsWith(\"/\")\n ? issuer.slice(0, issuer.length - 1)\n : issuer;\n\n const issuerWithSlash = `${issuerWithoutSlash}/`;\n\n return [issuerWithoutSlash, issuerWithSlash];\n};\n\nconst addSlashIfNeeded = (url: string): string =>\n url.endsWith(\"/\") ? url : `${url}/`;\n\nconst getOauthEndpoints = async (oauthServer: string): Promise<Endpoints> => {\n const openIdConfigResponse = await fetch(\n `${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`,\n );\n const openIdConfig =\n (await openIdConfigResponse.json()) as OpenIdConfiguration;\n return {\n jwks: openIdConfig.jwks_uri,\n auth: openIdConfig.authorization_endpoint,\n token: openIdConfig.token_endpoint,\n userinfo: openIdConfig.userinfo_endpoint,\n };\n};\n\n/**\n * creates a state string for the OAuth2 flow, encoding the display mode too for future use\n * @param {DisplayMode} displayMode\n * @returns {string}\n */\nconst generateState = (displayMode: DisplayMode): string => {\n const jsonString = JSON.stringify({\n uuid: uuid(),\n displayMode,\n });\n\n return btoa(jsonString);\n};\n\n/**\n * parses the state string from the OAuth2 flow, decoding the display mode too\n * @param state\n * @param sessionDisplayMode\n * @returns { uuid: string, displayMode: DisplayMode }\n */\nconst displayModeFromState = (\n state: string,\n sessionDisplayMode: DisplayMode | undefined,\n): DisplayMode | undefined => {\n try {\n const jsonString = btoa(state);\n\n return JSON.parse(jsonString).displayMode;\n } catch (e) {\n console.error(\"Failed to parse displayMode from state:\", state);\n return sessionDisplayMode;\n }\n};\n\nexport {\n getIssuerVariations,\n getOauthEndpoints,\n displayModeFromState,\n generateState,\n};\n","const DEFAULT_SCOPES = [\n \"openid\",\n \"profile\",\n \"email\",\n \"forwardedTokens\",\n \"offline_access\",\n];\nconst IFRAME_ID = \"civic-auth-iframe\";\n\nconst AUTH_SERVER = \"https://auth-dev.civic.com/oauth\";\n\nexport { DEFAULT_SCOPES, IFRAME_ID, AUTH_SERVER };\n"]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkCRTRMMJ7js = require('./chunk-CRTRMMJ7.js');
|
|
5
|
+
|
|
6
|
+
// src/lib/logger.ts
|
|
7
|
+
var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
|
|
8
|
+
var PACKAGE_NAME = "@civic/auth";
|
|
9
|
+
var DebugLogger = class {
|
|
10
|
+
constructor(namespace) {
|
|
11
|
+
this.debugLogger = _debug2.default.call(void 0, `${PACKAGE_NAME}:${namespace}:debug`);
|
|
12
|
+
this.infoLogger = _debug2.default.call(void 0, `${PACKAGE_NAME}:${namespace}:info`);
|
|
13
|
+
this.warnLogger = _debug2.default.call(void 0, `${PACKAGE_NAME}:${namespace}:warn`);
|
|
14
|
+
this.errorLogger = _debug2.default.call(void 0, `${PACKAGE_NAME}:${namespace}:error`);
|
|
15
|
+
this.debugLogger.color = "4";
|
|
16
|
+
this.infoLogger.color = "2";
|
|
17
|
+
this.warnLogger.color = "3";
|
|
18
|
+
this.errorLogger.color = "1";
|
|
19
|
+
}
|
|
20
|
+
debug(message, ...args) {
|
|
21
|
+
this.debugLogger(message, ...args);
|
|
22
|
+
}
|
|
23
|
+
info(message, ...args) {
|
|
24
|
+
this.infoLogger(message, ...args);
|
|
25
|
+
}
|
|
26
|
+
warn(message, ...args) {
|
|
27
|
+
this.warnLogger(message, ...args);
|
|
28
|
+
}
|
|
29
|
+
error(message, ...args) {
|
|
30
|
+
this.errorLogger(message, ...args);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var createLogger = (namespace) => new DebugLogger(namespace);
|
|
34
|
+
var loggers = {
|
|
35
|
+
// Next.js specific loggers
|
|
36
|
+
nextjs: {
|
|
37
|
+
routes: createLogger("api:routes"),
|
|
38
|
+
middleware: createLogger("api:middleware"),
|
|
39
|
+
handlers: {
|
|
40
|
+
auth: createLogger("api:handlers:auth")
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
// React specific loggers
|
|
44
|
+
react: {
|
|
45
|
+
components: createLogger("react:components"),
|
|
46
|
+
hooks: createLogger("react:hooks"),
|
|
47
|
+
context: createLogger("react:context")
|
|
48
|
+
},
|
|
49
|
+
// Shared utilities loggers
|
|
50
|
+
services: {
|
|
51
|
+
validation: createLogger("utils:validation"),
|
|
52
|
+
network: createLogger("utils:network")
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// src/nextjs/config.ts
|
|
57
|
+
var logger = loggers.nextjs.handlers.auth;
|
|
58
|
+
var defaultAuthConfig = {
|
|
59
|
+
oauthServer: "https://auth-dev.civic.com/oauth",
|
|
60
|
+
callbackUrl: "/api/auth/callback",
|
|
61
|
+
challengeUrl: "/api/auth/challenge",
|
|
62
|
+
logoutUrl: "/api/auth/logout",
|
|
63
|
+
loginUrl: "/",
|
|
64
|
+
include: ["/*"],
|
|
65
|
+
exclude: [],
|
|
66
|
+
cookies: {
|
|
67
|
+
tokens: {
|
|
68
|
+
sameSite: "strict",
|
|
69
|
+
path: "/",
|
|
70
|
+
maxAge: 60 * 60
|
|
71
|
+
// 1 hour
|
|
72
|
+
},
|
|
73
|
+
user: {
|
|
74
|
+
sameSite: "strict",
|
|
75
|
+
path: "/",
|
|
76
|
+
maxAge: 60 * 60
|
|
77
|
+
// 1 hour
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
var withoutUndefined = (obj) => {
|
|
82
|
+
const result = {};
|
|
83
|
+
for (const key in obj) {
|
|
84
|
+
if (obj[key] !== void 0) {
|
|
85
|
+
result[key] = obj[key];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
};
|
|
90
|
+
var resolveAuthConfig = (config = {}) => {
|
|
91
|
+
var _a, _b, _c, _d;
|
|
92
|
+
const configFromEnv = withoutUndefined({
|
|
93
|
+
clientId: process.env._civic_auth_client_id,
|
|
94
|
+
oauthServer: process.env._civic_oauth_server,
|
|
95
|
+
callbackUrl: process.env._civic_auth_callback_url,
|
|
96
|
+
challengeUrl: process.env._civic_auth_challenge_url,
|
|
97
|
+
loginUrl: process.env._civic_auth_login_url,
|
|
98
|
+
appUrl: process.env._civic_auth_app_url,
|
|
99
|
+
logoutUrl: process.env._civic_auth_logout_url,
|
|
100
|
+
include: (_a = process.env._civic_auth_includes) == null ? void 0 : _a.split(","),
|
|
101
|
+
exclude: (_b = process.env._civic_auth_excludes) == null ? void 0 : _b.split(","),
|
|
102
|
+
cookies: process.env._civic_auth_cookie_config ? JSON.parse(process.env._civic_auth_cookie_config) : void 0
|
|
103
|
+
});
|
|
104
|
+
const mergedConfig = _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, defaultAuthConfig), configFromEnv), config), {
|
|
105
|
+
// Override with directly passed config
|
|
106
|
+
cookies: {
|
|
107
|
+
tokens: _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, defaultAuthConfig.cookies.tokens), ((_c = config.cookies) == null ? void 0 : _c.tokens) || {}),
|
|
108
|
+
user: _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, defaultAuthConfig.cookies.user), ((_d = config.cookies) == null ? void 0 : _d.user) || {})
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
logger.debug("Config from environment:", configFromEnv);
|
|
112
|
+
logger.debug("Resolved config:", mergedConfig);
|
|
113
|
+
if (mergedConfig.clientId === void 0) {
|
|
114
|
+
throw new Error("Civic Auth client ID is required");
|
|
115
|
+
}
|
|
116
|
+
return mergedConfig;
|
|
117
|
+
};
|
|
118
|
+
var createCivicAuthPlugin = (clientId, authConfig = {}) => {
|
|
119
|
+
return (nextConfig) => {
|
|
120
|
+
const resolvedConfig = resolveAuthConfig(_chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, authConfig), { clientId }));
|
|
121
|
+
return _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, nextConfig), {
|
|
122
|
+
env: _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, nextConfig == null ? void 0 : nextConfig.env), {
|
|
123
|
+
// Internal environment variables - do not set these manually
|
|
124
|
+
_civic_auth_client_id: clientId,
|
|
125
|
+
_civic_oauth_server: resolvedConfig.oauthServer,
|
|
126
|
+
_civic_auth_callback_url: resolvedConfig.callbackUrl,
|
|
127
|
+
_civic_auth_challenge_url: resolvedConfig.challengeUrl,
|
|
128
|
+
_civic_auth_login_url: resolvedConfig.loginUrl,
|
|
129
|
+
_civic_auth_logout_url: resolvedConfig.logoutUrl,
|
|
130
|
+
_civic_auth_app_url: resolvedConfig.appUrl,
|
|
131
|
+
_civic_auth_includes: resolvedConfig.include.join(","),
|
|
132
|
+
_civic_auth_excludes: resolvedConfig.exclude.join(","),
|
|
133
|
+
_civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies)
|
|
134
|
+
})
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
// src/nextjs/utils.ts
|
|
140
|
+
var resolveCallbackUrl = (config, alternativeUrl) => {
|
|
141
|
+
var _a;
|
|
142
|
+
const baseUrl = (_a = config.appUrl) != null ? _a : alternativeUrl;
|
|
143
|
+
const callbackUrl = new URL(config == null ? void 0 : config.callbackUrl, baseUrl).toString();
|
|
144
|
+
return callbackUrl.toString();
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
exports.loggers = loggers; exports.defaultAuthConfig = defaultAuthConfig; exports.resolveAuthConfig = resolveAuthConfig; exports.createCivicAuthPlugin = createCivicAuthPlugin; exports.resolveCallbackUrl = resolveCallbackUrl;
|
|
154
|
+
//# sourceMappingURL=chunk-WPISYQG3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/chunk-WPISYQG3.js","../src/lib/logger.ts","../src/nextjs/config.ts","../src/nextjs/utils.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACLA,4EAAkB;AAElB,IAAM,aAAA,EAAe,aAAA;AASrB,IAAM,YAAA,EAAN,MAAoC;AAAA,EAMlC,WAAA,CAAY,SAAA,EAAmB;AAE7B,IAAA,IAAA,CAAK,YAAA,EAAc,6BAAA,CAAM,EAAA;AACD,IAAA;AACA,IAAA;AACC,IAAA;AAEA,IAAA;AACD,IAAA;AACA,IAAA;AACC,IAAA;AAC3B,EAAA;AAEiD,EAAA;AACrB,IAAA;AAC5B,EAAA;AAEgD,EAAA;AACrB,IAAA;AAC3B,EAAA;AAEgD,EAAA;AACrB,IAAA;AAC3B,EAAA;AAEiD,EAAA;AACrB,IAAA;AAC5B,EAAA;AACF;AAE6B;AAIN;AAAA;AAEb,EAAA;AACe,IAAA;AACI,IAAA;AACf,IAAA;AACW,MAAA;AACrB,IAAA;AACF,EAAA;AAAA;AAEO,EAAA;AACoB,IAAA;AACL,IAAA;AACE,IAAA;AACxB,EAAA;AAAA;AAEU,EAAA;AACiB,IAAA;AACH,IAAA;AACxB,EAAA;AACF;ADjB8B;AACA;AElDA;AAiC6C;AAC5D,EAAA;AACA,EAAA;AACC,EAAA;AACH,EAAA;AACD,EAAA;AACI,EAAA;AACJ,EAAA;AACD,EAAA;AACC,IAAA;AACI,MAAA;AACJ,MAAA;AACO,MAAA;AAAA;AACf,IAAA;AACM,IAAA;AACM,MAAA;AACJ,MAAA;AACO,MAAA;AAAA;AACf,IAAA;AACF,EAAA;AACF;AAGE;AAE4B,EAAA;AACL,EAAA;AACO,IAAA;AACL,MAAA;AACvB,IAAA;AACF,EAAA;AACO,EAAA;AACT;AAoBE;AA1FF,EAAA;AA6FwB,EAAA;AACE,IAAA;AACG,IAAA;AACA,IAAA;AACC,IAAA;AACJ,IAAA;AACF,IAAA;AACG,IAAA;AACN,IAAA;AACA,IAAA;AACI,IAAA;AAGtB,EAAA;AAEoB,EAAA;AAAA;AAIV,IAAA;AACC,MAAA;AAIF,MAAA;AAIR,IAAA;AACF,EAAA;AAEa,EAAA;AACA,EAAA;AACI,EAAA;AACC,IAAA;AAClB,EAAA;AACO,EAAA;AACT;AA0BE;AAGoC,EAAA;AACX,IAAA;AAChB,IAAA;AAEA,MAAA;AAAA;AAGH,QAAA;AACqB,QAAA;AACrB,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACqB,QAAA;AACC,QAAA;AACA,QAAA;AACtB,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACF;AF1C8B;AACA;AGvI5B;AAHF,EAAA;AAMkB,EAAA;AACY,EAAA;AACA,EAAA;AAC9B;AHwI8B;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/lucas/dev/civic/civic-auth/packages/civic-auth-client/dist/chunk-WPISYQG3.js","sourcesContent":[null,"import debug from \"debug\";\n\nconst PACKAGE_NAME = \"@civic/auth\";\n\nexport interface Logger {\n debug(message: string, ...args: unknown[]): void;\n info(message: string, ...args: unknown[]): void;\n warn(message: string, ...args: unknown[]): void;\n error(message: string, ...args: unknown[]): void;\n}\n\nclass DebugLogger implements Logger {\n private debugLogger: debug.Debugger;\n private infoLogger: debug.Debugger;\n private warnLogger: debug.Debugger;\n private errorLogger: debug.Debugger;\n\n constructor(namespace: string) {\n // Format: @org/package:library:component:level\n this.debugLogger = debug(`${PACKAGE_NAME}:${namespace}:debug`);\n this.infoLogger = debug(`${PACKAGE_NAME}:${namespace}:info`);\n this.warnLogger = debug(`${PACKAGE_NAME}:${namespace}:warn`);\n this.errorLogger = debug(`${PACKAGE_NAME}:${namespace}:error`);\n\n this.debugLogger.color = \"4\";\n this.infoLogger.color = \"2\";\n this.warnLogger.color = \"3\";\n this.errorLogger.color = \"1\";\n }\n\n debug(message: string, ...args: unknown[]): void {\n this.debugLogger(message, ...args);\n }\n\n info(message: string, ...args: unknown[]): void {\n this.infoLogger(message, ...args);\n }\n\n warn(message: string, ...args: unknown[]): void {\n this.warnLogger(message, ...args);\n }\n\n error(message: string, ...args: unknown[]): void {\n this.errorLogger(message, ...args);\n }\n}\n\nexport const createLogger = (namespace: string): Logger =>\n new DebugLogger(namespace);\n\n// Pre-configured loggers for different parts of your package\nexport const loggers = {\n // Next.js specific loggers\n nextjs: {\n routes: createLogger(\"api:routes\"),\n middleware: createLogger(\"api:middleware\"),\n handlers: {\n auth: createLogger(\"api:handlers:auth\"),\n },\n },\n // React specific loggers\n react: {\n components: createLogger(\"react:components\"),\n hooks: createLogger(\"react:hooks\"),\n context: createLogger(\"react:context\"),\n },\n // Shared utilities loggers\n services: {\n validation: createLogger(\"utils:validation\"),\n network: createLogger(\"utils:network\"),\n },\n} as const;\n","/* eslint-disable turbo/no-undeclared-env-vars */\n\"use server\";\nimport { NextConfig } from \"next\";\nimport { loggers } from \"@/lib/logger\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nexport interface CookieConfig {\n secure?: boolean;\n sameSite?: \"strict\" | \"lax\" | \"none\";\n domain?: string;\n path?: string;\n maxAge?: number;\n}\n\nexport type AuthConfigWithDefaults = {\n clientId: string;\n oauthServer: string;\n callbackUrl: string;\n loginUrl: string;\n logoutUrl: string;\n appUrl?: string;\n challengeUrl: string;\n include: string[];\n exclude: string[];\n cookies: {\n tokens: CookieConfig;\n user: CookieConfig;\n };\n};\n\nexport type AuthConfig = Partial<AuthConfigWithDefaults>;\n\nexport type DefinedAuthConfig = AuthConfigWithDefaults;\n\n/**\n * Default configuration values that will be used if not overridden\n */\nexport const defaultAuthConfig: Omit<AuthConfigWithDefaults, \"clientId\"> = {\n oauthServer: \"https://auth-dev.civic.com/oauth\",\n callbackUrl: \"/api/auth/callback\",\n challengeUrl: \"/api/auth/challenge\",\n logoutUrl: \"/api/auth/logout\",\n loginUrl: \"/\",\n include: [\"/*\"],\n exclude: [],\n cookies: {\n tokens: {\n sameSite: \"strict\",\n path: \"/\",\n maxAge: 60 * 60, // 1 hour\n },\n user: {\n sameSite: \"strict\",\n path: \"/\",\n maxAge: 60 * 60, // 1 hour\n },\n },\n};\n\nconst withoutUndefined = <T extends { [k: string]: unknown }>(\n obj: T,\n): Partial<T> => {\n const result: Partial<T> = {};\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key];\n }\n }\n return result;\n};\n\n/**\n * Resolves the authentication configuration by combining:\n * 1. Default values\n * 2. Environment variables (set internally by the plugin)\n * 3. Explicitly passed configuration\n *\n * Note: Developers should not set _civic_auth_* environment variables directly.\n * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:\n *\n * @example\n * ```js\n * // next.config.js\n * export default createCivicAuthPlugin({\n * callbackUrl: '/custom/callback',\n * })\n * ```\n */\nexport const resolveAuthConfig = (\n config: AuthConfig = {},\n): AuthConfigWithDefaults & { clientId: string } => {\n // Read configuration that was set by the plugin via environment variables\n const configFromEnv = withoutUndefined({\n clientId: process.env._civic_auth_client_id,\n oauthServer: process.env._civic_oauth_server,\n callbackUrl: process.env._civic_auth_callback_url,\n challengeUrl: process.env._civic_auth_challenge_url,\n loginUrl: process.env._civic_auth_login_url,\n appUrl: process.env._civic_auth_app_url,\n logoutUrl: process.env._civic_auth_logout_url,\n include: process.env._civic_auth_includes?.split(\",\"),\n exclude: process.env._civic_auth_excludes?.split(\",\"),\n cookies: process.env._civic_auth_cookie_config\n ? JSON.parse(process.env._civic_auth_cookie_config)\n : undefined,\n });\n\n const mergedConfig = {\n ...defaultAuthConfig,\n ...configFromEnv, // Apply plugin-set config\n ...config, // Override with directly passed config\n cookies: {\n tokens: {\n ...defaultAuthConfig.cookies.tokens,\n ...(config.cookies?.tokens || {}),\n },\n user: {\n ...defaultAuthConfig.cookies.user,\n ...(config.cookies?.user || {}),\n },\n },\n };\n\n logger.debug(\"Config from environment:\", configFromEnv);\n logger.debug(\"Resolved config:\", mergedConfig);\n if (mergedConfig.clientId === undefined) {\n throw new Error(\"Civic Auth client ID is required\");\n }\n return mergedConfig as AuthConfigWithDefaults & { clientId: string };\n};\n\n/**\n * Creates a Next.js plugin that handles auth configuration.\n *\n * This is the main configuration point for the auth system.\n * Do not set _civic_auth_* environment variables directly - instead,\n * pass your configuration here:\n *\n * @example\n * ```js\n * // next.config.js\n * export tefault createCivicAuthPlugin({\n * clientId: 'my-client-id',\n * callbackUrl: '/custom/callback',\n * loginUrl: '/custom/login',\n * logoutUrl: '/custom/logout',\n * include: ['/protected/*'],\n * exclude: ['/public/*']\n * })\n * ```\n *\n * The plugin sets internal environment variables that are used by\n * the auth system. These variables should not be set manually.\n */\nexport const createCivicAuthPlugin = (\n clientId: string,\n authConfig: AuthConfig = {},\n) => {\n return (nextConfig?: NextConfig) => {\n const resolvedConfig = resolveAuthConfig({ ...authConfig, clientId });\n return {\n ...nextConfig,\n env: {\n ...nextConfig?.env,\n // Internal environment variables - do not set these manually\n _civic_auth_client_id: clientId,\n _civic_oauth_server: resolvedConfig.oauthServer,\n _civic_auth_callback_url: resolvedConfig.callbackUrl,\n _civic_auth_challenge_url: resolvedConfig.challengeUrl,\n _civic_auth_login_url: resolvedConfig.loginUrl,\n _civic_auth_logout_url: resolvedConfig.logoutUrl,\n _civic_auth_app_url: resolvedConfig.appUrl,\n _civic_auth_includes: resolvedConfig.include.join(\",\"),\n _civic_auth_excludes: resolvedConfig.exclude.join(\",\"),\n _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),\n },\n };\n };\n};\n","import { AuthConfigWithDefaults } from \"@/nextjs/config\";\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"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { TokenResponseBody } from 'oslo/oauth2';
|
|
2
|
+
import { JWT } from 'oslo/jwt';
|
|
3
|
+
|
|
4
|
+
type UnknownObject = Record<string, unknown>;
|
|
5
|
+
type EmptyObject = Record<string, never>;
|
|
6
|
+
type DisplayMode = "iframe" | "redirect" | "new_tab" | "custom_tab";
|
|
7
|
+
interface AuthSessionService {
|
|
8
|
+
loadAuthorizationUrl(authorizationURL: string, displayMode: DisplayMode): void;
|
|
9
|
+
getAuthorizationUrl(scopes: string[], overrideDisplayMode: DisplayMode, nonce?: string): Promise<string>;
|
|
10
|
+
signIn(displayMode: DisplayMode, scopes: string[], nonce?: string): Promise<void>;
|
|
11
|
+
tokenExchange(responseUrl: string): Promise<SessionData>;
|
|
12
|
+
getSessionData(): SessionData;
|
|
13
|
+
updateSessionData(data: SessionData): void;
|
|
14
|
+
getUserInfoService(): Promise<UserInfoService>;
|
|
15
|
+
}
|
|
16
|
+
interface UserInfoService {
|
|
17
|
+
getUserInfo<T extends UnknownObject>(accessToken: string, idToken: string | null): Promise<User<T> | null>;
|
|
18
|
+
}
|
|
19
|
+
type Endpoints = {
|
|
20
|
+
jwks: string;
|
|
21
|
+
auth: string;
|
|
22
|
+
token: string;
|
|
23
|
+
userinfo: string;
|
|
24
|
+
challenge?: string;
|
|
25
|
+
};
|
|
26
|
+
type Config = {
|
|
27
|
+
oauthServer: string;
|
|
28
|
+
endpoints?: Endpoints;
|
|
29
|
+
};
|
|
30
|
+
type SessionData = {
|
|
31
|
+
authenticated: boolean;
|
|
32
|
+
state?: string;
|
|
33
|
+
accessToken?: string;
|
|
34
|
+
refreshToken?: string;
|
|
35
|
+
idToken?: string;
|
|
36
|
+
timestamp?: number;
|
|
37
|
+
expiresIn?: number;
|
|
38
|
+
codeVerifier?: string;
|
|
39
|
+
displayMode?: DisplayMode;
|
|
40
|
+
openerUrl?: string;
|
|
41
|
+
};
|
|
42
|
+
type OIDCTokenResponseBody = TokenResponseBody & {
|
|
43
|
+
id_token: string;
|
|
44
|
+
};
|
|
45
|
+
type ParsedTokens = {
|
|
46
|
+
id_token: JWTPayload;
|
|
47
|
+
access_token: JWTPayload;
|
|
48
|
+
refresh_token?: string;
|
|
49
|
+
};
|
|
50
|
+
type ForwardedTokens = Record<string, {
|
|
51
|
+
idToken?: string;
|
|
52
|
+
accessToken?: string;
|
|
53
|
+
refreshToken?: string;
|
|
54
|
+
}>;
|
|
55
|
+
type JWTPayload = JWT["payload"] & {
|
|
56
|
+
iss: string;
|
|
57
|
+
aud: string;
|
|
58
|
+
sub: string;
|
|
59
|
+
iat: number;
|
|
60
|
+
exp: number;
|
|
61
|
+
};
|
|
62
|
+
type Tokens = {
|
|
63
|
+
idToken: string;
|
|
64
|
+
accessToken: string;
|
|
65
|
+
refreshToken: string;
|
|
66
|
+
forwardedTokens: ForwardedTokens;
|
|
67
|
+
};
|
|
68
|
+
type BaseUser = {
|
|
69
|
+
id: string;
|
|
70
|
+
email?: string;
|
|
71
|
+
name?: string;
|
|
72
|
+
given_name?: string;
|
|
73
|
+
family_name?: string;
|
|
74
|
+
picture?: string;
|
|
75
|
+
updated_at?: Date;
|
|
76
|
+
};
|
|
77
|
+
type User<T extends UnknownObject = EmptyObject> = BaseUser & Tokens & T;
|
|
78
|
+
|
|
79
|
+
export type { AuthSessionService as A, Config as C, DisplayMode as D, Endpoints as E, ForwardedTokens as F, OIDCTokenResponseBody as O, ParsedTokens as P, SessionData as S, Tokens as T, User as U, UnknownObject as a, UserInfoService as b };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { TokenResponseBody } from 'oslo/oauth2';
|
|
2
|
+
import { JWT } from 'oslo/jwt';
|
|
3
|
+
|
|
4
|
+
type UnknownObject = Record<string, unknown>;
|
|
5
|
+
type EmptyObject = Record<string, never>;
|
|
6
|
+
type DisplayMode = "iframe" | "redirect" | "new_tab" | "custom_tab";
|
|
7
|
+
interface AuthSessionService {
|
|
8
|
+
loadAuthorizationUrl(authorizationURL: string, displayMode: DisplayMode): void;
|
|
9
|
+
getAuthorizationUrl(scopes: string[], overrideDisplayMode: DisplayMode, nonce?: string): Promise<string>;
|
|
10
|
+
signIn(displayMode: DisplayMode, scopes: string[], nonce?: string): Promise<void>;
|
|
11
|
+
tokenExchange(responseUrl: string): Promise<SessionData>;
|
|
12
|
+
getSessionData(): SessionData;
|
|
13
|
+
updateSessionData(data: SessionData): void;
|
|
14
|
+
getUserInfoService(): Promise<UserInfoService>;
|
|
15
|
+
}
|
|
16
|
+
interface UserInfoService {
|
|
17
|
+
getUserInfo<T extends UnknownObject>(accessToken: string, idToken: string | null): Promise<User<T> | null>;
|
|
18
|
+
}
|
|
19
|
+
type Endpoints = {
|
|
20
|
+
jwks: string;
|
|
21
|
+
auth: string;
|
|
22
|
+
token: string;
|
|
23
|
+
userinfo: string;
|
|
24
|
+
challenge?: string;
|
|
25
|
+
};
|
|
26
|
+
type Config = {
|
|
27
|
+
oauthServer: string;
|
|
28
|
+
endpoints?: Endpoints;
|
|
29
|
+
};
|
|
30
|
+
type SessionData = {
|
|
31
|
+
authenticated: boolean;
|
|
32
|
+
state?: string;
|
|
33
|
+
accessToken?: string;
|
|
34
|
+
refreshToken?: string;
|
|
35
|
+
idToken?: string;
|
|
36
|
+
timestamp?: number;
|
|
37
|
+
expiresIn?: number;
|
|
38
|
+
codeVerifier?: string;
|
|
39
|
+
displayMode?: DisplayMode;
|
|
40
|
+
openerUrl?: string;
|
|
41
|
+
};
|
|
42
|
+
type OIDCTokenResponseBody = TokenResponseBody & {
|
|
43
|
+
id_token: string;
|
|
44
|
+
};
|
|
45
|
+
type ParsedTokens = {
|
|
46
|
+
id_token: JWTPayload;
|
|
47
|
+
access_token: JWTPayload;
|
|
48
|
+
refresh_token?: string;
|
|
49
|
+
};
|
|
50
|
+
type ForwardedTokens = Record<string, {
|
|
51
|
+
idToken?: string;
|
|
52
|
+
accessToken?: string;
|
|
53
|
+
refreshToken?: string;
|
|
54
|
+
}>;
|
|
55
|
+
type JWTPayload = JWT["payload"] & {
|
|
56
|
+
iss: string;
|
|
57
|
+
aud: string;
|
|
58
|
+
sub: string;
|
|
59
|
+
iat: number;
|
|
60
|
+
exp: number;
|
|
61
|
+
};
|
|
62
|
+
type Tokens = {
|
|
63
|
+
idToken: string;
|
|
64
|
+
accessToken: string;
|
|
65
|
+
refreshToken: string;
|
|
66
|
+
forwardedTokens: ForwardedTokens;
|
|
67
|
+
};
|
|
68
|
+
type BaseUser = {
|
|
69
|
+
id: string;
|
|
70
|
+
email?: string;
|
|
71
|
+
name?: string;
|
|
72
|
+
given_name?: string;
|
|
73
|
+
family_name?: string;
|
|
74
|
+
picture?: string;
|
|
75
|
+
updated_at?: Date;
|
|
76
|
+
};
|
|
77
|
+
type User<T extends UnknownObject = EmptyObject> = BaseUser & Tokens & T;
|
|
78
|
+
|
|
79
|
+
export type { AuthSessionService as A, Config as C, DisplayMode as D, Endpoints as E, ForwardedTokens as F, OIDCTokenResponseBody as O, ParsedTokens as P, SessionData as S, Tokens as T, User as U, UnknownObject as a, UserInfoService as b };
|