@clerk/nuxt 2.3.0 → 2.3.1-snapshot.v20260501171802
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/module.js +1 -1
- package/dist/runtime/plugin.js +1 -1
- package/dist/runtime/server/clerkClient.js +2 -2
- package/dist/runtime/server/clerkClient.js.map +1 -1
- package/dist/runtime/server/clerkMiddleware.d.ts +3 -3
- package/dist/runtime/server/clerkMiddleware.js +1 -2
- package/dist/runtime/server/clerkMiddleware.js.map +1 -1
- package/dist/runtime/server/middleware.d.ts +1 -1
- package/dist/runtime/server/routeMatcher.js +1 -1
- package/dist/runtime/server/routeMatcher.js.map +1 -1
- package/dist/runtime/server/utils.js +1 -1
- package/dist/runtime/server/utils.js.map +1 -1
- package/dist/runtime/webhooks.js +1 -2
- package/dist/runtime/webhooks.js.map +1 -1
- package/package.json +5 -5
package/dist/module.js
CHANGED
package/dist/runtime/plugin.js
CHANGED
|
@@ -22,7 +22,7 @@ var plugin_default = defineNuxtPlugin((nuxtApp) => {
|
|
|
22
22
|
__internal_clerkUIVersion: clerkConfig.clerkUIVersion,
|
|
23
23
|
sdkMetadata: {
|
|
24
24
|
name: "@clerk/nuxt",
|
|
25
|
-
version: "2.3.
|
|
25
|
+
version: "2.3.1-snapshot.v20260501171802",
|
|
26
26
|
environment: process.env.NODE_ENV
|
|
27
27
|
},
|
|
28
28
|
routerPush: (to) => navigateTo(to),
|
|
@@ -39,10 +39,10 @@ function clerkClient(event) {
|
|
|
39
39
|
disabled: isTruthy(runtimeConfig.public.clerk.telemetry?.disabled),
|
|
40
40
|
debug: isTruthy(runtimeConfig.public.clerk.telemetry?.debug)
|
|
41
41
|
},
|
|
42
|
-
userAgent: `${"@clerk/nuxt"}@${"2.3.
|
|
42
|
+
userAgent: `${"@clerk/nuxt"}@${"2.3.1-snapshot.v20260501171802"}`,
|
|
43
43
|
sdkMetadata: {
|
|
44
44
|
name: "@clerk/nuxt",
|
|
45
|
-
version: "2.3.
|
|
45
|
+
version: "2.3.1-snapshot.v20260501171802",
|
|
46
46
|
environment: process.env.NODE_ENV
|
|
47
47
|
}
|
|
48
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtime/server/clerkClient.ts"],"sourcesContent":["import { createClerkClient } from '@clerk/backend';\nimport { apiUrlFromPublishableKey } from '@clerk/shared/apiUrlFromPublishableKey';\nimport { deprecated } from '@clerk/shared/deprecated';\nimport { isTruthy } from '@clerk/shared/underscore';\nimport type { H3Event } from 'h3';\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/runtime/server/clerkClient.ts"],"sourcesContent":["import { createClerkClient } from '@clerk/backend';\nimport { apiUrlFromPublishableKey } from '@clerk/shared/apiUrlFromPublishableKey';\nimport { deprecated } from '@clerk/shared/deprecated';\nimport { isTruthy } from '@clerk/shared/underscore';\nimport type { H3Event } from 'h3';\n\nimport { useRuntimeConfig } from '#imports';\n\nfunction resolveApiUrl(runtimeConfig: ReturnType<typeof useRuntimeConfig>): string {\n if (runtimeConfig.clerk.apiUrl) {\n return runtimeConfig.clerk.apiUrl;\n }\n if (runtimeConfig.public.clerk.apiUrl) {\n deprecated('NUXT_PUBLIC_CLERK_API_URL', 'Use `NUXT_CLERK_API_URL` instead.');\n return runtimeConfig.public.clerk.apiUrl;\n }\n return apiUrlFromPublishableKey(runtimeConfig.public.clerk.publishableKey);\n}\n\nfunction resolveApiVersion(runtimeConfig: ReturnType<typeof useRuntimeConfig>): string {\n if (runtimeConfig.clerk.apiVersion) {\n return runtimeConfig.clerk.apiVersion;\n }\n if (runtimeConfig.public.clerk.apiVersion) {\n deprecated('NUXT_PUBLIC_CLERK_API_VERSION', 'Use `NUXT_CLERK_API_VERSION` instead.');\n return runtimeConfig.public.clerk.apiVersion;\n }\n return 'v1';\n}\n\nexport function clerkClient(event: H3Event) {\n const runtimeConfig = useRuntimeConfig(event);\n\n return createClerkClient({\n publishableKey: runtimeConfig.public.clerk.publishableKey,\n apiUrl: resolveApiUrl(runtimeConfig),\n apiVersion: resolveApiVersion(runtimeConfig),\n proxyUrl: runtimeConfig.public.clerk.proxyUrl,\n domain: runtimeConfig.public.clerk.domain,\n isSatellite: runtimeConfig.public.clerk.isSatellite,\n secretKey: runtimeConfig.clerk.secretKey,\n machineSecretKey: runtimeConfig.clerk.machineSecretKey,\n jwtKey: runtimeConfig.clerk.jwtKey,\n telemetry: {\n disabled: isTruthy(runtimeConfig.public.clerk.telemetry?.disabled),\n debug: isTruthy(runtimeConfig.public.clerk.telemetry?.debug),\n },\n userAgent: `${PACKAGE_NAME}@${PACKAGE_VERSION}`,\n sdkMetadata: {\n name: PACKAGE_NAME,\n version: PACKAGE_VERSION,\n environment: process.env.NODE_ENV,\n },\n });\n}\n"],"mappings":"AAAA,SAAS,yBAAyB;AAClC,SAAS,gCAAgC;AACzC,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AAGzB,SAAS,wBAAwB;AAEjC,SAAS,cAAc,eAA4D;AACjF,MAAI,cAAc,MAAM,QAAQ;AAC9B,WAAO,cAAc,MAAM;AAAA,EAC7B;AACA,MAAI,cAAc,OAAO,MAAM,QAAQ;AACrC,eAAW,6BAA6B,mCAAmC;AAC3E,WAAO,cAAc,OAAO,MAAM;AAAA,EACpC;AACA,SAAO,yBAAyB,cAAc,OAAO,MAAM,cAAc;AAC3E;AAEA,SAAS,kBAAkB,eAA4D;AACrF,MAAI,cAAc,MAAM,YAAY;AAClC,WAAO,cAAc,MAAM;AAAA,EAC7B;AACA,MAAI,cAAc,OAAO,MAAM,YAAY;AACzC,eAAW,iCAAiC,uCAAuC;AACnF,WAAO,cAAc,OAAO,MAAM;AAAA,EACpC;AACA,SAAO;AACT;AAEO,SAAS,YAAY,OAAgB;AAC1C,QAAM,gBAAgB,iBAAiB,KAAK;AAE5C,SAAO,kBAAkB;AAAA,IACvB,gBAAgB,cAAc,OAAO,MAAM;AAAA,IAC3C,QAAQ,cAAc,aAAa;AAAA,IACnC,YAAY,kBAAkB,aAAa;AAAA,IAC3C,UAAU,cAAc,OAAO,MAAM;AAAA,IACrC,QAAQ,cAAc,OAAO,MAAM;AAAA,IACnC,aAAa,cAAc,OAAO,MAAM;AAAA,IACxC,WAAW,cAAc,MAAM;AAAA,IAC/B,kBAAkB,cAAc,MAAM;AAAA,IACtC,QAAQ,cAAc,MAAM;AAAA,IAC5B,WAAW;AAAA,MACT,UAAU,SAAS,cAAc,OAAO,MAAM,WAAW,QAAQ;AAAA,MACjE,OAAO,SAAS,cAAc,OAAO,MAAM,WAAW,KAAK;AAAA,IAC7D;AAAA,IACA,WAAW,GAAG,aAAY,IAAI,gCAAe;AAAA,IAC7C,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,aAAa,QAAQ,IAAI;AAAA,IAC3B;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { AuthenticateRequestOptions } from '@clerk/backend/internal';
|
|
2
|
-
import { EventHandler
|
|
2
|
+
import { EventHandler } from 'h3';
|
|
3
3
|
|
|
4
4
|
interface ClerkMiddleware {
|
|
5
5
|
/**
|
|
6
6
|
* @example
|
|
7
7
|
* export default clerkMiddleware((event) => { ... }, options);
|
|
8
8
|
*/
|
|
9
|
-
(handler: EventHandler, options?: AuthenticateRequestOptions):
|
|
9
|
+
(handler: EventHandler, options?: AuthenticateRequestOptions): EventHandler;
|
|
10
10
|
/**
|
|
11
11
|
* @example
|
|
12
12
|
* export default clerkMiddleware(options);
|
|
13
13
|
*/
|
|
14
|
-
(options?: AuthenticateRequestOptions):
|
|
14
|
+
(options?: AuthenticateRequestOptions): EventHandler;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Middleware for Nuxt that handles authentication and authorization with Clerk.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { AuthStatus, constants, getAuthObjectForAcceptedToken } from "@clerk/backend/internal";
|
|
2
2
|
import { handleNetlifyCacheInDevInstance } from "@clerk/shared/netlifyCacheHandler";
|
|
3
3
|
import { isMalformedURLError } from "@clerk/shared/pathMatcher";
|
|
4
|
-
import { createError, eventHandler, setResponseHeader } from "
|
|
5
|
-
import { useRuntimeConfig } from "#imports";
|
|
4
|
+
import { createError, eventHandler, setResponseHeader, useRuntimeConfig } from "#imports";
|
|
6
5
|
import { canUseKeyless } from "../utils/feature-flags";
|
|
7
6
|
import { clerkClient } from "./clerkClient";
|
|
8
7
|
import { resolveKeysWithKeylessFallback } from "./keyless/utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtime/server/clerkMiddleware.ts"],"sourcesContent":["import type { AuthenticateRequestOptions } from '@clerk/backend/internal';\nimport { AuthStatus, constants, getAuthObjectForAcceptedToken } from '@clerk/backend/internal';\nimport { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';\nimport { isMalformedURLError } from '@clerk/shared/pathMatcher';\nimport type { PendingSessionOptions } from '@clerk/shared/types';\nimport type { EventHandler } from 'h3';\nimport { createError, eventHandler, setResponseHeader
|
|
1
|
+
{"version":3,"sources":["../../../src/runtime/server/clerkMiddleware.ts"],"sourcesContent":["import type { AuthenticateRequestOptions } from '@clerk/backend/internal';\nimport { AuthStatus, constants, getAuthObjectForAcceptedToken } from '@clerk/backend/internal';\nimport { handleNetlifyCacheInDevInstance } from '@clerk/shared/netlifyCacheHandler';\nimport { isMalformedURLError } from '@clerk/shared/pathMatcher';\nimport type { PendingSessionOptions } from '@clerk/shared/types';\nimport type { EventHandler } from 'h3';\n\nimport { createError, eventHandler, setResponseHeader, useRuntimeConfig } from '#imports';\n\nimport { canUseKeyless } from '../utils/feature-flags';\nimport { clerkClient } from './clerkClient';\nimport { resolveKeysWithKeylessFallback } from './keyless/utils';\nimport type { AuthFn, AuthOptions } from './types';\nimport { createInitialState, toWebRequest } from './utils';\n\nfunction parseHandlerAndOptions(args: unknown[]) {\n return [\n typeof args[0] === 'function' ? args[0] : undefined,\n (args.length === 2 ? args[1] : typeof args[0] === 'function' ? {} : args[0]) || {},\n ] as [EventHandler | undefined, AuthenticateRequestOptions];\n}\n\ninterface ClerkMiddleware {\n /**\n * @example\n * export default clerkMiddleware((event) => { ... }, options);\n */\n (handler: EventHandler, options?: AuthenticateRequestOptions): EventHandler;\n\n /**\n * @example\n * export default clerkMiddleware(options);\n */\n (options?: AuthenticateRequestOptions): EventHandler;\n}\n\n/**\n * Middleware for Nuxt that handles authentication and authorization with Clerk.\n *\n * @example\n * Basic usage with options:\n * ```ts\n * export default clerkMiddleware({\n * authorizedParties: ['https://example.com']\n * })\n * ```\n *\n * @example\n * With custom handler:\n * ```ts\n * export default clerkMiddleware((event) => {\n * // Access auth data from the event context\n * const { auth } = event.context\n *\n * // Example: Require authentication for all API routes\n * if (!auth.userId && event.path.startsWith('/api')) {\n * throw createError({\n * statusCode: 401,\n * message: 'Unauthorized'\n * })\n * }\n * })\n * ```\n *\n * @example\n * With custom handler and options:\n * ```ts\n * export default clerkMiddleware((event) => {\n * // Access auth data from the event context\n * const { auth } = event.context\n *\n * // Example: Require authentication for all API routes\n * if (!auth.userId && event.path.startsWith('/api')) {\n * throw createError({\n * statusCode: 401,\n * message: 'Unauthorized'\n * })\n * }\n * }, {\n * authorizedParties: ['https://example.com']\n * })\n * ```\n */\nexport const clerkMiddleware: ClerkMiddleware = (...args: unknown[]) => {\n const [handler, options] = parseHandlerAndOptions(args);\n return eventHandler(async event => {\n const clerkRequest = toWebRequest(event);\n\n // Resolve keyless in development if keys are missing\n let keylessClaimUrl: string | undefined;\n let keylessApiKeysUrl: string | undefined;\n\n if (canUseKeyless) {\n try {\n const runtimeConfig = useRuntimeConfig(event);\n\n const { publishableKey, secretKey, claimUrl, apiKeysUrl } = await resolveKeysWithKeylessFallback(\n runtimeConfig.public.clerk.publishableKey,\n runtimeConfig.clerk.secretKey,\n event,\n );\n\n keylessClaimUrl = claimUrl;\n keylessApiKeysUrl = apiKeysUrl;\n\n // Override runtime config with keyless values if returned\n if (publishableKey) {\n runtimeConfig.public.clerk.publishableKey = publishableKey;\n }\n if (secretKey) {\n runtimeConfig.clerk.secretKey = secretKey;\n }\n } catch {\n // Silently fail - continue without keyless\n }\n }\n\n const requestState = await clerkClient(event).authenticateRequest(clerkRequest, {\n ...options,\n acceptsToken: 'any',\n });\n\n const locationHeader = requestState.headers.get(constants.Headers.Location);\n if (locationHeader) {\n handleNetlifyCacheInDevInstance({\n locationHeader,\n requestStateHeaders: requestState.headers,\n publishableKey: requestState.publishableKey,\n });\n // Trigger a handshake redirect\n return new Response(null, { status: 307, headers: requestState.headers });\n }\n\n if (requestState.status === AuthStatus.Handshake) {\n throw createError('Clerk: handshake status without redirect');\n }\n\n if (requestState.headers) {\n requestState.headers.forEach((value, key) => {\n setResponseHeader(event, key, value);\n });\n }\n\n const authObjectFn = (opts?: PendingSessionOptions) => requestState.toAuth(opts);\n const authHandler: AuthFn = ((options?: AuthOptions) => {\n return getAuthObjectForAcceptedToken({ authObject: authObjectFn(options), acceptsToken: options?.acceptsToken });\n }) as AuthFn;\n\n event.context.auth = authHandler;\n // Internal serializable state that will be passed to the client\n event.context.__clerk_initial_state = createInitialState(authObjectFn());\n\n // Store keyless mode URLs in separate context property\n if (canUseKeyless && keylessClaimUrl) {\n event.context.__clerk_keyless = {\n claimUrl: keylessClaimUrl,\n apiKeysUrl: keylessApiKeysUrl,\n };\n }\n\n try {\n await handler?.(event);\n } catch (e) {\n if (isMalformedURLError(e)) {\n throw createError({ statusCode: 400, statusMessage: 'Bad Request' });\n }\n throw e;\n }\n });\n};\n"],"mappings":"AACA,SAAS,YAAY,WAAW,qCAAqC;AACrE,SAAS,uCAAuC;AAChD,SAAS,2BAA2B;AAIpC,SAAS,aAAa,cAAc,mBAAmB,wBAAwB;AAE/E,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sCAAsC;AAE/C,SAAS,oBAAoB,oBAAoB;AAEjD,SAAS,uBAAuB,MAAiB;AAC/C,SAAO;AAAA,IACL,OAAO,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,IAAI;AAAA,KACzC,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;AAAA,EACnF;AACF;AA+DO,MAAM,kBAAmC,IAAI,SAAoB;AACtE,QAAM,CAAC,SAAS,OAAO,IAAI,uBAAuB,IAAI;AACtD,SAAO,aAAa,OAAM,UAAS;AACjC,UAAM,eAAe,aAAa,KAAK;AAGvC,QAAI;AACJ,QAAI;AAEJ,QAAI,eAAe;AACjB,UAAI;AACF,cAAM,gBAAgB,iBAAiB,KAAK;AAE5C,cAAM,EAAE,gBAAgB,WAAW,UAAU,WAAW,IAAI,MAAM;AAAA,UAChE,cAAc,OAAO,MAAM;AAAA,UAC3B,cAAc,MAAM;AAAA,UACpB;AAAA,QACF;AAEA,0BAAkB;AAClB,4BAAoB;AAGpB,YAAI,gBAAgB;AAClB,wBAAc,OAAO,MAAM,iBAAiB;AAAA,QAC9C;AACA,YAAI,WAAW;AACb,wBAAc,MAAM,YAAY;AAAA,QAClC;AAAA,MACF,QAAQ;AAAA,MAER;AAAA,IACF;AAEA,UAAM,eAAe,MAAM,YAAY,KAAK,EAAE,oBAAoB,cAAc;AAAA,MAC9E,GAAG;AAAA,MACH,cAAc;AAAA,IAChB,CAAC;AAED,UAAM,iBAAiB,aAAa,QAAQ,IAAI,UAAU,QAAQ,QAAQ;AAC1E,QAAI,gBAAgB;AAClB,sCAAgC;AAAA,QAC9B;AAAA,QACA,qBAAqB,aAAa;AAAA,QAClC,gBAAgB,aAAa;AAAA,MAC/B,CAAC;AAED,aAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,SAAS,aAAa,QAAQ,CAAC;AAAA,IAC1E;AAEA,QAAI,aAAa,WAAW,WAAW,WAAW;AAChD,YAAM,YAAY,0CAA0C;AAAA,IAC9D;AAEA,QAAI,aAAa,SAAS;AACxB,mBAAa,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AAC3C,0BAAkB,OAAO,KAAK,KAAK;AAAA,MACrC,CAAC;AAAA,IACH;AAEA,UAAM,eAAe,CAAC,SAAiC,aAAa,OAAO,IAAI;AAC/E,UAAM,eAAuB,CAACA,aAA0B;AACtD,aAAO,8BAA8B,EAAE,YAAY,aAAaA,QAAO,GAAG,cAAcA,UAAS,aAAa,CAAC;AAAA,IACjH;AAEA,UAAM,QAAQ,OAAO;AAErB,UAAM,QAAQ,wBAAwB,mBAAmB,aAAa,CAAC;AAGvE,QAAI,iBAAiB,iBAAiB;AACpC,YAAM,QAAQ,kBAAkB;AAAA,QAC9B,UAAU;AAAA,QACV,YAAY;AAAA,MACd;AAAA,IACF;AAEA,QAAI;AACF,YAAM,UAAU,KAAK;AAAA,IACvB,SAAS,GAAG;AACV,UAAI,oBAAoB,CAAC,GAAG;AAC1B,cAAM,YAAY,EAAE,YAAY,KAAK,eAAe,cAAc,CAAC;AAAA,MACrE;AACA,YAAM;AAAA,IACR;AAAA,EACF,CAAC;AACH;","names":["options"]}
|
|
@@ -4,6 +4,6 @@ import * as h3 from 'h3';
|
|
|
4
4
|
* This middleware is automatically installed when adding the @clerk/nuxt module.
|
|
5
5
|
* It can be disabled by setting the skipServerMiddleware option in the config.
|
|
6
6
|
*/
|
|
7
|
-
declare const _default: h3.EventHandler<h3.EventHandlerRequest,
|
|
7
|
+
declare const _default: h3.EventHandler<h3.EventHandlerRequest, any>;
|
|
8
8
|
|
|
9
9
|
export { _default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtime/server/routeMatcher.ts"],"sourcesContent":["import type { PathMatcherParam } from '@clerk/shared/pathMatcher';\nimport { createPathMatcher } from '@clerk/shared/pathMatcher';\nimport type { H3Event } from 'h3';\nimport { getRequestURL } from '
|
|
1
|
+
{"version":3,"sources":["../../../src/runtime/server/routeMatcher.ts"],"sourcesContent":["import type { PathMatcherParam } from '@clerk/shared/pathMatcher';\nimport { createPathMatcher } from '@clerk/shared/pathMatcher';\nimport type { H3Event } from 'h3';\n\nimport { getRequestURL } from '#imports';\n\nexport type RouteMatcherParam = PathMatcherParam;\n\n/**\n * `createRouteMatcher` is a Clerk helper function that allows you to protect multiple routes. It accepts an array of routes and checks if the route the user is trying to visit matches one of the routes passed to it.\n *\n * The `createRouteMatcher` helper function returns a function that accepts a Vue Router route location and will return `true` if the user is trying to access a route that matches on of the routes passed to `createRouteMatcher`.\n *\n * @example\n * ['/foo', '/bar(.*)']\n * @example\n * [/^\\/foo\\/.*$/]\n */\nexport const createRouteMatcher = (routes: RouteMatcherParam) => {\n const matcher = createPathMatcher(routes);\n return (event: H3Event) => {\n const url = getRequestURL(event);\n return matcher(new URL(url).pathname);\n };\n};\n"],"mappings":"AACA,SAAS,yBAAyB;AAGlC,SAAS,qBAAqB;AAcvB,MAAM,qBAAqB,CAAC,WAA8B;AAC/D,QAAM,UAAU,kBAAkB,MAAM;AACxC,SAAO,CAAC,UAAmB;AACzB,UAAM,MAAM,cAAc,KAAK;AAC/B,WAAO,QAAQ,IAAI,IAAI,GAAG,EAAE,QAAQ;AAAA,EACtC;AACF;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeAuthObjectSerializable, stripPrivateDataFromObject } from "@clerk/backend/internal";
|
|
2
|
-
import { getRequestHeaders, getRequestProtocol } from "
|
|
2
|
+
import { getRequestHeaders, getRequestProtocol } from "#imports";
|
|
3
3
|
function toWebRequest(event) {
|
|
4
4
|
const headers = getRequestHeaders(event);
|
|
5
5
|
const protocol = getRequestProtocol(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtime/server/utils.ts"],"sourcesContent":["import type { AuthObject } from '@clerk/backend';\nimport { makeAuthObjectSerializable, stripPrivateDataFromObject } from '@clerk/backend/internal';\nimport type { InitialState } from '@clerk/shared/types';\nimport type { H3Event } from 'h3';\nimport { getRequestHeaders, getRequestProtocol } from '
|
|
1
|
+
{"version":3,"sources":["../../../src/runtime/server/utils.ts"],"sourcesContent":["import type { AuthObject } from '@clerk/backend';\nimport { makeAuthObjectSerializable, stripPrivateDataFromObject } from '@clerk/backend/internal';\nimport type { InitialState } from '@clerk/shared/types';\nimport type { H3Event } from 'h3';\n\nimport { getRequestHeaders, getRequestProtocol } from '#imports';\n\n/**\n * Converts an H3 event into a Fetch Request object.\n */\nexport function toWebRequest(event: H3Event) {\n const headers = getRequestHeaders(event) as HeadersInit;\n const protocol = getRequestProtocol(event);\n const dummyOriginReqUrl = new URL(event.node.req.url || '', `${protocol}://clerk-dummy`);\n return new Request(dummyOriginReqUrl, {\n method: event.method,\n headers: new Headers(headers),\n });\n}\n\nexport function createInitialState(auth: AuthObject) {\n const initialState = makeAuthObjectSerializable(stripPrivateDataFromObject(auth));\n return initialState as unknown as InitialState;\n}\n"],"mappings":"AACA,SAAS,4BAA4B,kCAAkC;AAIvE,SAAS,mBAAmB,0BAA0B;AAK/C,SAAS,aAAa,OAAgB;AAC3C,QAAM,UAAU,kBAAkB,KAAK;AACvC,QAAM,WAAW,mBAAmB,KAAK;AACzC,QAAM,oBAAoB,IAAI,IAAI,MAAM,KAAK,IAAI,OAAO,IAAI,GAAG,QAAQ,gBAAgB;AACvF,SAAO,IAAI,QAAQ,mBAAmB;AAAA,IACpC,QAAQ,MAAM;AAAA,IACd,SAAS,IAAI,QAAQ,OAAO;AAAA,EAC9B,CAAC;AACH;AAEO,SAAS,mBAAmB,MAAkB;AACnD,QAAM,eAAe,2BAA2B,2BAA2B,IAAI,CAAC;AAChF,SAAO;AACT;","names":[]}
|
package/dist/runtime/webhooks.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { verifyWebhook as verifyWebhookBase } from "@clerk/backend/webhooks";
|
|
2
|
-
import { toWebRequest } from "
|
|
3
|
-
import { useRuntimeConfig } from "#imports";
|
|
2
|
+
import { toWebRequest, useRuntimeConfig } from "#imports";
|
|
4
3
|
export * from "@clerk/backend/webhooks";
|
|
5
4
|
async function verifyWebhook(event, options) {
|
|
6
5
|
const webRequest = toWebRequest(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/runtime/webhooks.ts"],"sourcesContent":["/* eslint-disable import/export */\nimport type { VerifyWebhookOptions } from '@clerk/backend/webhooks';\nimport { verifyWebhook as verifyWebhookBase } from '@clerk/backend/webhooks';\nimport type { H3Event } from 'h3';\nimport { toWebRequest
|
|
1
|
+
{"version":3,"sources":["../../src/runtime/webhooks.ts"],"sourcesContent":["/* eslint-disable import/export */\nimport type { VerifyWebhookOptions } from '@clerk/backend/webhooks';\nimport { verifyWebhook as verifyWebhookBase } from '@clerk/backend/webhooks';\nimport type { H3Event } from 'h3';\n\nimport { toWebRequest, useRuntimeConfig } from '#imports';\n\n// Ordering of exports matter here since\n// we're overriding the base verifyWebhook\nexport * from '@clerk/backend/webhooks';\n\n/**\n * Verifies the authenticity of a webhook request using Svix.\n *\n * @param event - The incoming webhook H3 Event object\n * @param options - Optional configuration object\n * @param options.signingSecret - Custom signing secret. If not provided, falls back to NUXT_CLERK_WEBHOOK_SIGNING_SECRET env variable\n * @throws Will throw an error if the webhook signature verification fails\n * @returns A promise that resolves to the verified webhook event data\n *\n * @see {@link https://clerk.com/docs/webhooks/sync-data} to learn more about syncing Clerk data to your application using webhooks\n */\nexport async function verifyWebhook(event: H3Event, options?: VerifyWebhookOptions) {\n const webRequest = toWebRequest(event);\n const runtimeConfig = useRuntimeConfig(event);\n const secret = options?.signingSecret ?? runtimeConfig.clerk.webhookSigningSecret;\n return verifyWebhookBase(webRequest, {\n signingSecret: secret,\n });\n}\n"],"mappings":"AAEA,SAAS,iBAAiB,yBAAyB;AAGnD,SAAS,cAAc,wBAAwB;AAI/C,cAAc;AAad,eAAsB,cAAc,OAAgB,SAAgC;AAClF,QAAM,aAAa,aAAa,KAAK;AACrC,QAAM,gBAAgB,iBAAiB,KAAK;AAC5C,QAAM,SAAS,SAAS,iBAAiB,cAAc,MAAM;AAC7D,SAAO,kBAAkB,YAAY;AAAA,IACnC,eAAe;AAAA,EACjB,CAAC;AACH;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clerk/nuxt",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1-snapshot.v20260501171802",
|
|
4
4
|
"description": "Clerk SDK for Nuxt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"clerk",
|
|
@@ -60,12 +60,12 @@
|
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@nuxt/kit": "^4.1.3",
|
|
62
62
|
"@nuxt/schema": "^4.1.3",
|
|
63
|
-
"
|
|
64
|
-
"@clerk/
|
|
65
|
-
"@clerk/
|
|
66
|
-
"@clerk/vue": "^2.1.0"
|
|
63
|
+
"@clerk/backend": "3.4.5-snapshot.v20260501171802",
|
|
64
|
+
"@clerk/shared": "4.9.1-snapshot.v20260501171802",
|
|
65
|
+
"@clerk/vue": "2.1.1-snapshot.v20260501171802"
|
|
67
66
|
},
|
|
68
67
|
"devDependencies": {
|
|
68
|
+
"h3": "^1.15.4",
|
|
69
69
|
"nuxt": "^4.1.2",
|
|
70
70
|
"typescript": "5.8.3",
|
|
71
71
|
"vue": "3.5.33"
|