v0.3.0: Multi-Factor Authentication and Multi-Provider accounts

The version 0.3.0 adds the ability to enable Multi-Factor Authentication and for users to link their account to multiple providers

The 0.3.0 release is the biggest update to Makerkit yet. The main highlights of the release are:

  1. Support for Firebase Multi-Factor Authentication
  2. Support for linking user accounts to multiple providers (Facebook, Twitter, Etc.)
  3. Redesigned the home page of the website

Let's take a look!

Support for Firebase Multi-Factor Authentication

Multi-Factor Authentication allows users to add an additional layer of protection when logging in to a website, which is ideal for services that tend to be more sensitive or where privacy is paramount.

At the time of writing, Firebase Auth supports only SMS MFA.

Enabling Multi-Factor Authentication

Enabling MFA in your Makerkit application requires two steps:

  1. You need to upgrade to Google Cloud Identity Platform from the Firebase Console, as it is needed to support MFA
  2. Flipping the variable auth.enableMultiFactorAuth to true in the configuration file, as it is disabled by default
configuration.ts
auth: {
// flip this to "true"
enableMultiFactorAuth: true,
}

Let's see what MFA looks like in Makerkit!

Verifying Emails as a requirement for MFA

Enabling MFA will require users to have their email verified. In case they haven't, we will show an alert prompting them to verify their email.

Enabling Multi-Factor Authentication with Phone Number

Once the user's email gets verified, we will see a button for setting up MFA.

Authentication with SMS verification code

Once enabled MFA, users will be required to use the verification code sent to the phone number they registered in various situations:

  • when they sign-in
  • when they reauthenticate (eg. when they update their password, or their email, or perform certain actions that require a recent sign-in)

Disabling Multi-Factor Authentication

Once set up, users have the choice to disable Multi-Factor Authentication. After disabling, they're required to reauthenticate.

Support for linking user accounts to multiple providers

Assuming your SaaS allows your users to sign in using multiple providers, such as Password, Google Sign-in, Twitter Sign-in, you can allow them to link their account to other accounts, so they have more choices for signing in (or if they simply want to replace how they sign-in, without having to waste support time).

Redesigned the home page of the website

The home page of the website has been redesigned and enriched with more sections.

Well, that was quite a bit of stuff! 😅