Skip to Content
Clerk logo

Clerk Docs

Ctrl + K
Go to clerkstage.dev

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>;

AuthenticateWithRedirectParams

NameTypeDescription
strategyOAuthStrategy | 'saml'The strategy corresponding to the OAuth provider. For example: oauth_facebook, oauth_github, etc.
redirectUrlstringThe URL that the OAuth provider should redirect to, on successful authorization on their part.
redirectUrlCompletestringThe URL that the user will be redirected to, after successful authorization from the OAuth provider and Clerk sign in.

authenticateWithMetamask()

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

function authenticateWithMetamask(): Promise<SignInResource>;

authenticateWithMetamask() returns

TypeDescription
Promise<SignInResource>A Promise which resolves to the current SignIn.

authenticateWithWeb3()

Starts a sign-in flow that authenticates the user against their public wallet address.

function authenticateWithWeb3(params: AuthenticateWithWeb3Params): Promise<SignInResource>;

AuthenticateWithWeb3Params

NameTypeDescription
identifierstringThe user's Web3 ID.
generateSignature(opts: GenerateSignatureParams) => Promise<string>The method of how to generate the signature for the Web3 sign-in. See GenerateSignatureParams for more details.
GenerateSignatureParams
NameTypeDescription
identifierstringThe user's Web3 ID.
noncestringThe cryptographic nonce(opens in a new tab) used in the sign-in.

authenticateWithWeb3() returns

TypeDescription
Promise<SignInResource>A Promise which resolves to the current SignIn.

authenticateWithPasskey()

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

function authenticateWithPasskey: (params?: AuthenticateWithPasskeyParams) => Promise<SignInResource>;

Learn more:

AuthenticateWithPasskeyParams
NameTypeDescription
flowstring | undefinedCan 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.

What did you think of this content?

Clerk © 2024