@civic/auth 0.0.1--.tsc.alpha.1 → 0.0.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -36
- package/dist/index-yT0eVchS.d.mts +52 -0
- package/dist/index-yT0eVchS.d.ts +52 -0
- package/dist/index.css +339 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/nextjs.d.mts +8 -0
- package/dist/nextjs.d.ts +8 -0
- package/dist/nextjs.js +121 -0
- package/dist/nextjs.js.map +1 -0
- package/dist/nextjs.mjs +99 -0
- package/dist/nextjs.mjs.map +1 -0
- package/dist/react.d.mts +66 -0
- package/dist/react.d.ts +66 -0
- package/dist/react.js +1130 -0
- package/dist/react.js.map +1 -0
- package/dist/react.mjs +1096 -0
- package/dist/react.mjs.map +1 -0
- package/package.json +22 -51
- package/.eslintignore +0 -3
- package/.eslintrc.json +0 -10
- package/.prettierignore +0 -3
- package/.prettierrc +0 -4
- package/.turbo/turbo-build.log +0 -13
- package/.turbo/turbo-lint.log +0 -6
- package/.turbo/turbo-test.log +0 -2415
- package/civic-auth-0.0.1-beta.21.tgz +0 -0
- package/dist/cjs/src/browser/storage.d.ts +0 -6
- package/dist/cjs/src/browser/storage.d.ts.map +0 -1
- package/dist/cjs/src/browser/storage.js +0 -13
- package/dist/cjs/src/browser/storage.js.map +0 -1
- package/dist/cjs/src/config.d.ts +0 -3
- package/dist/cjs/src/config.d.ts.map +0 -1
- package/dist/cjs/src/config.js +0 -8
- package/dist/cjs/src/config.js.map +0 -1
- package/dist/cjs/src/constants.d.ts +0 -9
- package/dist/cjs/src/constants.d.ts.map +0 -1
- package/dist/cjs/src/constants.js +0 -26
- package/dist/cjs/src/constants.js.map +0 -1
- package/dist/cjs/src/index.d.ts +0 -5
- package/dist/cjs/src/index.d.ts.map +0 -1
- package/dist/cjs/src/index.js +0 -5
- package/dist/cjs/src/index.js.map +0 -1
- package/dist/cjs/src/lib/cookies.d.ts +0 -7
- package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
- package/dist/cjs/src/lib/cookies.js +0 -26
- package/dist/cjs/src/lib/cookies.js.map +0 -1
- package/dist/cjs/src/lib/jwt.d.ts +0 -3
- package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
- package/dist/cjs/src/lib/jwt.js +0 -13
- package/dist/cjs/src/lib/jwt.js.map +0 -1
- package/dist/cjs/src/lib/logger.d.ts +0 -26
- package/dist/cjs/src/lib/logger.d.ts.map +0 -1
- package/dist/cjs/src/lib/logger.js +0 -62
- package/dist/cjs/src/lib/logger.js.map +0 -1
- package/dist/cjs/src/lib/oauth.d.ts +0 -19
- package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
- package/dist/cjs/src/lib/oauth.js +0 -67
- package/dist/cjs/src/lib/oauth.js.map +0 -1
- package/dist/cjs/src/lib/postMessage.d.ts +0 -4
- package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
- package/dist/cjs/src/lib/postMessage.js +0 -18
- package/dist/cjs/src/lib/postMessage.js.map +0 -1
- package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
- package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/cjs/src/lib/windowUtil.js +0 -34
- package/dist/cjs/src/lib/windowUtil.js.map +0 -1
- package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
- package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/GetUser.js +0 -22
- package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
- package/dist/cjs/src/nextjs/client/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/client/index.js +0 -6
- package/dist/cjs/src/nextjs/client/index.js.map +0 -1
- package/dist/cjs/src/nextjs/config.d.ts +0 -180
- package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/config.js +0 -163
- package/dist/cjs/src/nextjs/config.js.map +0 -1
- package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
- package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/cookies.js +0 -116
- package/dist/cjs/src/nextjs/cookies.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/index.js +0 -6
- package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/cjs/src/nextjs/index.d.ts +0 -7
- package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/index.js +0 -20
- package/dist/cjs/src/nextjs/index.js.map +0 -1
- package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/middleware/index.js +0 -8
- package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
- package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
- package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/middleware.js +0 -116
- package/dist/cjs/src/nextjs/middleware.js.map +0 -1
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -77
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/routeHandler.js +0 -208
- package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
- package/dist/cjs/src/nextjs/utils.d.ts +0 -3
- package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/utils.js +0 -10
- package/dist/cjs/src/nextjs/utils.js.map +0 -1
- package/dist/cjs/src/nextjs/worker/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/worker/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/worker/index.js +0 -8
- package/dist/cjs/src/nextjs/worker/index.js.map +0 -1
- package/dist/cjs/src/reactjs/components/NextLogOut.d.ts +0 -7
- package/dist/cjs/src/reactjs/components/NextLogOut.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/NextLogOut.js +0 -18
- package/dist/cjs/src/reactjs/components/NextLogOut.js.map +0 -1
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/SignInButton.js +0 -16
- package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -16
- package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/UserButton.js +0 -84
- package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
- package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/index.js +0 -14
- package/dist/cjs/src/reactjs/components/index.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -9
- package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.js +0 -20
- package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
- package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
- package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/cjs/src/reactjs/index.d.ts +0 -6
- package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/index.js +0 -30
- package/dist/cjs/src/reactjs/index.js.map +0 -1
- package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
- package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/providers/index.js +0 -19
- package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -66
- package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/cjs/src/server/config.d.ts +0 -16
- package/dist/cjs/src/server/config.d.ts.map +0 -1
- package/dist/cjs/src/server/config.js +0 -3
- package/dist/cjs/src/server/config.js.map +0 -1
- package/dist/cjs/src/server/index.d.ts +0 -6
- package/dist/cjs/src/server/index.d.ts.map +0 -1
- package/dist/cjs/src/server/index.js +0 -14
- package/dist/cjs/src/server/index.js.map +0 -1
- package/dist/cjs/src/server/login.d.ts +0 -17
- package/dist/cjs/src/server/login.d.ts.map +0 -1
- package/dist/cjs/src/server/login.js +0 -42
- package/dist/cjs/src/server/login.js.map +0 -1
- package/dist/cjs/src/server/refresh.d.ts +0 -7
- package/dist/cjs/src/server/refresh.d.ts.map +0 -1
- package/dist/cjs/src/server/refresh.js +0 -16
- package/dist/cjs/src/server/refresh.js.map +0 -1
- package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
- package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/cjs/src/services/AuthenticationService.js +0 -228
- package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
- package/dist/cjs/src/services/PKCE.d.ts +0 -20
- package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
- package/dist/cjs/src/services/PKCE.js +0 -50
- package/dist/cjs/src/services/PKCE.js.map +0 -1
- package/dist/cjs/src/services/types.d.ts +0 -23
- package/dist/cjs/src/services/types.d.ts.map +0 -1
- package/dist/cjs/src/services/types.js +0 -11
- package/dist/cjs/src/services/types.js.map +0 -1
- package/dist/cjs/src/shared/AuthContext.d.ts +0 -10
- package/dist/cjs/src/shared/AuthContext.d.ts.map +0 -1
- package/dist/cjs/src/shared/AuthContext.js +0 -6
- package/dist/cjs/src/shared/AuthContext.js.map +0 -1
- package/dist/cjs/src/shared/AuthProvider.d.ts +0 -18
- package/dist/cjs/src/shared/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/AuthProvider.js +0 -276
- package/dist/cjs/src/shared/AuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts +0 -7
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/CivicAuthProvider.js +0 -23
- package/dist/cjs/src/shared/CivicAuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +0 -47
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/cjs/src/shared/UserProvider.d.ts +0 -18
- package/dist/cjs/src/shared/UserProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/UserProvider.js +0 -65
- package/dist/cjs/src/shared/UserProvider.js.map +0 -1
- package/dist/cjs/src/shared/UserSession.d.ts +0 -12
- package/dist/cjs/src/shared/UserSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/UserSession.js +0 -24
- package/dist/cjs/src/shared/UserSession.js.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
- package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -117
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
- package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/LoadingIcon.js +0 -14
- package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
- package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/index.js +0 -12
- package/dist/cjs/src/shared/hooks/index.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
- package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
- package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
- package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useSession.js +0 -16
- package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useToken.js +0 -15
- package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -47
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/UserSession.js +0 -24
- package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
- package/dist/cjs/src/shared/lib/session.d.ts +0 -3
- package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/session.js +0 -13
- package/dist/cjs/src/shared/lib/session.js.map +0 -1
- package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
- package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/storage.js +0 -21
- package/dist/cjs/src/shared/lib/storage.js.map +0 -1
- package/dist/cjs/src/shared/lib/types.d.ts +0 -21
- package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/types.js +0 -18
- package/dist/cjs/src/shared/lib/types.js.map +0 -1
- package/dist/cjs/src/shared/lib/util.d.ts +0 -33
- package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/util.js +0 -164
- package/dist/cjs/src/shared/lib/util.js.map +0 -1
- package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
- package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.js +0 -271
- package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -23
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
- package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
- package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
- package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
- package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
- package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/cjs/src/shared/session.d.ts +0 -3
- package/dist/cjs/src/shared/session.d.ts.map +0 -1
- package/dist/cjs/src/shared/session.js +0 -13
- package/dist/cjs/src/shared/session.js.map +0 -1
- package/dist/cjs/src/shared/storage.d.ts +0 -25
- package/dist/cjs/src/shared/storage.d.ts.map +0 -1
- package/dist/cjs/src/shared/storage.js +0 -21
- package/dist/cjs/src/shared/storage.js.map +0 -1
- package/dist/cjs/src/shared/types.d.ts +0 -21
- package/dist/cjs/src/shared/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/types.js +0 -18
- package/dist/cjs/src/shared/types.js.map +0 -1
- package/dist/cjs/src/shared/util.d.ts +0 -33
- package/dist/cjs/src/shared/util.d.ts.map +0 -1
- package/dist/cjs/src/shared/util.js +0 -164
- package/dist/cjs/src/shared/util.js.map +0 -1
- package/dist/cjs/src/types.d.ts +0 -146
- package/dist/cjs/src/types.d.ts.map +0 -1
- package/dist/cjs/src/types.js +0 -3
- package/dist/cjs/src/types.js.map +0 -1
- package/dist/cjs/src/utils.d.ts +0 -17
- package/dist/cjs/src/utils.d.ts.map +0 -1
- package/dist/cjs/src/utils.js +0 -53
- package/dist/cjs/src/utils.js.map +0 -1
- package/dist/cjs/src/worker/index.d.ts +0 -2
- package/dist/cjs/src/worker/index.d.ts.map +0 -1
- package/dist/cjs/src/worker/index.js +0 -8
- package/dist/cjs/src/worker/index.js.map +0 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +0 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/esm/src/browser/storage.d.ts +0 -6
- package/dist/esm/src/browser/storage.d.ts.map +0 -1
- package/dist/esm/src/browser/storage.js +0 -9
- package/dist/esm/src/browser/storage.js.map +0 -1
- package/dist/esm/src/config.d.ts +0 -3
- package/dist/esm/src/config.d.ts.map +0 -1
- package/dist/esm/src/config.js +0 -5
- package/dist/esm/src/config.js.map +0 -1
- package/dist/esm/src/constants.d.ts +0 -9
- package/dist/esm/src/constants.d.ts.map +0 -1
- package/dist/esm/src/constants.js +0 -17
- package/dist/esm/src/constants.js.map +0 -1
- package/dist/esm/src/index.d.ts +0 -5
- package/dist/esm/src/index.d.ts.map +0 -1
- package/dist/esm/src/index.js +0 -3
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/lib/cookies.d.ts +0 -7
- package/dist/esm/src/lib/cookies.d.ts.map +0 -1
- package/dist/esm/src/lib/cookies.js +0 -23
- package/dist/esm/src/lib/cookies.js.map +0 -1
- package/dist/esm/src/lib/jwt.d.ts +0 -3
- package/dist/esm/src/lib/jwt.d.ts.map +0 -1
- package/dist/esm/src/lib/jwt.js +0 -9
- package/dist/esm/src/lib/jwt.js.map +0 -1
- package/dist/esm/src/lib/logger.d.ts +0 -26
- package/dist/esm/src/lib/logger.d.ts.map +0 -1
- package/dist/esm/src/lib/logger.js +0 -55
- package/dist/esm/src/lib/logger.js.map +0 -1
- package/dist/esm/src/lib/oauth.d.ts +0 -19
- package/dist/esm/src/lib/oauth.d.ts.map +0 -1
- package/dist/esm/src/lib/oauth.js +0 -60
- package/dist/esm/src/lib/oauth.js.map +0 -1
- package/dist/esm/src/lib/postMessage.d.ts +0 -4
- package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
- package/dist/esm/src/lib/postMessage.js +0 -15
- package/dist/esm/src/lib/postMessage.js.map +0 -1
- package/dist/esm/src/lib/windowUtil.d.ts +0 -4
- package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/esm/src/lib/windowUtil.js +0 -30
- package/dist/esm/src/lib/windowUtil.js.map +0 -1
- package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
- package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/esm/src/nextjs/GetUser.js +0 -18
- package/dist/esm/src/nextjs/GetUser.js.map +0 -1
- package/dist/esm/src/nextjs/client/index.d.ts +0 -2
- package/dist/esm/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/client/index.js +0 -2
- package/dist/esm/src/nextjs/client/index.js.map +0 -1
- package/dist/esm/src/nextjs/config.d.ts +0 -180
- package/dist/esm/src/nextjs/config.d.ts.map +0 -1
- package/dist/esm/src/nextjs/config.js +0 -158
- package/dist/esm/src/nextjs/config.js.map +0 -1
- package/dist/esm/src/nextjs/cookies.d.ts +0 -30
- package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/esm/src/nextjs/cookies.js +0 -109
- package/dist/esm/src/nextjs/cookies.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/index.js +0 -2
- package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
- package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/esm/src/nextjs/index.d.ts +0 -7
- package/dist/esm/src/nextjs/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/index.js +0 -6
- package/dist/esm/src/nextjs/index.js.map +0 -1
- package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/middleware/index.js +0 -2
- package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
- package/dist/esm/src/nextjs/middleware.d.ts +0 -59
- package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
- package/dist/esm/src/nextjs/middleware.js +0 -107
- package/dist/esm/src/nextjs/middleware.js.map +0 -1
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -51
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/esm/src/nextjs/routeHandler.js +0 -203
- package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
- package/dist/esm/src/nextjs/utils.d.ts +0 -3
- package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
- package/dist/esm/src/nextjs/utils.js +0 -6
- package/dist/esm/src/nextjs/utils.js.map +0 -1
- package/dist/esm/src/nextjs/worker/index.d.ts +0 -2
- package/dist/esm/src/nextjs/worker/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/worker/index.js +0 -2
- package/dist/esm/src/nextjs/worker/index.js.map +0 -1
- package/dist/esm/src/reactjs/components/NextLogOut.d.ts +0 -7
- package/dist/esm/src/reactjs/components/NextLogOut.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/NextLogOut.js +0 -12
- package/dist/esm/src/reactjs/components/NextLogOut.js.map +0 -1
- package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/SignInButton.js +0 -10
- package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/SignOutButton.js +0 -10
- package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/UserButton.js +0 -58
- package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/index.d.ts +0 -6
- package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/index.js +0 -6
- package/dist/esm/src/reactjs/components/index.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.d.ts +0 -9
- package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.js +0 -9
- package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
- package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
- package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/esm/src/reactjs/index.d.ts +0 -6
- package/dist/esm/src/reactjs/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/index.js +0 -8
- package/dist/esm/src/reactjs/index.js.map +0 -1
- package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
- package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/providers/index.js +0 -7
- package/dist/esm/src/reactjs/providers/index.js.map +0 -1
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -62
- package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/esm/src/server/config.d.ts +0 -16
- package/dist/esm/src/server/config.d.ts.map +0 -1
- package/dist/esm/src/server/config.js +0 -2
- package/dist/esm/src/server/config.js.map +0 -1
- package/dist/esm/src/server/index.d.ts +0 -6
- package/dist/esm/src/server/index.d.ts.map +0 -1
- package/dist/esm/src/server/index.js +0 -5
- package/dist/esm/src/server/index.js.map +0 -1
- package/dist/esm/src/server/login.d.ts +0 -17
- package/dist/esm/src/server/login.d.ts.map +0 -1
- package/dist/esm/src/server/login.js +0 -37
- package/dist/esm/src/server/login.js.map +0 -1
- package/dist/esm/src/server/refresh.d.ts +0 -7
- package/dist/esm/src/server/refresh.d.ts.map +0 -1
- package/dist/esm/src/server/refresh.js +0 -13
- package/dist/esm/src/server/refresh.js.map +0 -1
- package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
- package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/esm/src/services/AuthenticationService.js +0 -222
- package/dist/esm/src/services/AuthenticationService.js.map +0 -1
- package/dist/esm/src/services/PKCE.d.ts +0 -20
- package/dist/esm/src/services/PKCE.d.ts.map +0 -1
- package/dist/esm/src/services/PKCE.js +0 -44
- package/dist/esm/src/services/PKCE.js.map +0 -1
- package/dist/esm/src/services/types.d.ts +0 -23
- package/dist/esm/src/services/types.d.ts.map +0 -1
- package/dist/esm/src/services/types.js +0 -7
- package/dist/esm/src/services/types.js.map +0 -1
- package/dist/esm/src/shared/AuthContext.d.ts +0 -10
- package/dist/esm/src/shared/AuthContext.d.ts.map +0 -1
- package/dist/esm/src/shared/AuthContext.js +0 -3
- package/dist/esm/src/shared/AuthContext.js.map +0 -1
- package/dist/esm/src/shared/AuthProvider.d.ts +0 -18
- package/dist/esm/src/shared/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/AuthProvider.js +0 -250
- package/dist/esm/src/shared/AuthProvider.js.map +0 -1
- package/dist/esm/src/shared/CivicAuthProvider.d.ts +0 -7
- package/dist/esm/src/shared/CivicAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/CivicAuthProvider.js +0 -17
- package/dist/esm/src/shared/CivicAuthProvider.js.map +0 -1
- package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/esm/src/shared/GenericAuthenticationRefresher.js +0 -43
- package/dist/esm/src/shared/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/esm/src/shared/UserProvider.d.ts +0 -18
- package/dist/esm/src/shared/UserProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/UserProvider.js +0 -38
- package/dist/esm/src/shared/UserProvider.js.map +0 -1
- package/dist/esm/src/shared/UserSession.d.ts +0 -12
- package/dist/esm/src/shared/UserSession.d.ts.map +0 -1
- package/dist/esm/src/shared/UserSession.js +0 -20
- package/dist/esm/src/shared/UserSession.js.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
- package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -91
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CloseIcon.js +0 -6
- package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/esm/src/shared/components/LoadingIcon.js +0 -8
- package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/esm/src/shared/hooks/index.d.ts +0 -5
- package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/index.js +0 -5
- package/dist/esm/src/shared/hooks/index.js.map +0 -1
- package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useAuth.js +0 -12
- package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useConfig.js +0 -13
- package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useIframe.js +0 -13
- package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useSession.js +0 -13
- package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
- package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useToken.js +0 -12
- package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/UserSession.js +0 -20
- package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
- package/dist/esm/src/shared/lib/session.d.ts +0 -3
- package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/session.js +0 -10
- package/dist/esm/src/shared/lib/session.js.map +0 -1
- package/dist/esm/src/shared/lib/storage.d.ts +0 -25
- package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/storage.js +0 -17
- package/dist/esm/src/shared/lib/storage.js.map +0 -1
- package/dist/esm/src/shared/lib/types.d.ts +0 -21
- package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/types.js +0 -15
- package/dist/esm/src/shared/lib/types.js.map +0 -1
- package/dist/esm/src/shared/lib/util.d.ts +0 -33
- package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/util.js +0 -128
- package/dist/esm/src/shared/lib/util.js.map +0 -1
- package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthContext.js +0 -3
- package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.js +0 -245
- package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -17
- package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
- package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
- package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
- package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
- package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/UserProvider.js +0 -38
- package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/esm/src/shared/session.d.ts +0 -3
- package/dist/esm/src/shared/session.d.ts.map +0 -1
- package/dist/esm/src/shared/session.js +0 -10
- package/dist/esm/src/shared/session.js.map +0 -1
- package/dist/esm/src/shared/storage.d.ts +0 -25
- package/dist/esm/src/shared/storage.d.ts.map +0 -1
- package/dist/esm/src/shared/storage.js +0 -17
- package/dist/esm/src/shared/storage.js.map +0 -1
- package/dist/esm/src/shared/types.d.ts +0 -21
- package/dist/esm/src/shared/types.d.ts.map +0 -1
- package/dist/esm/src/shared/types.js +0 -15
- package/dist/esm/src/shared/types.js.map +0 -1
- package/dist/esm/src/shared/util.d.ts +0 -33
- package/dist/esm/src/shared/util.d.ts.map +0 -1
- package/dist/esm/src/shared/util.js +0 -128
- package/dist/esm/src/shared/util.js.map +0 -1
- package/dist/esm/src/types.d.ts +0 -146
- package/dist/esm/src/types.d.ts.map +0 -1
- package/dist/esm/src/types.js +0 -2
- package/dist/esm/src/types.js.map +0 -1
- package/dist/esm/src/utils.d.ts +0 -17
- package/dist/esm/src/utils.d.ts.map +0 -1
- package/dist/esm/src/utils.js +0 -48
- package/dist/esm/src/utils.js.map +0 -1
- package/dist/esm/src/worker/index.d.ts +0 -2
- package/dist/esm/src/worker/index.d.ts.map +0 -1
- package/dist/esm/src/worker/index.js +0 -2
- package/dist/esm/src/worker/index.js.map +0 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
- package/postcss.config.cjs +0 -6
- package/src/browser/storage.ts +0 -11
- package/src/config.ts +0 -6
- package/src/constants.ts +0 -29
- package/src/index.ts +0 -18
- package/src/lib/cookies.ts +0 -28
- package/src/lib/jwt.ts +0 -15
- package/src/lib/logger.ts +0 -72
- package/src/lib/oauth.ts +0 -83
- package/src/lib/postMessage.ts +0 -22
- package/src/lib/windowUtil.ts +0 -29
- package/src/nextjs/GetUser.ts +0 -22
- package/src/nextjs/client/index.ts +0 -4
- package/src/nextjs/config.ts +0 -203
- package/src/nextjs/cookies.ts +0 -166
- package/src/nextjs/hooks/index.ts +0 -1
- package/src/nextjs/hooks/useTokenCookie.ts +0 -41
- package/src/nextjs/hooks/useUserCookie.ts +0 -41
- package/src/nextjs/index.ts +0 -24
- package/src/nextjs/middleware/index.ts +0 -1
- package/src/nextjs/middleware.ts +0 -155
- package/src/nextjs/providers/NextAuthProvider.tsx +0 -89
- package/src/nextjs/routeHandler.ts +0 -276
- package/src/nextjs/utils.ts +0 -10
- package/src/reactjs/components/SignInButton.tsx +0 -30
- package/src/reactjs/components/SignOutButton.tsx +0 -22
- package/src/reactjs/components/UserButton.tsx +0 -153
- package/src/reactjs/components/index.ts +0 -5
- package/src/reactjs/hooks/index.ts +0 -8
- package/src/reactjs/hooks/useAuth.ts +0 -15
- package/src/reactjs/hooks/useUser.ts +0 -20
- package/src/reactjs/index.ts +0 -19
- package/src/reactjs/providers/index.ts +0 -27
- package/src/server/ServerAuthenticationResolver.ts +0 -107
- package/src/server/config.ts +0 -17
- package/src/server/index.ts +0 -12
- package/src/server/login.ts +0 -58
- package/src/server/refresh.ts +0 -23
- package/src/services/AuthenticationService.ts +0 -334
- package/src/services/PKCE.ts +0 -43
- package/src/services/types.ts +0 -54
- package/src/shared/components/CivicAuthIframe.tsx +0 -26
- package/src/shared/components/CivicAuthIframeContainer.tsx +0 -150
- package/src/shared/components/CloseIcon.tsx +0 -21
- package/src/shared/components/LoadingIcon.tsx +0 -25
- package/src/shared/hooks/index.ts +0 -4
- package/src/shared/hooks/useAuth.ts +0 -15
- package/src/shared/hooks/useConfig.ts +0 -14
- package/src/shared/hooks/useIframe.ts +0 -14
- package/src/shared/hooks/useSession.ts +0 -14
- package/src/shared/hooks/useToken.ts +0 -15
- package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -75
- package/src/shared/lib/UserSession.ts +0 -25
- package/src/shared/lib/session.ts +0 -11
- package/src/shared/lib/storage.ts +0 -40
- package/src/shared/lib/types.ts +0 -25
- package/src/shared/lib/util.ts +0 -217
- package/src/shared/providers/AuthContext.tsx +0 -11
- package/src/shared/providers/AuthProvider.tsx +0 -364
- package/src/shared/providers/CivicAuthProvider.tsx +0 -34
- package/src/shared/providers/ConfigProvider.tsx +0 -50
- package/src/shared/providers/IframeProvider.tsx +0 -34
- package/src/shared/providers/SessionProvider.tsx +0 -29
- package/src/shared/providers/TokenProvider.tsx +0 -78
- package/src/shared/providers/UserProvider.tsx +0 -80
- package/src/styles.css +0 -3
- package/src/types.ts +0 -227
- package/src/utils.ts +0 -65
- package/tailwind.config.js +0 -8
- package/test/integration/sdk.test.tsx +0 -266
- package/test/support/fixtures.ts +0 -56
- package/test/support/tokens.json +0 -26
- package/test/unit/lib/oauth.test.ts +0 -72
- package/test/unit/logger.test.ts +0 -175
- package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
- package/test/unit/nextjs/config.test.ts +0 -201
- package/test/unit/nextjs/getUser.test.ts +0 -41
- package/test/unit/nextjs/middleware.test.ts +0 -138
- package/test/unit/nextjs/routeHandler.test.ts +0 -369
- package/test/unit/nextjs/utils.test.ts +0 -26
- package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -19
- package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
- package/test/unit/react/components/SignInButton.test.tsx +0 -50
- package/test/unit/react/components/SignOutButton.test.tsx +0 -49
- package/test/unit/server/login.test.ts +0 -179
- package/test/unit/server/session.test.ts +0 -51
- package/test/unit/services/AuthenticationService.test.ts +0 -152
- package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -110
- package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
- package/test/unit/shared/UserSession.test.ts +0 -42
- package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
- package/test/unit/shared/storage.test.ts +0 -67
- package/test/unit/utils.test.ts +0 -48
- package/tsconfig.build.json +0 -5
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -7
- package/tsconfig.json +0 -42
- package/vitest.config.ts +0 -41
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/reactjs/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,gHAAgH;AAChH,kGAAkG;AAClG,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,iBAAiB,GAElB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,+BAA+B,CAAC","sourcesContent":["// These are the default exports of the project.\n// They are limited by design to ensure that the public API does not expose any internal implementation details.\n// Do not change this without thinking carefully about the impact on the client-facing public API.\nexport * from \"@/reactjs/hooks/index.js\";\nexport {\n CivicAuthProvider,\n type CivicAuthProviderProps,\n} from \"@/reactjs/providers/index.js\";\nexport type {\n AuthContextType,\n TokenContextType,\n UserContextType,\n} from \"@/reactjs/providers/index.js\";\nexport { CivicAuthIframeContainer } from \"@/shared/components/CivicAuthIframeContainer.js\";\nexport {\n UserButton,\n SignInButton,\n SignOutButton,\n} from \"@/reactjs/components/index.js\";\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { UserProvider, UserContext, type UserContextType, } from "../../shared/providers/UserProvider.js";
|
|
2
|
-
export { TokenProvider, TokenContext, type TokenContextType, } from "../../shared/providers/TokenProvider.js";
|
|
3
|
-
export { AuthProvider } from "../../shared/providers/AuthProvider.js";
|
|
4
|
-
export { SessionProvider, SessionContext, type SessionContextType, } from "../../shared/providers/SessionProvider.js";
|
|
5
|
-
export { CivicAuthProvider, type CivicAuthProviderProps, } from "../../shared/providers/CivicAuthProvider.js";
|
|
6
|
-
export { AuthContext } from "../../shared/providers/AuthContext.js";
|
|
7
|
-
export type { AuthContextType } from "../../shared/providers/AuthContext.js";
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/reactjs/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { UserProvider, UserContext, } from "../../shared/providers/UserProvider.js";
|
|
2
|
-
export { TokenProvider, TokenContext, } from "../../shared/providers/TokenProvider.js";
|
|
3
|
-
export { AuthProvider } from "../../shared/providers/AuthProvider.js";
|
|
4
|
-
export { SessionProvider, SessionContext, } from "../../shared/providers/SessionProvider.js";
|
|
5
|
-
export { CivicAuthProvider, } from "../../shared/providers/CivicAuthProvider.js";
|
|
6
|
-
export { AuthContext } from "../../shared/providers/AuthContext.js";
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/reactjs/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,GAEZ,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,GAEb,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EACL,eAAe,EACf,cAAc,GAEf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,iBAAiB,GAElB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["export {\n UserProvider,\n UserContext,\n type UserContextType,\n} from \"@/shared/providers/UserProvider.js\";\n\nexport {\n TokenProvider,\n TokenContext,\n type TokenContextType,\n} from \"@/shared/providers/TokenProvider.js\";\n\nexport { AuthProvider } from \"@/shared/providers/AuthProvider.js\";\n\nexport {\n SessionProvider,\n SessionContext,\n type SessionContextType,\n} from \"@/shared/providers/SessionProvider.js\";\n\nexport {\n CivicAuthProvider,\n type CivicAuthProviderProps,\n} from \"@/shared/providers/CivicAuthProvider.js\";\n\nexport { AuthContext } from \"@/shared/providers/AuthContext.js\";\nexport type { AuthContextType } from \"@/shared/providers/AuthContext.js\";\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { AuthStorage, Endpoints, OIDCTokenResponseBody, SessionData } from "../types.js";
|
|
2
|
-
import type { AuthConfig } from "../server/config.js";
|
|
3
|
-
import type { AuthenticationResolver } from "../services/types.ts";
|
|
4
|
-
export declare class ServerAuthenticationResolver implements AuthenticationResolver {
|
|
5
|
-
readonly authConfig: AuthConfig;
|
|
6
|
-
readonly storage: AuthStorage;
|
|
7
|
-
readonly endpointOverrides?: Partial<Endpoints> | undefined;
|
|
8
|
-
private pkceProducer;
|
|
9
|
-
private oauth2client;
|
|
10
|
-
private endpoints;
|
|
11
|
-
private constructor();
|
|
12
|
-
validateExistingSession(): Promise<SessionData>;
|
|
13
|
-
init(): Promise<this>;
|
|
14
|
-
tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
|
|
15
|
-
getSessionData(): Promise<SessionData | null>;
|
|
16
|
-
static build(authConfig: AuthConfig, storage: AuthStorage, endpointOverrides?: Partial<Endpoints>): Promise<AuthenticationResolver>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=ServerAuthenticationResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServerAuthenticationResolver.d.ts","sourceRoot":"","sources":["../../../../src/server/ServerAuthenticationResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,sBAAsB,EAAgB,MAAM,qBAAqB,CAAC;AAEhF,qBAAa,4BAA6B,YAAW,sBAAsB;IAMvE,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAPjD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO;IAYP,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;WAatC,KAAK,CAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACrC,OAAO,CAAC,sBAAsB,CAAC;CAUnC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { GenericPublicClientPKCEProducer } from "../services/PKCE.js";
|
|
2
|
-
import { OAuth2Client } from "oslo/oauth2";
|
|
3
|
-
import { exchangeTokens, getEndpointsWithOverrides, retrieveTokens, storeTokens, } from "../shared/lib/util.js";
|
|
4
|
-
export class ServerAuthenticationResolver {
|
|
5
|
-
authConfig;
|
|
6
|
-
storage;
|
|
7
|
-
endpointOverrides;
|
|
8
|
-
pkceProducer;
|
|
9
|
-
oauth2client;
|
|
10
|
-
endpoints;
|
|
11
|
-
constructor(authConfig, storage, endpointOverrides) {
|
|
12
|
-
this.authConfig = authConfig;
|
|
13
|
-
this.storage = storage;
|
|
14
|
-
this.endpointOverrides = endpointOverrides;
|
|
15
|
-
console.log("ServerAuthenticationResolver constructor", {
|
|
16
|
-
authConfig,
|
|
17
|
-
storage,
|
|
18
|
-
endpointOverrides,
|
|
19
|
-
});
|
|
20
|
-
this.pkceProducer = new GenericPublicClientPKCEProducer(storage);
|
|
21
|
-
}
|
|
22
|
-
validateExistingSession() {
|
|
23
|
-
throw new Error("Method not implemented.");
|
|
24
|
-
}
|
|
25
|
-
async init() {
|
|
26
|
-
// resolve oauth config
|
|
27
|
-
this.endpoints = await getEndpointsWithOverrides(this.authConfig.oauthServer, this.endpointOverrides);
|
|
28
|
-
this.oauth2client = new OAuth2Client(this.authConfig.clientId, this.endpoints.auth, this.endpoints.token, {
|
|
29
|
-
redirectURI: this.authConfig.redirectUrl,
|
|
30
|
-
});
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
async tokenExchange(code, state) {
|
|
34
|
-
if (!this.oauth2client)
|
|
35
|
-
await this.init();
|
|
36
|
-
const codeVerifier = await this.pkceProducer.getCodeVerifier();
|
|
37
|
-
if (!codeVerifier)
|
|
38
|
-
throw new Error("Code verifier not found in storage");
|
|
39
|
-
// exchange auth code for tokens
|
|
40
|
-
const tokens = await exchangeTokens(code, state, this.pkceProducer, this.oauth2client, // clean up types here to avoid the ! operator
|
|
41
|
-
this.authConfig.oauthServer, this.endpoints);
|
|
42
|
-
storeTokens(this.storage, tokens);
|
|
43
|
-
return tokens;
|
|
44
|
-
}
|
|
45
|
-
async getSessionData() {
|
|
46
|
-
const storageData = retrieveTokens(this.storage);
|
|
47
|
-
if (!storageData)
|
|
48
|
-
return null;
|
|
49
|
-
return {
|
|
50
|
-
authenticated: !!storageData.id_token,
|
|
51
|
-
idToken: storageData.id_token,
|
|
52
|
-
accessToken: storageData.access_token,
|
|
53
|
-
refreshToken: storageData.refresh_token,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
static async build(authConfig, storage, endpointOverrides) {
|
|
57
|
-
const resolver = new ServerAuthenticationResolver(authConfig, storage, endpointOverrides);
|
|
58
|
-
await resolver.init();
|
|
59
|
-
return resolver;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=ServerAuthenticationResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServerAuthenticationResolver.js","sourceRoot":"","sources":["../../../../src/server/ServerAuthenticationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,MAAM,OAAO,4BAA4B;IAM5B;IACA;IACA;IAPH,YAAY,CAAe;IAC3B,YAAY,CAA2B;IACvC,SAAS,CAAwB;IAEzC,YACW,UAAsB,EACtB,OAAoB,EACpB,iBAAsC;QAFtC,eAAU,GAAV,UAAU,CAAY;QACtB,YAAO,GAAP,OAAO,CAAa;QACpB,sBAAiB,GAAjB,iBAAiB,CAAqB;QAE/C,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE;YACtD,UAAU;YACV,OAAO;YACP,iBAAiB;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,uBAAuB;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,uBAAuB;QACvB,IAAI,CAAC,SAAS,GAAG,MAAM,yBAAyB,CAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,EAC3B,IAAI,CAAC,iBAAiB,CACvB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB;YACE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;SACzC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAC/D,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAEzE,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAa,EAAE,8CAA8C;QAClE,IAAI,CAAC,UAAU,CAAC,WAAW,EAC3B,IAAI,CAAC,SAAU,CAChB,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,OAAO;YACL,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ;YACrC,OAAO,EAAE,WAAW,CAAC,QAAQ;YAC7B,WAAW,EAAE,WAAW,CAAC,YAAY;YACrC,YAAY,EAAE,WAAW,CAAC,aAAa;SACxC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAsB,EACtB,OAAoB,EACpB,iBAAsC;QAEtC,MAAM,QAAQ,GAAG,IAAI,4BAA4B,CAC/C,UAAU,EACV,OAAO,EACP,iBAAiB,CAClB,CAAC;QACF,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","sourcesContent":["import { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport type {\n AuthStorage,\n Endpoints,\n OIDCTokenResponseBody,\n SessionData,\n} from \"@/types.js\";\nimport type { AuthConfig } from \"@/server/config.js\";\nimport {\n exchangeTokens,\n getEndpointsWithOverrides,\n retrieveTokens,\n storeTokens,\n} from \"@/shared/lib/util.js\";\nimport type { AuthenticationResolver, PKCEProducer } from \"@/services/types.ts\";\n\nexport class ServerAuthenticationResolver implements AuthenticationResolver {\n private pkceProducer: PKCEProducer;\n private oauth2client: OAuth2Client | undefined;\n private endpoints: Endpoints | undefined;\n\n private constructor(\n readonly authConfig: AuthConfig,\n readonly storage: AuthStorage,\n readonly endpointOverrides?: Partial<Endpoints>,\n ) {\n console.log(\"ServerAuthenticationResolver constructor\", {\n authConfig,\n storage,\n endpointOverrides,\n });\n this.pkceProducer = new GenericPublicClientPKCEProducer(storage);\n }\n validateExistingSession(): Promise<SessionData> {\n throw new Error(\"Method not implemented.\");\n }\n\n async init(): Promise<this> {\n // resolve oauth config\n this.endpoints = await getEndpointsWithOverrides(\n this.authConfig.oauthServer,\n this.endpointOverrides,\n );\n this.oauth2client = new OAuth2Client(\n this.authConfig.clientId,\n this.endpoints.auth,\n this.endpoints.token,\n {\n redirectURI: this.authConfig.redirectUrl,\n },\n );\n\n return this;\n }\n\n async tokenExchange(\n code: string,\n state: string,\n ): Promise<OIDCTokenResponseBody> {\n if (!this.oauth2client) await this.init();\n const codeVerifier = await this.pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in storage\");\n\n // exchange auth code for tokens\n const tokens = await exchangeTokens(\n code,\n state,\n this.pkceProducer,\n this.oauth2client!, // clean up types here to avoid the ! operator\n this.authConfig.oauthServer,\n this.endpoints!, // clean up types here to avoid the ! operator\n );\n\n storeTokens(this.storage, tokens);\n\n return tokens;\n }\n\n async getSessionData(): Promise<SessionData | null> {\n const storageData = retrieveTokens(this.storage);\n\n if (!storageData) return null;\n\n return {\n authenticated: !!storageData.id_token,\n idToken: storageData.id_token,\n accessToken: storageData.access_token,\n refreshToken: storageData.refresh_token,\n };\n }\n\n static async build(\n authConfig: AuthConfig,\n storage: AuthStorage,\n endpointOverrides?: Partial<Endpoints>,\n ): Promise<AuthenticationResolver> {\n const resolver = new ServerAuthenticationResolver(\n authConfig,\n storage,\n endpointOverrides,\n );\n await resolver.init();\n\n return resolver;\n }\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Endpoints } from "../types.ts";
|
|
2
|
-
export type CookieConfig = {
|
|
3
|
-
secure?: boolean;
|
|
4
|
-
sameSite?: "strict" | "lax" | "none";
|
|
5
|
-
domain?: string;
|
|
6
|
-
path?: string;
|
|
7
|
-
maxAge?: number;
|
|
8
|
-
};
|
|
9
|
-
export type AuthConfig = {
|
|
10
|
-
clientId: string;
|
|
11
|
-
oauthServer: string;
|
|
12
|
-
redirectUrl: string;
|
|
13
|
-
challengeUrl?: string;
|
|
14
|
-
endpointOverrides?: Partial<Endpoints> | undefined;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/server/config.ts"],"names":[],"mappings":"","sourcesContent":["import type { Endpoints } from \"@/types.ts\";\n\nexport type CookieConfig = {\n secure?: boolean;\n sameSite?: \"strict\" | \"lax\" | \"none\";\n domain?: string;\n path?: string;\n maxAge?: number;\n};\n\nexport type AuthConfig = {\n clientId: string;\n oauthServer: string;\n redirectUrl: string;\n challengeUrl?: string;\n endpointOverrides?: Partial<Endpoints> | undefined;\n};\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { CookieStorage } from "../shared/lib/storage.js";
|
|
2
|
-
export type { SessionStorage, CookieStorageSettings, } from "../shared/lib/storage.js";
|
|
3
|
-
export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, } from "../server/login.js";
|
|
4
|
-
export { getUser } from "../shared/lib/session.js";
|
|
5
|
-
export { refreshTokens } from "../server/refresh.js";
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { CookieStorage } from "../shared/lib/storage.js";
|
|
2
|
-
export { resolveOAuthAccessCode, isLoggedIn, buildLoginUrl, } from "../server/login.js";
|
|
3
|
-
export { getUser } from "../shared/lib/session.js";
|
|
4
|
-
export { refreshTokens } from "../server/refresh.js";
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { CookieStorage } from \"@/shared/lib/storage.js\";\nexport type {\n SessionStorage,\n CookieStorageSettings,\n} from \"@/shared/lib/storage.js\";\nexport {\n resolveOAuthAccessCode,\n isLoggedIn,\n buildLoginUrl,\n} from \"@/server/login.js\";\nexport { getUser } from \"@/shared/lib/session.js\";\nexport { refreshTokens } from \"@/server/refresh.js\";\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { AuthStorage, OIDCTokenResponseBody } from "../types.js";
|
|
2
|
-
import type { AuthConfig } from "../server/config.ts";
|
|
3
|
-
/**
|
|
4
|
-
* Resolve an OAuth access code to a set of OIDC tokens
|
|
5
|
-
* @param code The access code, typically from a query parameter in the redirect url
|
|
6
|
-
* @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url
|
|
7
|
-
* @param storage The place that this server uses to store session data (e.g. a cookie store)
|
|
8
|
-
* @param config Oauth Server configuration
|
|
9
|
-
*/
|
|
10
|
-
export declare function resolveOAuthAccessCode(code: string, state: string, storage: AuthStorage, config: AuthConfig): Promise<OIDCTokenResponseBody>;
|
|
11
|
-
export declare function isLoggedIn(storage: AuthStorage): boolean;
|
|
12
|
-
export declare function buildLoginUrl(config: Pick<AuthConfig, "oauthServer" | "clientId" | "redirectUrl"> & {
|
|
13
|
-
scopes?: string[];
|
|
14
|
-
state?: string;
|
|
15
|
-
nonce?: string;
|
|
16
|
-
}, storage: AuthStorage): Promise<URL>;
|
|
17
|
-
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/server/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAExD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG;IACrE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC,CAed"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from "../constants.js";
|
|
2
|
-
import { GenericAuthenticationInitiator } from "../services/AuthenticationService.js";
|
|
3
|
-
import { GenericPublicClientPKCEProducer } from "../services/PKCE.js";
|
|
4
|
-
import { ServerAuthenticationResolver } from "../server/ServerAuthenticationResolver.js";
|
|
5
|
-
/**
|
|
6
|
-
* Resolve an OAuth access code to a set of OIDC tokens
|
|
7
|
-
* @param code The access code, typically from a query parameter in the redirect url
|
|
8
|
-
* @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url
|
|
9
|
-
* @param storage The place that this server uses to store session data (e.g. a cookie store)
|
|
10
|
-
* @param config Oauth Server configuration
|
|
11
|
-
*/
|
|
12
|
-
export async function resolveOAuthAccessCode(code, state, storage, config) {
|
|
13
|
-
const authSessionService = await ServerAuthenticationResolver.build({
|
|
14
|
-
...config,
|
|
15
|
-
oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
|
|
16
|
-
}, storage, config.endpointOverrides);
|
|
17
|
-
return authSessionService.tokenExchange(code, state);
|
|
18
|
-
}
|
|
19
|
-
export function isLoggedIn(storage) {
|
|
20
|
-
return !!storage.get("id_token");
|
|
21
|
-
}
|
|
22
|
-
export async function buildLoginUrl(config, storage) {
|
|
23
|
-
// generate a random state if not provided
|
|
24
|
-
const state = config.state ?? Math.random().toString(36).substring(2);
|
|
25
|
-
const scopes = config.scopes ?? DEFAULT_SCOPES;
|
|
26
|
-
const pkceProducer = new GenericPublicClientPKCEProducer(storage);
|
|
27
|
-
const authInitiator = new GenericAuthenticationInitiator({
|
|
28
|
-
...config,
|
|
29
|
-
state,
|
|
30
|
-
scopes,
|
|
31
|
-
oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
|
|
32
|
-
// When retrieving the PKCE challenge on the server-side, we produce it and store it in the session
|
|
33
|
-
pkceConsumer: pkceProducer,
|
|
34
|
-
});
|
|
35
|
-
return authInitiator.signIn();
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=login.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/server/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,OAAoB,EACpB,MAAkB;IAElB,MAAM,kBAAkB,GAAG,MAAM,4BAA4B,CAAC,KAAK,CACjE;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAIC,EACD,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,8BAA8B,CAAC;QACvD,GAAG,MAAM;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;QACtD,mGAAmG;QACnG,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER, DEFAULT_SCOPES } from \"@/constants.js\";\nimport { GenericAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { ServerAuthenticationResolver } from \"@/server/ServerAuthenticationResolver.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\n/**\n * Resolve an OAuth access code to a set of OIDC tokens\n * @param code The access code, typically from a query parameter in the redirect url\n * @param state The oauth random state string, used to distinguish between requests. Typically also passed in the redirect url\n * @param storage The place that this server uses to store session data (e.g. a cookie store)\n * @param config Oauth Server configuration\n */\nexport async function resolveOAuthAccessCode(\n code: string,\n state: string,\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const authSessionService = await ServerAuthenticationResolver.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return authSessionService.tokenExchange(code, state);\n}\n\nexport function isLoggedIn(storage: AuthStorage): boolean {\n return !!storage.get(\"id_token\");\n}\n\nexport async function buildLoginUrl(\n config: Pick<AuthConfig, \"oauthServer\" | \"clientId\" | \"redirectUrl\"> & {\n scopes?: string[];\n state?: string;\n nonce?: string;\n },\n storage: AuthStorage,\n): Promise<URL> {\n // generate a random state if not provided\n const state = config.state ?? Math.random().toString(36).substring(2);\n const scopes = config.scopes ?? DEFAULT_SCOPES;\n const pkceProducer = new GenericPublicClientPKCEProducer(storage);\n const authInitiator = new GenericAuthenticationInitiator({\n ...config,\n state,\n scopes,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n // When retrieving the PKCE challenge on the server-side, we produce it and store it in the session\n pkceConsumer: pkceProducer,\n });\n\n return authInitiator.signIn();\n}\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { AuthStorage, OIDCTokenResponseBody } from "../types.js";
|
|
2
|
-
import type { AuthConfig } from "../server/config.ts";
|
|
3
|
-
/**
|
|
4
|
-
* Refresh the current set of OIDC tokens
|
|
5
|
-
*/
|
|
6
|
-
export declare function refreshTokens(storage: AuthStorage, config: AuthConfig): Promise<OIDCTokenResponseBody>;
|
|
7
|
-
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../../src/server/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_AUTH_SERVER } from "../constants.js";
|
|
2
|
-
import { GenericAuthenticationRefresher } from "../shared/lib/GenericAuthenticationRefresher.js";
|
|
3
|
-
/**
|
|
4
|
-
* Refresh the current set of OIDC tokens
|
|
5
|
-
*/
|
|
6
|
-
export async function refreshTokens(storage, config) {
|
|
7
|
-
const refresher = await GenericAuthenticationRefresher.build({
|
|
8
|
-
...config,
|
|
9
|
-
oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,
|
|
10
|
-
}, storage, config.endpointOverrides);
|
|
11
|
-
return refresher.refreshTokens();
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=refresh.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../../src/server/refresh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAGhG;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAoB,EACpB,MAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,8BAA8B,CAAC,KAAK,CAC1D;QACE,GAAG,MAAM;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB;KACvD,EACD,OAAO,EACP,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;AACnC,CAAC","sourcesContent":["import type { AuthStorage, OIDCTokenResponseBody } from \"@/types.js\";\nimport { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\nimport { GenericAuthenticationRefresher } from \"@/shared/lib/GenericAuthenticationRefresher.js\";\nimport type { AuthConfig } from \"@/server/config.ts\";\n\n/**\n * Refresh the current set of OIDC tokens\n */\nexport async function refreshTokens(\n storage: AuthStorage,\n config: AuthConfig,\n): Promise<OIDCTokenResponseBody> {\n const refresher = await GenericAuthenticationRefresher.build(\n {\n ...config,\n oauthServer: config.oauthServer ?? DEFAULT_AUTH_SERVER,\n },\n storage,\n config.endpointOverrides,\n );\n\n return refresher.refreshTokens();\n}\n"]}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import type { DisplayMode, Endpoints, OIDCTokenResponseBody, SessionData } from "../types.js";
|
|
2
|
-
import { BrowserPublicClientPKCEProducer } from "../services/PKCE.js";
|
|
3
|
-
import type { AuthenticationInitiator, AuthenticationResolver, PKCEConsumer } from "../services/types.js";
|
|
4
|
-
/**
|
|
5
|
-
* An authentication initiator that works on a browser. Since this is just triggering
|
|
6
|
-
* login and logout, session data is not stored here.
|
|
7
|
-
* An associated AuthenticationResolver would be needed to get the session data.
|
|
8
|
-
* Storage is needed for the code verifier, this is the domain of the PKCEConsumer
|
|
9
|
-
* The storage used by the PKCEConsumer should be available to the AuthenticationResolver.
|
|
10
|
-
*
|
|
11
|
-
* Example usage:
|
|
12
|
-
*
|
|
13
|
-
* 1) Client-only SPA -eg a react app with no server:
|
|
14
|
-
* new BrowserAuthenticationInitiator({
|
|
15
|
-
* pkceConsumer: new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side
|
|
16
|
-
* ... other config
|
|
17
|
-
* })
|
|
18
|
-
*
|
|
19
|
-
* 2) Client-side of a client/server app - eg a react app with a backend:
|
|
20
|
-
* new BrowserAuthenticationInitiator({
|
|
21
|
-
* pkceConsumer: new ConfidentialClientPKCEConsumer("https://myserver.com/pkce"), // get the challenge from the server
|
|
22
|
-
* ... other config
|
|
23
|
-
* })
|
|
24
|
-
*/
|
|
25
|
-
export declare class BrowserAuthenticationInitiator implements AuthenticationInitiator {
|
|
26
|
-
private postMessageHandler;
|
|
27
|
-
protected config: {
|
|
28
|
-
clientId: string;
|
|
29
|
-
redirectUrl: string;
|
|
30
|
-
state: string;
|
|
31
|
-
scopes: string[];
|
|
32
|
-
displayMode: DisplayMode;
|
|
33
|
-
oauthServer: string;
|
|
34
|
-
endpointOverrides?: Partial<Endpoints>;
|
|
35
|
-
pkceConsumer: PKCEConsumer;
|
|
36
|
-
nonce?: string;
|
|
37
|
-
};
|
|
38
|
-
constructor(config: typeof this.config);
|
|
39
|
-
handleLoginAppPopupFailed(redirectUrl: string): Promise<void>;
|
|
40
|
-
signIn(iframeRef: HTMLIFrameElement | null): Promise<URL>;
|
|
41
|
-
signOut(): Promise<URL>;
|
|
42
|
-
cleanup(): void;
|
|
43
|
-
}
|
|
44
|
-
/** A general-purpose authentication initiator, that just generates urls, but lets
|
|
45
|
-
* the caller decide how to use them. This is useful for server-side applications
|
|
46
|
-
* that may serve this URL to their front-ends or just call them directly
|
|
47
|
-
*/
|
|
48
|
-
export declare class GenericAuthenticationInitiator implements AuthenticationInitiator {
|
|
49
|
-
protected config: {
|
|
50
|
-
clientId: string;
|
|
51
|
-
redirectUrl: string;
|
|
52
|
-
state: string;
|
|
53
|
-
scopes: string[];
|
|
54
|
-
oauthServer: string;
|
|
55
|
-
nonce?: string;
|
|
56
|
-
endpointOverrides?: Partial<Endpoints>;
|
|
57
|
-
pkceConsumer: PKCEConsumer;
|
|
58
|
-
};
|
|
59
|
-
constructor(config: typeof this.config);
|
|
60
|
-
signIn(): Promise<URL>;
|
|
61
|
-
signOut(): Promise<URL>;
|
|
62
|
-
}
|
|
63
|
-
type BrowserAuthenticationConfig = {
|
|
64
|
-
clientId: string;
|
|
65
|
-
redirectUrl: string;
|
|
66
|
-
scopes: string[];
|
|
67
|
-
oauthServer: string;
|
|
68
|
-
endpointOverrides?: Partial<Endpoints>;
|
|
69
|
-
displayMode: DisplayMode;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* An authentication resolver that can run on the browser (i.e. a public client)
|
|
73
|
-
* It uses PKCE for security. PKCE and Session data are stored in local storage
|
|
74
|
-
*/
|
|
75
|
-
export declare class BrowserAuthenticationService extends BrowserAuthenticationInitiator {
|
|
76
|
-
protected pkceProducer: BrowserPublicClientPKCEProducer;
|
|
77
|
-
private oauth2client;
|
|
78
|
-
private endpoints;
|
|
79
|
-
constructor(config: BrowserAuthenticationConfig, pkceProducer?: BrowserPublicClientPKCEProducer);
|
|
80
|
-
init(): Promise<this>;
|
|
81
|
-
tokenExchange(code: string, state: string): Promise<OIDCTokenResponseBody>;
|
|
82
|
-
getSessionData(): Promise<SessionData | null>;
|
|
83
|
-
validateExistingSession(): Promise<SessionData>;
|
|
84
|
-
static build(config: BrowserAuthenticationConfig): Promise<AuthenticationResolver>;
|
|
85
|
-
}
|
|
86
|
-
export {};
|
|
87
|
-
//# sourceMappingURL=AuthenticationService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/services/AuthenticationService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAET,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAerE,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,kBAAkB,CAAgD;IAE1E,SAAS,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QAEjB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QAEpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEvC,YAAY,EAAE,YAAY,CAAC;QAE3B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;gBAEU,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM;IAKhC,yBAAyB,CAAC,WAAW,EAAE,MAAM;IAU7C,MAAM,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IA4CzD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAU7B,OAAO;CAKR;AAED;;;GAGG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,SAAS,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEvC,YAAY,EAAE,YAAY,CAAC;KAC5B,CAAC;gBAEU,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM;IAShC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAItB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;CAG9B;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,8BAA8B;IAQ5E,SAAS,CAAC,YAAY;IAPxB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAwB;gBAIvC,MAAM,EAAE,2BAA2B,EAEzB,YAAY,kCAAwC;IAgB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAiC3B,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAa7C,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC;WAgCxC,KAAK,CAChB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,sBAAsB,CAAC;CAMnC"}
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
// Proposals for revised versions of the SessionService AKA AuthSessionService
|
|
2
|
-
import { BrowserPublicClientPKCEProducer } from "../services/PKCE.js";
|
|
3
|
-
import { clearTokens, clearUser, exchangeTokens, generateOauthLoginUrl, generateOauthLogoutUrl, getEndpointsWithOverrides, retrieveTokens, storeTokens, validateOauth2Tokens, } from "../shared/lib/util.js";
|
|
4
|
-
import { displayModeFromState, generateState } from "../lib/oauth.js";
|
|
5
|
-
import { OAuth2Client } from "oslo/oauth2";
|
|
6
|
-
import { LocalStorageAdapter } from "../browser/storage.js";
|
|
7
|
-
import { PopupError } from "../services/types.js";
|
|
8
|
-
import { removeParamsWithoutReload } from "../lib/windowUtil.js";
|
|
9
|
-
import { DEFAULT_OAUTH_GET_PARAMS } from "../constants.js";
|
|
10
|
-
import { validateLoginAppPostMessage } from "../lib/postMessage.js";
|
|
11
|
-
/**
|
|
12
|
-
* An authentication initiator that works on a browser. Since this is just triggering
|
|
13
|
-
* login and logout, session data is not stored here.
|
|
14
|
-
* An associated AuthenticationResolver would be needed to get the session data.
|
|
15
|
-
* Storage is needed for the code verifier, this is the domain of the PKCEConsumer
|
|
16
|
-
* The storage used by the PKCEConsumer should be available to the AuthenticationResolver.
|
|
17
|
-
*
|
|
18
|
-
* Example usage:
|
|
19
|
-
*
|
|
20
|
-
* 1) Client-only SPA -eg a react app with no server:
|
|
21
|
-
* new BrowserAuthenticationInitiator({
|
|
22
|
-
* pkceConsumer: new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side
|
|
23
|
-
* ... other config
|
|
24
|
-
* })
|
|
25
|
-
*
|
|
26
|
-
* 2) Client-side of a client/server app - eg a react app with a backend:
|
|
27
|
-
* new BrowserAuthenticationInitiator({
|
|
28
|
-
* pkceConsumer: new ConfidentialClientPKCEConsumer("https://myserver.com/pkce"), // get the challenge from the server
|
|
29
|
-
* ... other config
|
|
30
|
-
* })
|
|
31
|
-
*/
|
|
32
|
-
export class BrowserAuthenticationInitiator {
|
|
33
|
-
postMessageHandler = null;
|
|
34
|
-
config;
|
|
35
|
-
constructor(config) {
|
|
36
|
-
this.config = config;
|
|
37
|
-
console.log("BrowserAuthenticationInitiator constructor", this.config);
|
|
38
|
-
}
|
|
39
|
-
async handleLoginAppPopupFailed(redirectUrl) {
|
|
40
|
-
console.warn("Login app popup failed open a popup, using redirect mode instead...", redirectUrl);
|
|
41
|
-
window.location.href = redirectUrl;
|
|
42
|
-
}
|
|
43
|
-
// Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url
|
|
44
|
-
// and then use the display mode to decide how to send the user there
|
|
45
|
-
async signIn(iframeRef) {
|
|
46
|
-
const url = await generateOauthLoginUrl(this.config);
|
|
47
|
-
this.postMessageHandler = (event) => {
|
|
48
|
-
const thisURL = new URL(window.location.href);
|
|
49
|
-
if (event.origin.endsWith("civic.com") ||
|
|
50
|
-
thisURL.hostname === "localhost") {
|
|
51
|
-
if (!validateLoginAppPostMessage(event.data, this.config.clientId)) {
|
|
52
|
-
console.log("Received invalid message from login app", event.data);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const loginMessage = event.data;
|
|
56
|
-
console.log("Received message from login app", event.data);
|
|
57
|
-
this.handleLoginAppPopupFailed(loginMessage.data.url);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
window.addEventListener("message", this.postMessageHandler);
|
|
61
|
-
if (this.config.displayMode === "iframe") {
|
|
62
|
-
if (!iframeRef)
|
|
63
|
-
throw new Error("iframeRef is required for displayMode 'iframe'");
|
|
64
|
-
iframeRef.setAttribute("src", url.toString());
|
|
65
|
-
}
|
|
66
|
-
if (this.config.displayMode === "redirect") {
|
|
67
|
-
window.location.href = url.toString();
|
|
68
|
-
}
|
|
69
|
-
if (this.config.displayMode === "new_tab") {
|
|
70
|
-
try {
|
|
71
|
-
const popupWindow = window.open(url.toString(), "_blank");
|
|
72
|
-
console.log("signIn", popupWindow);
|
|
73
|
-
if (!popupWindow) {
|
|
74
|
-
throw new PopupError("Failed to open popup window");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
console.error("popupWindow", error);
|
|
79
|
-
throw new PopupError("window.open has thrown: Failed to open popup window");
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return url;
|
|
83
|
-
}
|
|
84
|
-
async signOut() {
|
|
85
|
-
const localStorage = new LocalStorageAdapter();
|
|
86
|
-
clearTokens(localStorage);
|
|
87
|
-
clearUser(localStorage);
|
|
88
|
-
// TODO open the iframe or new tab etc: the logout URL is not currently
|
|
89
|
-
// supported by on the oauth, so just clear state until then
|
|
90
|
-
const url = await generateOauthLogoutUrl(this.config);
|
|
91
|
-
return url;
|
|
92
|
-
}
|
|
93
|
-
cleanup() {
|
|
94
|
-
if (this.postMessageHandler) {
|
|
95
|
-
window.removeEventListener("message", this.postMessageHandler);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/** A general-purpose authentication initiator, that just generates urls, but lets
|
|
100
|
-
* the caller decide how to use them. This is useful for server-side applications
|
|
101
|
-
* that may serve this URL to their front-ends or just call them directly
|
|
102
|
-
*/
|
|
103
|
-
export class GenericAuthenticationInitiator {
|
|
104
|
-
config;
|
|
105
|
-
constructor(config) {
|
|
106
|
-
this.config = config;
|
|
107
|
-
console.log("GenericAuthenticationInitiator constructor", {
|
|
108
|
-
config,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
// Use the config (Client ID, scopes OAuth Server, Endpoints, PKCEConsumer) to generate a new login url
|
|
112
|
-
// and simply return the url
|
|
113
|
-
async signIn() {
|
|
114
|
-
return generateOauthLoginUrl(this.config);
|
|
115
|
-
}
|
|
116
|
-
async signOut() {
|
|
117
|
-
return generateOauthLogoutUrl(this.config);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* An authentication resolver that can run on the browser (i.e. a public client)
|
|
122
|
-
* It uses PKCE for security. PKCE and Session data are stored in local storage
|
|
123
|
-
*/
|
|
124
|
-
export class BrowserAuthenticationService extends BrowserAuthenticationInitiator {
|
|
125
|
-
pkceProducer;
|
|
126
|
-
oauth2client;
|
|
127
|
-
endpoints;
|
|
128
|
-
// TODO WIP - perhaps we want to keep resolver and initiator separate here
|
|
129
|
-
constructor(config,
|
|
130
|
-
// Since we are running fully on the client, we produce as well as consume the PKCE challenge
|
|
131
|
-
pkceProducer = new BrowserPublicClientPKCEProducer()) {
|
|
132
|
-
console.log("BrowserAuthenticationService constructor", {
|
|
133
|
-
config,
|
|
134
|
-
});
|
|
135
|
-
super({
|
|
136
|
-
...config,
|
|
137
|
-
state: generateState(config.displayMode),
|
|
138
|
-
// Store and retrieve the PKCE challenge in local storage
|
|
139
|
-
pkceConsumer: pkceProducer,
|
|
140
|
-
});
|
|
141
|
-
this.pkceProducer = pkceProducer;
|
|
142
|
-
}
|
|
143
|
-
// TODO too much code duplication here between the browser and the server variant.
|
|
144
|
-
// Suggestion for refactor: Standardise the config for AuthenticationResolvers and create a one-shot
|
|
145
|
-
// function for generating an oauth2client from it
|
|
146
|
-
async init() {
|
|
147
|
-
// resolve oauth config
|
|
148
|
-
this.endpoints = await getEndpointsWithOverrides(this.config.oauthServer, this.config.endpointOverrides);
|
|
149
|
-
this.oauth2client = new OAuth2Client(this.config.clientId, this.endpoints.auth, this.endpoints.token, {
|
|
150
|
-
redirectURI: this.config.redirectUrl,
|
|
151
|
-
});
|
|
152
|
-
return this;
|
|
153
|
-
}
|
|
154
|
-
// Two responsibilities:
|
|
155
|
-
// 1. resolve the auth code to get the tokens (should use library code)
|
|
156
|
-
// 2. store the tokens in local storage
|
|
157
|
-
async tokenExchange(code, state) {
|
|
158
|
-
if (!this.oauth2client)
|
|
159
|
-
await this.init();
|
|
160
|
-
const codeVerifier = await this.pkceProducer.getCodeVerifier();
|
|
161
|
-
if (!codeVerifier)
|
|
162
|
-
throw new Error("Code verifier not found in storage");
|
|
163
|
-
// exchange auth code for tokens
|
|
164
|
-
const tokens = await exchangeTokens(code, state, this.pkceProducer, this.oauth2client, // clean up types here to avoid the ! operator
|
|
165
|
-
this.config.oauthServer, this.endpoints);
|
|
166
|
-
storeTokens(new LocalStorageAdapter(), tokens);
|
|
167
|
-
// cleanup the browser window if needed
|
|
168
|
-
const parsedDisplayMode = displayModeFromState(state, this.config.displayMode);
|
|
169
|
-
if (parsedDisplayMode === "new_tab") {
|
|
170
|
-
// Close the popup window
|
|
171
|
-
window.close();
|
|
172
|
-
}
|
|
173
|
-
// these are the default oAuth params that get added to the URL in redirect which we want to remove if present
|
|
174
|
-
removeParamsWithoutReload(DEFAULT_OAUTH_GET_PARAMS);
|
|
175
|
-
return tokens;
|
|
176
|
-
}
|
|
177
|
-
// Get the session data from local storage
|
|
178
|
-
async getSessionData() {
|
|
179
|
-
const storageData = retrieveTokens(new LocalStorageAdapter());
|
|
180
|
-
if (!storageData)
|
|
181
|
-
return null;
|
|
182
|
-
return {
|
|
183
|
-
authenticated: !!storageData.id_token,
|
|
184
|
-
idToken: storageData.id_token,
|
|
185
|
-
accessToken: storageData.access_token,
|
|
186
|
-
refreshToken: storageData.refresh_token,
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
async validateExistingSession() {
|
|
190
|
-
try {
|
|
191
|
-
const sessionData = await this.getSessionData();
|
|
192
|
-
if (!sessionData?.idToken || !sessionData.accessToken) {
|
|
193
|
-
const unAuthenticatedSession = { ...sessionData, authenticated: false };
|
|
194
|
-
clearTokens(new LocalStorageAdapter());
|
|
195
|
-
return unAuthenticatedSession;
|
|
196
|
-
}
|
|
197
|
-
if (!this.endpoints || !this.oauth2client)
|
|
198
|
-
await this.init();
|
|
199
|
-
// this function will throw if any of the tokens are invalid
|
|
200
|
-
await validateOauth2Tokens({
|
|
201
|
-
access_token: sessionData.accessToken,
|
|
202
|
-
id_token: sessionData.idToken,
|
|
203
|
-
refresh_token: sessionData.refreshToken,
|
|
204
|
-
}, this.endpoints, this.oauth2client, this.config.oauthServer);
|
|
205
|
-
return sessionData;
|
|
206
|
-
}
|
|
207
|
-
catch (error) {
|
|
208
|
-
console.warn("Failed to validate existing tokens", error);
|
|
209
|
-
const unAuthenticatedSession = {
|
|
210
|
-
authenticated: false,
|
|
211
|
-
};
|
|
212
|
-
clearTokens(new LocalStorageAdapter());
|
|
213
|
-
return unAuthenticatedSession;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
static async build(config) {
|
|
217
|
-
const resolver = new BrowserAuthenticationService(config);
|
|
218
|
-
await resolver.init();
|
|
219
|
-
return resolver;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
//# sourceMappingURL=AuthenticationService.js.map
|