Route sign-up navigation to an application page
A custom sign-up page is mounted at /sign-up.
Clerk · Pipe
signUpUrl is an optional string containing the full URL or path to an application's sign-up page. Clerk uses it for the sign-up link rendered by <SignIn />; custom sign-up pages configure it to point to the route hosting <SignUp />.
signUpUrl is an optional string configuration value that identifies the full URL or path hosting the sign-up page. Clerk uses it for sign-up navigation and, when configured on a satellite application, it must point to the primary application’s client-side sign-up route.
signUpUrl?: string| Name | Type | Description |
|---|---|---|
signUpUrl | string | Full URL or path to the sign-up page; used by Clerk for sign-up navigation. |
<SignUp />.import { ClerkProvider } from '@clerk/nextjs'
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<ClerkProvider signUpUrl="/sign-up">
{children}
</ClerkProvider>
)
}This configures Clerk to use the application's /sign-up route for sign-up navigation.
A custom sign-up page is mounted at /sign-up.
A sign-in screen needs a working account-creation link.
Authentication is split between a satellite domain and a primary application.
signUpUrl configure?signUpUrl is an optional string containing the full URL or path to the sign-up page. Clerk uses it to direct users to the configured sign-up route.
Follow-up: How should it be configured for a satellite app? It should point to the primary application's client-side sign-up route, and it is required in a development instance.
Set signUpUrl on the relevant Clerk configuration, such as <ClerkProvider>, to the route where <SignUp /> is hosted. A relative path such as /sign-up is valid.
Follow-up: What alternative configuration does Clerk recommend? Use the corresponding environment variable instead of hardcoding the value.
For a satellite application, signUpUrl must point to the primary application on the client side. It is optional for production instances but required for development instances.
Follow-up: Why must it target the primary app? Sign-up flows for satellite domains are handled through the primary application's routes.
<SignUp /><SignIn /><ClerkProvider>signInUrlClerk.buildSignUpUrl()