Docs

<SignInButton>

The <SignInButton> component is a button that links to the sign-in page or displays the sign-in modal.

Properties

  • Name
    asChild?
    Type
    boolean
    Description

    For Astro only: If true, the <SignInButton> component will render its children as a child of the component.

  • Name
    forceRedirectUrl?
    Type
    string
    Description

    If provided, this URL will always be redirected to after the user signs in. It's recommended to use the environment variable instead.

  • Name
    fallbackRedirectUrl?
    Type
    string
    Description

    The fallback URL to redirect to after the user signs in, if there's no redirect_url in the path already. Defaults to /. It's recommended to use the environment variable instead.

  • Name
    signUpForceRedirectUrl?
    Type
    string
    Description

    If provided, this URL will always be redirected to after the user signs up. It's recommended to use the environment variable instead.

  • Name
    signUpFallbackRedirectUrl?
    Type
    string
    Description

    The fallback URL to redirect to after the user signs up, if there's no redirect_url in the path already. Defaults to /. It's recommended to use the environment variable instead.

  • Name
    mode?
    Type
    'redirect' | 'modal'
    Description

    Determines what happens when a user clicks on the <SignInButton>. Setting this to 'redirect' will redirect the user to the sign-in route. Setting this to 'modal' will open a modal on the current route.
    Defaults to 'redirect'.

  • Name
    children?
    Type
    React.ReactNode
    Description

    Children you want to wrap the <SignInButton> in.

pages/index.js
import { SignInButton } from '@clerk/nextjs'

export default function Home() {
  return <SignInButton />
}
example.js
import { SignInButton } from '@clerk/clerk-react'

export default function Example() {
  return <SignInButton />
}
pages/index.js
import { SignInButton } from '@clerk/remix'

export default function Home() {
  return <SignInButton />
}
pages/index.astro
---
import { SignInButton } from '@clerk/astro/components'
---

<SignInButton />

Custom usage

You can create a custom button by wrapping your own button, or button text, in the <SignOutButton> component.

pages/index.js
import { SignInButton } from '@clerk/nextjs'

export default function Home() {
  return (
    <SignInButton>
      <button>My custom button</button>
    </SignInButton>
  )
}
example.js
import { SignInButton } from '@clerk/clerk-react'

export default function Example() {
  return (
    <SignInButton>
      <button>My custom button</button>
    </SignInButton>
  )
}
pages/index.js
import { SignInButton } from '@clerk/remix'

export default function Home() {
  return (
    <SignInButton>
      <button>My custom button</button>
    </SignInButton>
  )
}

You must pass the asChild prop to the <SignInButton> component if you are passing children to it.

pages/index.astro
---
import { SignInButton } from '@clerk/astro/components'
---

<SignInButton asChild>
  <button>My custom button</button>
</SignInButton>

Feedback

What did you think of this content?

Last updated on