Skip to main content
Docs

AuthenticateWith

These are all methods on the SignIn class that allow you to authenticate with different methods.

Methods

authenticateWithRedirect()

Signs in users via OAuth. This is commonly known as Single Sign On (SSO), where an external account is used for verifying the user's identity.

function authenticateWithRedirect(params: AuthenticateWithRedirectParams): Promise<void>
  • Name
    strategy
    Type
    OAuthStrategy | 'saml' | 'enterprise_sso'
    Description

    The strategy to use for authentication. The following strategies are supported:

  • Name
    redirectUrl
    Type
    string
    Description

    The full URL or path that the OAuth provider should redirect to, on successful authorization on their part. Typically, this will be a simple /sso-callback route that calls Clerk.handleRedirectCallback or mounts the <AuthenticateWithRedirectCallback /> component. See the custom flow for implementation details.

  • Name
    redirectUrlComplete
    Type
    string
    Description

    The full URL or path that the user will be redirected to once the sign-in is complete.

  • Name
    identifier
    Type
    string | undefined
    Description
  • Name
    emailAddress
    Type
    string | undefined
    Description

    The email address used to target an enterprise connection during sign-in.

  • Name
    legalAccepted
    Type
    boolean | undefined
    Description

    A boolean indicating whether the user has agreed to the legal compliance documents.

authenticateWithMetamask()

Starts a sign-in flow that uses the Metamask browser extension to authenticate the user using their Web3 wallet address. Returns a SignIn object.

function authenticateWithMetamask(): Promise<SignInResource>

authenticateWithCoinbaseWallet()

Starts a sign-in flow that uses the Coinbase Wallet to authenticate the user using their Web3 wallet address. Returns a SignIn object.

function authenticateWithCoinbaseWallet(): Promise<SignInResource>

authenticateWithOKXWallet()

Starts a sign-in flow that uses the OKX Wallet to authenticate the user using their Web3 wallet address. Returns a SignIn object.

function authenticateWithOKXWallet(): Promise<SignInResource>

authenticateWithWeb3()

Starts a sign-in flow that authenticates the user against their Web3 wallet address. Returns a SignIn object.

function authenticateWithWeb3(params: AuthenticateWithWeb3Params): Promise<SignInResource>
  • Name
    identifier
    Type
    string
    Description

    The user's Web3 ID.

  • Name
    generateSignature
    Type
    (opts: GenerateSignatureParams) => Promise<string>
    Description

    The method of how to generate the signature for the Web3 sign-in. See GenerateSignatureParams for more information.

  • Name
    strategy?
    Type
    Web3Strategy
    Description

    The Web3 verification strategy.

GenerateSignatureParams
  • Name
    identifier
    Type
    string
    Description

    The user's Web3 wallet address.

  • Name
    nonce
    Type
    string
    Description

    The cryptographic nonce used in the sign-in.

  • Name
    provider?
    Type
    Web3Provider
    Description

authenticateWithPasskey()

Starts a sign-in flow that allows a user to choose a passkey to sign into their account with. Returns a SignIn object.

function authenticateWithPasskey(params?: AuthenticateWithPasskeyParams): Promise<SignInResource>
AuthenticateWithPasskeyParams
  • Name
    flow
    Type
    string | undefined
    Description

    Can be autofill or discoverable

  • 'autofill' enables the client to prompt your users to select a passkey before they interact with your app.
  • 'discoverable' requires the user to interact with the client.
  • To call authenticateWithPasskey() with no params, you must first call SignIn.create({ strategy: 'passkey' }). This is useful if you don't know which sign-in strategy will be used. See the docs for SignIn.create() for more information.

Feedback

What did you think of this content?

Last updated on