@absolutejs/auth 0.54.2 → 0.54.4
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/dist/client/createAuthClient.d.ts +1 -3
- package/dist/client/index.js +3 -3
- package/dist/client/index.js.map +3 -3
- package/dist/client/react.d.ts +1 -3
- package/dist/client/solid.d.ts +1 -3
- package/dist/client/svelte.d.ts +1 -3
- package/dist/client/vue.d.ts +1 -3
- package/dist/index.js +21 -8
- package/dist/index.js.map +3 -3
- package/dist/routes/signout.d.ts +2 -2
- package/package.json +1 -1
package/dist/client/index.js
CHANGED
|
@@ -553,7 +553,7 @@ var DEFAULT_ROUTES = {
|
|
|
553
553
|
passwordResetRequest: "/auth/reset-password/request",
|
|
554
554
|
register: "/auth/register",
|
|
555
555
|
sessions: "/auth/sessions",
|
|
556
|
-
signout: "/
|
|
556
|
+
signout: "/oauth2/signout",
|
|
557
557
|
status: "/oauth2/status"
|
|
558
558
|
};
|
|
559
559
|
var succeed = (data) => ({
|
|
@@ -640,7 +640,7 @@ var createAuthClient = ({
|
|
|
640
640
|
signUp: {
|
|
641
641
|
email: (body) => post(resolvedRoutes.register, body)
|
|
642
642
|
},
|
|
643
|
-
signOut: () =>
|
|
643
|
+
signOut: () => del(resolvedRoutes.signout),
|
|
644
644
|
status: () => get(resolvedRoutes.status)
|
|
645
645
|
};
|
|
646
646
|
};
|
|
@@ -872,5 +872,5 @@ export {
|
|
|
872
872
|
buildSessionExpiredSignInUrl
|
|
873
873
|
};
|
|
874
874
|
|
|
875
|
-
//# debugId=
|
|
875
|
+
//# debugId=1A0BF1297E097D6764756E2164756E21
|
|
876
876
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"import { bufferToBase64URLString } from '../helpers/bufferToBase64URLString.js';\nimport { base64URLStringToBuffer } from '../helpers/base64URLStringToBuffer.js';\nimport { browserSupportsWebAuthn } from '../helpers/browserSupportsWebAuthn.js';\nimport { browserSupportsWebAuthnAutofill } from '../helpers/browserSupportsWebAuthnAutofill.js';\nimport { toPublicKeyCredentialDescriptor } from '../helpers/toPublicKeyCredentialDescriptor.js';\nimport { identifyAuthenticationError } from '../helpers/identifyAuthenticationError.js';\nimport { WebAuthnAbortService } from '../helpers/webAuthnAbortService.js';\nimport { toAuthenticatorAttachment } from '../helpers/toAuthenticatorAttachment.js';\n/**\n * Begin authenticator \"login\" via WebAuthn assertion\n *\n * @param optionsJSON Output from **@simplewebauthn/server**'s `generateAuthenticationOptions()`\n * @param useBrowserAutofill (Optional) Initialize conditional UI to enable logging in via browser autofill prompts. Defaults to `false`.\n * @param verifyBrowserAutofillInput (Optional) Ensure a suitable `<input>` element is present when `useBrowserAutofill` is `true`. Defaults to `true`.\n */\nexport async function startAuthentication(options) {\n // @ts-ignore: Intentionally check for old call structure to warn about improper API call\n if (!options.optionsJSON && options.challenge) {\n console.warn('startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.');\n // @ts-ignore: Reassign the options, passed in as a positional argument, to the expected variable\n options = { optionsJSON: options };\n }\n const { optionsJSON, useBrowserAutofill = false, verifyBrowserAutofillInput = true, } = options;\n if (!browserSupportsWebAuthn()) {\n throw new Error('WebAuthn is not supported in this browser');\n }\n // We need to avoid passing empty array to avoid blocking retrieval\n // of public key\n let allowCredentials;\n if (optionsJSON.allowCredentials?.length !== 0) {\n allowCredentials = optionsJSON.allowCredentials?.map(toPublicKeyCredentialDescriptor);\n }\n // We need to convert some values to Uint8Arrays before passing the credentials to the navigator\n const publicKey = {\n ...optionsJSON,\n challenge: base64URLStringToBuffer(optionsJSON.challenge),\n allowCredentials,\n };\n // Prepare options for `.get()`\n const getOptions = {};\n /**\n * Set up the page to prompt the user to select a credential for authentication via the browser's\n * input autofill mechanism.\n */\n if (useBrowserAutofill) {\n if (!(await browserSupportsWebAuthnAutofill())) {\n throw Error('Browser does not support WebAuthn autofill');\n }\n // Check for an <input> with \"webauthn\" in its `autocomplete` attribute\n const eligibleInputs = document.querySelectorAll(\"input[autocomplete$='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1 && verifyBrowserAutofillInput) {\n throw Error('No <input> with \"webauthn\" as the only or last value in its `autocomplete` attribute was detected');\n }\n // `CredentialMediationRequirement` doesn't know about \"conditional\" yet as of\n // typescript@4.6.3\n getOptions.mediation = 'conditional';\n // Conditional UI requires an empty allow list\n publicKey.allowCredentials = [];\n }\n // Finalize options\n getOptions.publicKey = publicKey;\n // Set up the ability to cancel this request if the user attempts another\n getOptions.signal = WebAuthnAbortService.createNewAbortSignal();\n // Wait for the user to complete assertion\n let credential;\n try {\n credential = (await navigator.credentials.get(getOptions));\n }\n catch (err) {\n throw identifyAuthenticationError({ error: err, options: getOptions });\n }\n if (!credential) {\n throw new Error('Authentication was not completed');\n }\n const { id, rawId, response, type } = credential;\n let userHandle = undefined;\n if (response.userHandle) {\n userHandle = bufferToBase64URLString(response.userHandle);\n }\n // Convert values to base64 to make it easier to send back to the server\n return {\n id,\n rawId: bufferToBase64URLString(rawId),\n response: {\n authenticatorData: bufferToBase64URLString(response.authenticatorData),\n clientDataJSON: bufferToBase64URLString(response.clientDataJSON),\n signature: bufferToBase64URLString(response.signature),\n userHandle,\n },\n type,\n clientExtensionResults: credential.getClientExtensionResults(),\n authenticatorAttachment: toAuthenticatorAttachment(credential.authenticatorAttachment),\n };\n}\n",
|
|
18
18
|
"import { browserSupportsWebAuthn } from './browserSupportsWebAuthn.js';\n/**\n * Determine whether the browser can communicate with a built-in authenticator, like\n * Touch ID, Android fingerprint scanner, or Windows Hello.\n *\n * This method will _not_ be able to tell you the name of the platform authenticator.\n */\nexport function platformAuthenticatorIsAvailable() {\n if (!browserSupportsWebAuthn()) {\n return new Promise((resolve) => resolve(false));\n }\n return PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n}\n",
|
|
19
19
|
"export * from './methods/startRegistration.js';\nexport * from './methods/startAuthentication.js';\nexport * from './helpers/browserSupportsWebAuthn.js';\nexport * from './helpers/platformAuthenticatorIsAvailable.js';\nexport * from './helpers/browserSupportsWebAuthnAutofill.js';\nexport * from './helpers/base64URLStringToBuffer.js';\nexport * from './helpers/bufferToBase64URLString.js';\nexport * from './helpers/webAuthnAbortService.js';\nexport * from './helpers/webAuthnError.js';\nexport * from './types/index.js';\n",
|
|
20
|
-
"// Framework-agnostic client SDK over the auth endpoints. Thin fetch wrappers with\n// configurable routes, a uniform `{ data, error }` return, and same-origin cookies on by\n// default — the primitive the React hooks (`./react`) and future Vue/Solid composables wrap.\n// HTMX is the special case (declarative server fragments via `./htmx`); for every other UI\n// framework the natural primitive is this client + your framework's reactivity.\n\nexport type AuthClientError = {\n\tbody: unknown;\n\tmessage: string;\n\tstatus: number;\n};\n\nexport type AuthClientResult<T> =\n\t| { data: null; error: AuthClientError }\n\t| { data: T; error: null };\n\n// Each entry is the URL the consumer's auth() mounted that flow at. Defaults match the\n// package defaults; override to match your own custom routes.\nexport type AuthClientRoutes = {\n\temailVerify?: string;\n\temailVerifyRequest?: string;\n\tlogin?: string;\n\tmagicLinkRequest?: string;\n\tmagicLinkVerify?: string;\n\tmfaChallenge?: string;\n\tmfaManagement?: string;\n\tmfaSetup?: string;\n\tmfaVerifySetup?: string;\n\tpasskeyAuthenticateOptions?: string;\n\tpasskeyAuthenticateVerify?: string;\n\tpasskeyList?: string;\n\tpasskeyRegisterOptions?: string;\n\tpasskeyRegisterVerify?: string;\n\tpasskeyRemove?: string;\n\tpasswordReset?: string;\n\tpasswordResetRequest?: string;\n\tregister?: string;\n\tsessions?: string;\n\tsignout?: string;\n\tstatus?: string;\n};\n\nconst DEFAULT_ROUTES: Required<AuthClientRoutes> = {\n\temailVerify: '/auth/verify-email',\n\temailVerifyRequest: '/auth/verify-email/request',\n\tlogin: '/auth/login',\n\tmagicLinkRequest: '/auth/passwordless/magic-link',\n\tmagicLinkVerify: '/auth/passwordless/magic-link/verify',\n\tmfaChallenge: '/auth/mfa/totp/challenge',\n\tmfaManagement: '/auth/mfa',\n\tmfaSetup: '/auth/mfa/totp/setup',\n\tmfaVerifySetup: '/auth/mfa/totp/verify',\n\tpasskeyAuthenticateOptions: '/auth/webauthn/authenticate/options',\n\tpasskeyAuthenticateVerify: '/auth/webauthn/authenticate/verify',\n\tpasskeyList: '/auth/webauthn/credentials',\n\tpasskeyRegisterOptions: '/auth/webauthn/register/options',\n\tpasskeyRegisterVerify: '/auth/webauthn/register/verify',\n\tpasskeyRemove: '/auth/webauthn/credentials',\n\tpasswordReset: '/auth/reset-password',\n\tpasswordResetRequest: '/auth/reset-password/request',\n\tregister: '/auth/register',\n\tsessions: '/auth/sessions',\n\tsignout: '/
|
|
20
|
+
"// Framework-agnostic client SDK over the auth endpoints. Thin fetch wrappers with\n// configurable routes, a uniform `{ data, error }` return, and same-origin cookies on by\n// default — the primitive the React hooks (`./react`) and future Vue/Solid composables wrap.\n// HTMX is the special case (declarative server fragments via `./htmx`); for every other UI\n// framework the natural primitive is this client + your framework's reactivity.\n\nexport type AuthClientError = {\n\tbody: unknown;\n\tmessage: string;\n\tstatus: number;\n};\n\nexport type AuthClientResult<T> =\n\t| { data: null; error: AuthClientError }\n\t| { data: T; error: null };\n\n// Each entry is the URL the consumer's auth() mounted that flow at. Defaults match the\n// package defaults; override to match your own custom routes.\nexport type AuthClientRoutes = {\n\temailVerify?: string;\n\temailVerifyRequest?: string;\n\tlogin?: string;\n\tmagicLinkRequest?: string;\n\tmagicLinkVerify?: string;\n\tmfaChallenge?: string;\n\tmfaManagement?: string;\n\tmfaSetup?: string;\n\tmfaVerifySetup?: string;\n\tpasskeyAuthenticateOptions?: string;\n\tpasskeyAuthenticateVerify?: string;\n\tpasskeyList?: string;\n\tpasskeyRegisterOptions?: string;\n\tpasskeyRegisterVerify?: string;\n\tpasskeyRemove?: string;\n\tpasswordReset?: string;\n\tpasswordResetRequest?: string;\n\tregister?: string;\n\tsessions?: string;\n\tsignout?: string;\n\tstatus?: string;\n};\n\nconst DEFAULT_ROUTES: Required<AuthClientRoutes> = {\n\temailVerify: '/auth/verify-email',\n\temailVerifyRequest: '/auth/verify-email/request',\n\tlogin: '/auth/login',\n\tmagicLinkRequest: '/auth/passwordless/magic-link',\n\tmagicLinkVerify: '/auth/passwordless/magic-link/verify',\n\tmfaChallenge: '/auth/mfa/totp/challenge',\n\tmfaManagement: '/auth/mfa',\n\tmfaSetup: '/auth/mfa/totp/setup',\n\tmfaVerifySetup: '/auth/mfa/totp/verify',\n\tpasskeyAuthenticateOptions: '/auth/webauthn/authenticate/options',\n\tpasskeyAuthenticateVerify: '/auth/webauthn/authenticate/verify',\n\tpasskeyList: '/auth/webauthn/credentials',\n\tpasskeyRegisterOptions: '/auth/webauthn/register/options',\n\tpasskeyRegisterVerify: '/auth/webauthn/register/verify',\n\tpasskeyRemove: '/auth/webauthn/credentials',\n\tpasswordReset: '/auth/reset-password',\n\tpasswordResetRequest: '/auth/reset-password/request',\n\tregister: '/auth/register',\n\tsessions: '/auth/sessions',\n\tsignout: '/oauth2/signout',\n\tstatus: '/oauth2/status'\n};\n\nexport type AuthClientConfig = {\n\tbaseUrl?: string;\n\tcredentials?: RequestCredentials;\n\tfetch?: typeof fetch;\n\troutes?: AuthClientRoutes;\n};\n\nconst succeed = <T>(data: T): AuthClientResult<T> => ({\n\tdata,\n\terror: null\n});\n\nconst fail = (error: AuthClientError): AuthClientResult<never> => ({\n\tdata: null,\n\terror\n});\n\nconst errorFor = (response: Response, body: unknown): AuthClientError => ({\n\tbody,\n\tmessage:\n\t\ttypeof body === 'string'\n\t\t\t? body\n\t\t\t: (readMessage(body) ?? response.statusText),\n\tstatus: response.status\n});\n\nexport const createAuthClient = ({\n\tbaseUrl = '',\n\tcredentials = 'same-origin',\n\tfetch: fetchImpl = fetch,\n\troutes\n}: AuthClientConfig = {}) => {\n\tconst resolvedRoutes: Required<AuthClientRoutes> = {\n\t\t...DEFAULT_ROUTES,\n\t\t...routes\n\t};\n\n\tconst request = async <T>(path: string, init: RequestInit) => {\n\t\ttry {\n\t\t\tconst response = await fetchImpl(`${baseUrl}${path}`, {\n\t\t\t\tcredentials,\n\t\t\t\t...init\n\t\t\t});\n\t\t\tconst text = await response.text();\n\t\t\tconst body: unknown = text === '' ? null : safeJson(text);\n\t\t\tif (!response.ok) return fail(errorFor(response, body));\n\n\t\t\t// Trust the caller's expectation at the deserialization boundary.\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- HTTP response is unknown until parsed; the call site declares the expected T\n\t\t\treturn succeed(body as T);\n\t\t} catch (caught) {\n\t\t\tconst message =\n\t\t\t\tcaught instanceof Error ? caught.message : 'network';\n\n\t\t\treturn fail({ body: null, message, status: 0 });\n\t\t}\n\t};\n\n\tconst post = <T>(path: string, body?: unknown, method = 'POST') =>\n\t\trequest<T>(path, {\n\t\t\tbody: body === undefined ? undefined : JSON.stringify(body),\n\t\t\theaders:\n\t\t\t\tbody === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: { 'content-type': 'application/json' },\n\t\t\tmethod\n\t\t});\n\n\tconst get = <T>(path: string) => request<T>(path, { method: 'GET' });\n\n\tconst del = <T>(path: string) => request<T>(path, { method: 'DELETE' });\n\n\treturn {\n\t\temailVerification: {\n\t\t\trequest: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.emailVerifyRequest, body),\n\t\t\tverify: (body: { token: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.emailVerify, body)\n\t\t},\n\t\tmfa: {\n\t\t\tchallenge: (body: { code: string }) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.mfaChallenge,\n\t\t\t\t\tbody\n\t\t\t\t),\n\t\t\tdisable: () =>\n\t\t\t\tdel<{ status: 'disabled' }>(resolvedRoutes.mfaManagement),\n\t\t\tsetup: () =>\n\t\t\t\tpost<{ secret: string; uri: string }>(resolvedRoutes.mfaSetup),\n\t\t\tstatus: () =>\n\t\t\t\tget<import('../mfa/management').MfaStatus>(\n\t\t\t\t\tresolvedRoutes.mfaManagement\n\t\t\t\t),\n\t\t\tverifySetup: (body: { code: string }) =>\n\t\t\t\tpost<{ backupCodes: string[] }>(\n\t\t\t\t\tresolvedRoutes.mfaVerifySetup,\n\t\t\t\t\tbody\n\t\t\t\t)\n\t\t},\n\t\tpasskeys: {\n\t\t\tauthenticateOptions: () =>\n\t\t\t\tpost<unknown>(resolvedRoutes.passkeyAuthenticateOptions),\n\t\t\tauthenticateVerify: (response: unknown) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.passkeyAuthenticateVerify,\n\t\t\t\t\tresponse\n\t\t\t\t),\n\t\t\tlist: () => get<unknown[]>(resolvedRoutes.passkeyList),\n\t\t\tregisterOptions: () =>\n\t\t\t\tpost<unknown>(resolvedRoutes.passkeyRegisterOptions),\n\t\t\tregisterVerify: (response: unknown) =>\n\t\t\t\tpost<{ ok: true }>(\n\t\t\t\t\tresolvedRoutes.passkeyRegisterVerify,\n\t\t\t\t\tresponse\n\t\t\t\t),\n\t\t\tremove: (credentialId: string) =>\n\t\t\t\tdel<{ ok: true }>(\n\t\t\t\t\t`${resolvedRoutes.passkeyRemove}/${encodeURIComponent(credentialId)}`\n\t\t\t\t)\n\t\t},\n\t\tpasswordless: {\n\t\t\trequestMagicLink: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.magicLinkRequest, body),\n\t\t\tverifyMagicLink: (body: { token: string }) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.magicLinkVerify,\n\t\t\t\t\tbody\n\t\t\t\t)\n\t\t},\n\t\tpasswordReset: {\n\t\t\tconfirm: (body: { password: string; token: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passwordReset, body),\n\t\t\trequest: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passwordResetRequest, body)\n\t\t},\n\t\tsessions: {\n\t\t\tlist: () => get<unknown[]>(resolvedRoutes.sessions),\n\t\t\trevoke: (sessionId: string) =>\n\t\t\t\tdel<{ ok: true }>(\n\t\t\t\t\t`${resolvedRoutes.sessions}/${encodeURIComponent(sessionId)}`\n\t\t\t\t)\n\t\t},\n\t\tsignIn: {\n\t\t\temail: (body: { email: string; password: string }) =>\n\t\t\t\tpost<{\n\t\t\t\t\tpasswordCompromised?: boolean;\n\t\t\t\t\tstatus: 'authenticated' | 'mfa_required';\n\t\t\t\t}>(resolvedRoutes.login, body)\n\t\t},\n\t\tsignUp: {\n\t\t\temail: (body: {\n\t\t\t\temail: string;\n\t\t\t\tpassword: string;\n\t\t\t\t[extra: string]: unknown;\n\t\t\t}) =>\n\t\t\t\tpost<\n\t\t\t\t\t| { status: 'authenticated' }\n\t\t\t\t\t| { status: 'verification_required' }\n\t\t\t\t>(resolvedRoutes.register, body)\n\t\t},\n\t\tsignOut: () => del<null>(resolvedRoutes.signout),\n\t\tstatus: () =>\n\t\t\tget<{ impersonator?: unknown; user: unknown | null }>(\n\t\t\t\tresolvedRoutes.status\n\t\t\t)\n\t};\n};\n\nconst safeJson = (text: string) => {\n\ttry {\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- deserialization boundary\n\t\treturn JSON.parse(text) as unknown;\n\t} catch {\n\t\treturn text;\n\t}\n};\n\nconst readMessage = (body: unknown) => {\n\tif (typeof body !== 'object' || body === null) return undefined;\n\tconst message: unknown = Reflect.get(body, 'message');\n\n\treturn typeof message === 'string' ? message : undefined;\n};\n\nexport type AuthClient = ReturnType<typeof createAuthClient>;\n",
|
|
21
21
|
"const DEFAULT_CHECK_INTERVAL_MS = 30_000;\nconst DEFAULT_REASON = 'session_expired';\nconst DEFAULT_REASON_PARAM = 'reason';\nconst DEFAULT_RETURN_URL_PARAM = 'returnUrl';\nconst DEFAULT_SIGN_IN_PATH = '/signin';\nconst DEFAULT_STATUS_PATH = '/oauth2/status';\nconst HTTP_UNAUTHORIZED = 401;\n\nexport type SessionExpiredContext = {\n\treturnTo: string;\n\tsignInUrl: string;\n};\n\nexport type SessionExpiryGuard = {\n\tcheck: () => Promise<boolean>;\n\tdispose: () => void;\n};\n\nexport type SessionExpiryGuardConfig = {\n\tcheckIntervalMs?: number;\n\tisProtectedRequest?: (url: URL) => boolean;\n\tonExpired?: (context: SessionExpiredContext) => void;\n\tprotectedPaths?: readonly string[];\n\treason?: string;\n\treasonParam?: string;\n\treturnUrlParam?: string;\n\tsignInPath?: string;\n\tstatusPath?: string;\n};\n\nlet activeGuard: SessionExpiryGuard | null = null;\n\nconst requestUrl = (input: RequestInfo | URL, origin: string) => {\n\tconst raw = input instanceof Request ? input.url : String(input);\n\n\ttry {\n\t\treturn new URL(raw, origin);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nexport const buildSessionExpiredSignInUrl = ({\n\tcurrentHref,\n\treason = DEFAULT_REASON,\n\treasonParam = DEFAULT_REASON_PARAM,\n\treturnUrlParam = DEFAULT_RETURN_URL_PARAM,\n\tsignInPath = DEFAULT_SIGN_IN_PATH\n}: {\n\tcurrentHref: string;\n\treason?: string;\n\treasonParam?: string;\n\treturnUrlParam?: string;\n\tsignInPath?: string;\n}) => {\n\tconst current = new URL(currentHref);\n\tconst returnTo = `${current.pathname}${current.search}${current.hash}`;\n\tconst destination = new URL(signInPath, current.origin);\n\tdestination.searchParams.set(reasonParam, reason);\n\tdestination.searchParams.set(returnUrlParam, returnTo);\n\n\treturn destination.origin === current.origin\n\t\t? `${destination.pathname}${destination.search}${destination.hash}`\n\t\t: destination.toString();\n};\n\n/**\n * Installs one browser-wide session-expiry guard. It intercepts 401 responses\n * only for explicitly protected same-origin requests and rechecks the auth\n * status route when a backgrounded or bfcached page becomes active again.\n */\nexport const installSessionExpiryGuard = (\n\tconfig: SessionExpiryGuardConfig = {}\n) => {\n\tif (typeof window === 'undefined' || typeof document === 'undefined') {\n\t\treturn { check: async () => false, dispose: () => undefined };\n\t}\n\tif (activeGuard) return activeGuard;\n\n\tconst {\n\t\tcheckIntervalMs = DEFAULT_CHECK_INTERVAL_MS,\n\t\tisProtectedRequest,\n\t\tonExpired,\n\t\tprotectedPaths = [],\n\t\treason = DEFAULT_REASON,\n\t\treasonParam = DEFAULT_REASON_PARAM,\n\t\treturnUrlParam = DEFAULT_RETURN_URL_PARAM,\n\t\tsignInPath = DEFAULT_SIGN_IN_PATH,\n\t\tstatusPath = DEFAULT_STATUS_PATH\n\t} = config;\n\tconst nativeFetch = window.fetch.bind(window);\n\tconst originalFetch = window.fetch;\n\tlet checking = false;\n\tlet disposed = false;\n\tlet expired = false;\n\tlet lastCheckedAt = Date.now();\n\n\tconst expire = () => {\n\t\tif (expired || disposed) return;\n\t\texpired = true;\n\t\tconst currentHref = window.location.href;\n\t\tconst signInUrl = buildSessionExpiredSignInUrl({\n\t\t\tcurrentHref,\n\t\t\treason,\n\t\t\treasonParam,\n\t\t\treturnUrlParam,\n\t\t\tsignInPath\n\t\t});\n\t\tconst current = new URL(currentHref);\n\t\tconst returnTo = `${current.pathname}${current.search}${current.hash}`;\n\t\tif (onExpired) {\n\t\t\tonExpired({ returnTo, signInUrl });\n\n\t\t\treturn;\n\t\t}\n\t\twindow.location.assign(signInUrl);\n\t};\n\n\tconst protectedRequest = (input: RequestInfo | URL) => {\n\t\tconst url = requestUrl(input, window.location.origin);\n\t\tif (!url || url.origin !== window.location.origin) return false;\n\t\tif (\n\t\t\tnew URL(statusPath, window.location.origin).pathname ===\n\t\t\turl.pathname\n\t\t)\n\t\t\treturn false;\n\n\t\treturn (\n\t\t\tisProtectedRequest?.(url) === true ||\n\t\t\tprotectedPaths.some((path) => url.pathname.startsWith(path))\n\t\t);\n\t};\n\n\tconst guardedFetch = new Proxy(originalFetch, {\n\t\tapply: async (target, thisArg, args) => {\n\t\t\tconst [input] = args;\n\t\t\tconst response = await Reflect.apply(target, thisArg, args);\n\t\t\tif (\n\t\t\t\tresponse.status === HTTP_UNAUTHORIZED &&\n\t\t\t\tprotectedRequest(input)\n\t\t\t) {\n\t\t\t\texpire();\n\t\t\t}\n\n\t\t\treturn response;\n\t\t}\n\t});\n\twindow.fetch = guardedFetch;\n\n\tconst check = async () => {\n\t\tif (checking || expired || disposed) return false;\n\t\tchecking = true;\n\t\tlastCheckedAt = Date.now();\n\t\ttry {\n\t\t\tconst response = await nativeFetch(statusPath, {\n\t\t\t\tcache: 'no-store',\n\t\t\t\tcredentials: 'include',\n\t\t\t\theaders: { accept: 'application/json' }\n\t\t\t});\n\t\t\tif (!response.ok) return false;\n\t\t\tconst payload: unknown = await response.json();\n\t\t\tconst sessionExpired =\n\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\tpayload !== null &&\n\t\t\t\tReflect.get(payload, 'user') === null;\n\t\t\tif (!sessionExpired) return false;\n\t\t\texpire();\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\t// A connectivity failure is not proof that the session expired.\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tchecking = false;\n\t\t}\n\t};\n\n\tconst checkIfDue = () => {\n\t\tif (\n\t\t\tdocument.visibilityState !== 'visible' ||\n\t\t\tDate.now() - lastCheckedAt < checkIntervalMs\n\t\t)\n\t\t\treturn;\n\t\tvoid check();\n\t};\n\tconst checkPersistedSession = (event: PageTransitionEvent) => {\n\t\tif (!event.persisted) return;\n\t\tvoid check();\n\t};\n\tconst dispose = () => {\n\t\tif (disposed) return;\n\t\tdisposed = true;\n\t\tdocument.removeEventListener('visibilitychange', checkIfDue);\n\t\twindow.removeEventListener('focus', checkIfDue);\n\t\twindow.removeEventListener('pageshow', checkPersistedSession);\n\t\tif (window.fetch === guardedFetch) window.fetch = originalFetch;\n\t\tactiveGuard = null;\n\t};\n\n\tdocument.addEventListener('visibilitychange', checkIfDue);\n\twindow.addEventListener('focus', checkIfDue);\n\twindow.addEventListener('pageshow', checkPersistedSession);\n\tactiveGuard = { check, dispose };\n\n\treturn activeGuard;\n};\n\nexport const isProtectedSessionRequest = ({\n\tinput,\n\torigin,\n\tprotectedPaths\n}: {\n\tinput: RequestInfo | URL;\n\torigin: string;\n\tprotectedPaths: readonly string[];\n}) => {\n\tconst url = requestUrl(input, origin);\n\n\treturn (\n\t\turl?.origin === origin &&\n\t\tprotectedPaths.some((path) => url.pathname.startsWith(path))\n\t);\n};\n",
|
|
22
22
|
"// Framework-agnostic glue between the WebAuthn ceremonies the package exposes via\n// `createAuthClient` and the browser's `navigator.credentials.{get,create}` APIs.\n// Used by the framework composables (`./react`, `./vue`, `./solid`, `./svelte`) so the\n// React + Vue + Solid + Svelte hooks all share the same imperative core; the framework\n// wrappers only add reactivity.\n//\n// `@simplewebauthn/browser` is an OPTIONAL peer dep — consumers that don't import any\n// of the passkey composables never load it. We dynamic-import lazily on first call so a\n// non-passkey consumer pays nothing at module load.\n\nimport type { AuthClient, AuthClientError } from './createAuthClient';\n\ntype StartAuthentication = (options: {\n\toptionsJSON: unknown;\n\tuseBrowserAutofill?: boolean;\n}) => Promise<unknown>;\n\ntype StartRegistration = (options: {\n\toptionsJSON: unknown;\n}) => Promise<unknown>;\n\nconst loadBrowser = async () => {\n\tconst mod: {\n\t\tstartAuthentication: StartAuthentication;\n\t\tstartRegistration: StartRegistration;\n\t} =\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- @simplewebauthn/browser is an optional peer dep; the dynamic import is gated by composable use sites + the shape matches the upstream signature we depend on\n\t\t(await import('@simplewebauthn/browser')) as {\n\t\t\tstartAuthentication: StartAuthentication;\n\t\t\tstartRegistration: StartRegistration;\n\t\t};\n\n\treturn mod;\n};\n\nconst errorFor = (caught: unknown): AuthClientError => ({\n\tbody: null,\n\tmessage: caught instanceof Error ? caught.message : 'webauthn_failed',\n\tstatus: 0\n});\n\n// Runs the WebAuthn authentication ceremony in conditional-UI mode (the browser surfaces\n// saved passkeys directly via autofill on a focused `<input autocomplete=\"webauthn\">`).\n// Returns the same `{ data, error }` shape `createAuthClient` already uses, so composables\n// can pipe the result into their state setters unchanged.\nexport const runConditionalAuthentication = async (client: AuthClient) => {\n\tif (typeof window === 'undefined' || !window.PublicKeyCredential) {\n\t\treturn {\n\t\t\tdata: null,\n\t\t\terror: errorFor(new Error('webauthn_unavailable'))\n\t\t};\n\t}\n\tconst options = await client.passkeys.authenticateOptions();\n\tif (options.error) return { data: null, error: options.error };\n\ttry {\n\t\tconst { startAuthentication } = await loadBrowser();\n\t\tconst credential = await startAuthentication({\n\t\t\toptionsJSON: options.data,\n\t\t\tuseBrowserAutofill: true\n\t\t});\n\n\t\treturn client.passkeys.authenticateVerify(credential);\n\t} catch (caught) {\n\t\treturn { data: null, error: errorFor(caught) };\n\t}\n};\n\n// Runs the WebAuthn registration ceremony for the currently authenticated user. Used by\n// the \"upgrade to passkey\" prompt — after a password sign-in, surface a \"save a passkey\n// to this device for next time?\" CTA.\nexport const runPasskeyRegistration = async (client: AuthClient) => {\n\tif (typeof window === 'undefined' || !window.PublicKeyCredential) {\n\t\treturn {\n\t\t\tdata: null,\n\t\t\terror: errorFor(new Error('webauthn_unavailable'))\n\t\t};\n\t}\n\tconst options = await client.passkeys.registerOptions();\n\tif (options.error) return { data: null, error: options.error };\n\ttry {\n\t\tconst { startRegistration } = await loadBrowser();\n\t\tconst credential = await startRegistration({\n\t\t\toptionsJSON: options.data\n\t\t});\n\n\t\treturn client.passkeys.registerVerify(credential);\n\t} catch (caught) {\n\t\treturn { data: null, error: errorFor(caught) };\n\t}\n};\n"
|
|
23
23
|
],
|
|
24
|
-
"mappings": "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",
|
|
25
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "1A0BF1297E097D6764756E2164756E21",
|
|
26
26
|
"names": []
|
|
27
27
|
}
|
package/dist/client/react.d.ts
CHANGED
|
@@ -72,9 +72,7 @@ export declare const useSignIn: (client: AuthClient) => MutationState<{
|
|
|
72
72
|
passwordCompromised?: boolean;
|
|
73
73
|
status: "authenticated" | "mfa_required";
|
|
74
74
|
}>;
|
|
75
|
-
export declare const useSignOut: (client: AuthClient) => MutationState<unknown,
|
|
76
|
-
ok: true;
|
|
77
|
-
}>;
|
|
75
|
+
export declare const useSignOut: (client: AuthClient) => MutationState<unknown, null>;
|
|
78
76
|
export declare const useSignUp: (client: AuthClient) => MutationState<{
|
|
79
77
|
[extra: string]: unknown;
|
|
80
78
|
email: string;
|
package/dist/client/solid.d.ts
CHANGED
|
@@ -73,9 +73,7 @@ export declare const useSignIn: (client: AuthClient) => MutationState<{
|
|
|
73
73
|
passwordCompromised?: boolean;
|
|
74
74
|
status: "authenticated" | "mfa_required";
|
|
75
75
|
}>;
|
|
76
|
-
export declare const useSignOut: (client: AuthClient) => MutationState<unknown,
|
|
77
|
-
ok: true;
|
|
78
|
-
}>;
|
|
76
|
+
export declare const useSignOut: (client: AuthClient) => MutationState<unknown, null>;
|
|
79
77
|
export declare const useSignUp: (client: AuthClient) => MutationState<{
|
|
80
78
|
[extra: string]: unknown;
|
|
81
79
|
email: string;
|
package/dist/client/svelte.d.ts
CHANGED
|
@@ -73,9 +73,7 @@ export declare const useSignIn: (client: AuthClient) => MutationState<{
|
|
|
73
73
|
passwordCompromised?: boolean;
|
|
74
74
|
status: "authenticated" | "mfa_required";
|
|
75
75
|
}>;
|
|
76
|
-
export declare const useSignOut: (client: AuthClient) => MutationState<unknown,
|
|
77
|
-
ok: true;
|
|
78
|
-
}>;
|
|
76
|
+
export declare const useSignOut: (client: AuthClient) => MutationState<unknown, null>;
|
|
79
77
|
export declare const useSignUp: (client: AuthClient) => MutationState<{
|
|
80
78
|
[extra: string]: unknown;
|
|
81
79
|
email: string;
|
package/dist/client/vue.d.ts
CHANGED
|
@@ -75,9 +75,7 @@ export declare const useSignIn: (client: AuthClient) => MutationState<{
|
|
|
75
75
|
passwordCompromised?: boolean;
|
|
76
76
|
status: "authenticated" | "mfa_required";
|
|
77
77
|
}>;
|
|
78
|
-
export declare const useSignOut: (client: AuthClient) => MutationState<unknown,
|
|
79
|
-
ok: true;
|
|
80
|
-
}>;
|
|
78
|
+
export declare const useSignOut: (client: AuthClient) => MutationState<unknown, null>;
|
|
81
79
|
export declare const useSignUp: (client: AuthClient) => MutationState<{
|
|
82
80
|
[extra: string]: unknown;
|
|
83
81
|
email: string;
|
package/dist/index.js
CHANGED
|
@@ -9245,6 +9245,18 @@ var stepUpPlugin = ({
|
|
|
9245
9245
|
|
|
9246
9246
|
// src/routes/signout.ts
|
|
9247
9247
|
import { Elysia as Elysia29, t as t26 } from "elysia";
|
|
9248
|
+
var sessionForSignOut = ({
|
|
9249
|
+
authSessionStore,
|
|
9250
|
+
currentSession,
|
|
9251
|
+
session,
|
|
9252
|
+
userSessionId
|
|
9253
|
+
}) => {
|
|
9254
|
+
if (!authSessionStore)
|
|
9255
|
+
return session;
|
|
9256
|
+
if (!currentSession)
|
|
9257
|
+
return {};
|
|
9258
|
+
return { [userSessionId]: currentSession };
|
|
9259
|
+
};
|
|
9248
9260
|
var runSignOut = async (onSignOut, args) => {
|
|
9249
9261
|
try {
|
|
9250
9262
|
await onSignOut?.(args);
|
|
@@ -9273,12 +9285,13 @@ var signout = ({
|
|
|
9273
9285
|
if (user_session_id.value === undefined) {
|
|
9274
9286
|
return status("Unauthorized", "No user session id found");
|
|
9275
9287
|
}
|
|
9276
|
-
const
|
|
9288
|
+
const currentSession = authSessionStore ? await authSessionStore.getSession(user_session_id.value) : session[user_session_id.value];
|
|
9289
|
+
const signoutSession = sessionForSignOut({
|
|
9277
9290
|
authSessionStore,
|
|
9291
|
+
currentSession,
|
|
9292
|
+
session,
|
|
9278
9293
|
userSessionId: user_session_id.value
|
|
9279
9294
|
});
|
|
9280
|
-
const signoutSession = authSessionStore ? compatibilityLayer.session : session;
|
|
9281
|
-
const currentSession = signoutSession[user_session_id.value];
|
|
9282
9295
|
if (currentSession !== undefined) {
|
|
9283
9296
|
const signedOut = await runSignOut(onSignOut, {
|
|
9284
9297
|
authProvider: auth_provider?.value,
|
|
@@ -9289,11 +9302,11 @@ var signout = ({
|
|
|
9289
9302
|
return status("Internal Server Error", "Sign out operation failed");
|
|
9290
9303
|
}
|
|
9291
9304
|
}
|
|
9292
|
-
delete signoutSession[user_session_id.value];
|
|
9293
9305
|
if (authSessionStore) {
|
|
9294
|
-
await
|
|
9295
|
-
|
|
9296
|
-
|
|
9306
|
+
await Promise.all([
|
|
9307
|
+
authSessionStore.removeSession(user_session_id.value),
|
|
9308
|
+
authSessionStore.removeUnregisteredSession(user_session_id.value)
|
|
9309
|
+
]);
|
|
9297
9310
|
} else {
|
|
9298
9311
|
delete session[user_session_id.value];
|
|
9299
9312
|
}
|
|
@@ -27932,5 +27945,5 @@ export {
|
|
|
27932
27945
|
AuthIdentityConflictError
|
|
27933
27946
|
};
|
|
27934
27947
|
|
|
27935
|
-
//# debugId=
|
|
27948
|
+
//# debugId=3641271C853CFF2564756E2164756E21
|
|
27936
27949
|
//# sourceMappingURL=index.js.map
|