Integration
The Clerk integration is required to integrate Clerk into your Astro application, providing session and user context to Clerk's hooks, nanostores, and components.
Usage
To configure Clerk with Astro, you must pass the clerk()
integration to the integrations
array in your astro.config.mjs
file. The clerk()
integration accepts optional options, such as { signInForceRedirectUrl: '/dashboard' }
. See the properties section for more information.
import { defineConfig } from 'astro/config'
import clerk from '@clerk/astro'
export default defineConfig({
// Can accept options, such as { signInForceRedirectUrl: '/dashboard' }
integrations: [clerk()],
})
- Name
-
afterMultiSessionSingleSignOutUrl?
- Type
null | string
- Description
The full URL or path to navigate to after signing out the current user is complete. This option applies to multi-session applications.
- Name
-
appearance?
- Type
Appearance
- Description
Optional object to style your components. Will only affect Clerk Components and not Account Portal pages.
- Name
-
clerkJSVariant?
- Type
"" | "headless"
- Description
If your web application only uses Control Components, you can set this value to
'headless'
and load a minimal ClerkJS bundle for optimal page performance.
- Name
-
experimental?
- Type
Autocomplete
<{ commerce: boolean; persistClient: boolean; rethrowOfflineNetworkErrors: boolean; }
,Record
<string
,any
>>- Description
Enable experimental flags to gain access to new features. These flags are not guaranteed to be stable and may change drastically in between patch or minor versions.
- Name
-
initialState?
- Type
Serializable
<{ actor: undefined | { [x: string]: unknown; sub: string; }; factorVerificationAge: [number, number]; organization: undefined | OrganizationResource; orgId: undefined | string; orgPermissions: undefined | string[]; orgRole: undefined | string; orgSlug: undefined | string; session: undefined | SessionResource; sessionClaims: JwtPayload; sessionId: undefined | string; sessionStatus: SessionStatusClaim; user: undefined | UserResource; userId: undefined | string; }
>- Description
Provide an initial state of the Clerk client during server-side rendering. You don't need to set this value yourself unless you're developing an SDK.
- Name
-
localization?
- Type
DeepPartial
<Localization>- Description
Optional object to localize your components. Will only affect Clerk Components and not Account Portal pages.
- Name
-
nonce?
- Type
string
- Description
This nonce value will be passed through to the
@clerk/clerk-js
script tag. Use it to implement a strict-dynamic CSP. Requires thedynamic
prop to also be set.
- Name
-
publishableKey
- Type
string
- Description
The Clerk Publishable Key for your instance. This can be found on the API keys page in the Clerk Dashboard.
- Name
-
sdkMetadata?
- Type
{ environment?: string; name: string; version: string; }
- Description
Contains information about the SDK that the host application is using. You don't need to set this value yourself unless you're developing an SDK.
- Name
sdkMetadata.environment?
- Type
string
- Description
Typically this will be the
NODE_ENV
that the SDK is currently running in.
- Name
sdkMetadata.name
- Type
string
- Description
The npm package name of the SDK.
- Name
sdkMetadata.version
- Type
string
- Description
The npm package version of the SDK.
- Name
-
selectInitialSession?
- Type
(client) => null | SignedInSessionResource
- Description
By default, the last signed-in session is used during client initialization. This option allows you to override that behavior, e.g. by selecting a specific session.
- Name
-
signInFallbackRedirectUrl?
- Type
null | string
- Description
The fallback URL to redirect to after the user signs in, if there's no
redirect_url
in the path already. It's recommended to use the environment variable instead. Defaults to'/'
.
- Name
-
signInForceRedirectUrl?
- Type
null | string
- Description
This URL will always be redirected to after the user signs in. It's recommended to use the environment variable instead.
- Name
-
signInUrl?
- Type
string
- Description
This URL will be used for any redirects that might happen and needs to point to your primary application on the client-side. This option is optional for production instances. It is required to be set for a satellite application in a development instance. It's recommended to use the environment variable instead.
- Name
-
signUpFallbackRedirectUrl?
- Type
null | string
- Description
The fallback URL to redirect to after the user signs up, if there's no
redirect_url
in the path already. It's recommended to use the environment variable instead. Defaults to'/'
.
- Name
-
signUpForceRedirectUrl?
- Type
null | string
- Description
This URL will always be redirected to after the user signs up. It's recommended to use the environment variable instead.
- Name
-
signUpUrl?
- Type
string
- Description
This URL will be used for any redirects that might happen and needs to point to your primary application on the client-side. This option is optional for production instances but must be set for a satellite application in a development instance. It's recommended to use the environment variable instead.
- Name
-
supportEmail?
- Type
string
- Description
Optional support email for display in authentication screens. Will only affect Clerk Components and not Account Portal pages.
- Name
-
telemetry?
- Type
false | { debug?: boolean; disabled?: boolean; }
- Description
Controls whether or not Clerk will collect telemetry data. If set to
debug
, telemetry events are only logged to the console and not sent to Clerk.
- Name
-
touchSession?
- Type
boolean
- Description
By default, the Clerk Frontend API
touch
endpoint is called during page focus to keep the last active session alive. This option allows you to disable this behavior.
- Name
-
waitlistUrl?
- Type
string
- Description
The full URL or path to the waitlist page. If
undefined
, will redirect to the Account Portal waitlist page.
Feedback
Last updated on