Skip to main content

Setup Custom Authentication

The Custom Authentication section of the Web3Auth dashboard is where you can create a new verifier. This verifier allows you to implement custom authentication within your application, providing additional security and flexibility for your users. By creating a Custom Authentication Verifier, you can tailor your authentication process to the unique needs of your project and its users.

note

Access to Custom Authentication is gated. The minimum pricing plan to create custom verifiers is the Growth Plan. However, you can use this feature for projects on sapphire_devnet for free.

But before understanding about custom authentication, let us see What is a Verifier?

What is a Verifier?

A verifier is a piece of information about the OAuth provider being used by the application, which is queried by web3auth auth network nodes from a smart contract deployed on the Ethereum blockchain to verify the JWT token.

There are two types of Verifiers at Web3Auth:

  1. Default Verifiers: These are the verifiers associated with OAuth providers(Google, Facebook, Apple etc.) which are owned and managed by Web3Auth's account.
  2. Custom Verifiers: If you want to manage your OAuth providers(Google, Facebook, Apple etc.) yourself or to use some Federated Identity Providers like Auth0, Firebase, AWS Cognito, Okta etc., or even your Custom JWT Authentication, you'll need to create a verifier under a project on the Web3Auth's dashboard.

For users to be able to log in using your custom authentication flow, you will need to use a Custom Verifier. The Wallet that is generated for each user is specific to a verifier. Verifier scripts determine the access structure to your users' wallets, and the set of Verifier scripts you choose will determine which logins your application will ultimately use.

You can read more about verifiers in this GitHub discussion.

The Custom Authentication tab of a project looks something like this:

Custom Authentication Dashboard


Create Verifier

Once you click on the Create Verifier button, you'll see a toggle similar to this:

Verifier Modal on Web3Auth Dashboard

To create a verifier, you need to input the following details:

Verifier identifier

The identifier for your verifier. You'll need this while initializing the Web3Auth/Web3AuthNoModal SDK for setting up the custom authentication.

Choose a Login Provider

Select the Login Provider from the provided options.

The following is the list we have on our Dashboard:

  1. Social Login Providers
  2. Custom Providers
  3. Aggregate Multiple Providers

If something you're looking for is not available in the list, choose Custom Provider and provide the JWT details.