Multi-factor Authentication
Multi-factor Authentication (MFA) is an authentication method that requires users to provide two or more verification factors to gain access to a resource. Enabling MFA on your site with ReachFive ensures your users must verify their login with a second factor (sms code, email link, etc.).
Prerequisites
In order to use MFA, you must have the following features enabled and configured on your account:
-
SMS if using phone numbers as a second factor; not required if only using email
See the MFA methods in the Core SDK or the MFA endpoints in our Identity API for more information on using the MFA flow. |
MFA settings
You can manage your MFA settings directly in the ReachFive Console.
Enable second factors for MFA
You can enable both email and SMS (or just one) as a second factor for your users to use in the MFA/stepup flow.
-
Email = This means that you users can use their email as the second factor in the MFA flow (and will receive an email with the link or verification code as part of that flow).
-
SMS = This means that you users can use their mobile as the second factor in the MFA flow (and will receive an SMS with the verification code as part of that flow).
This is only available to customers who have the SMS feature activated.
To enable the second factors:
-
From your ReachFive Console, go to
. -
Toggle the second factor that you would like to enable.
-
Don’t forget to Save your input.
Require MFA for login
It’s possible to enforce MFA all the time for the login flow if desired for users with a registered second factor MFA credential.
This is only enforced when users have a registered second factor credential for MFA. If they do not have a credential registered, then the stepup is not required for that user to log in. |
Option | Notes |
---|---|
|
Users are always required to validate a second factor to log in. |
|
Users are never required to validate a second factor to log in. |
To set the requirements for logging in:
-
From your ReachFive Console, go to
. -
Choose Always or Never.
-
Don’t forget to Save your input.
Stepup authentication
Stepup authentication is a little different than traditional MFA, but it offers a balance between unnecessary friction in the user experience and enhanced security when accessing sensitive information.
You must have MFA enabled on your ReachFive Console to use Stepup authentication. |
There are two subsections here:
Stepup authentication is best used for specific actions such as:
-
Paying with a credit card
-
Changing personal account details
-
Adding authentication information
-
Logging in from a new device or location
These are just examples and don’t represent all possible times you might use Stepup authentication.
MFA flow with Stepup authentication
When a user is already logged in, but they want to access something secure or perform a sensitive action (like purchasing a product), you can configure the Stepup authentication flow. See the accompanying MFA flow table to follow along with the flowchart.
The flow below assumes the user has already signed up to your site. |
Step | Core JS SDK method | API operation | Notes | ||
---|---|---|---|---|---|
1 |
User logs into the site.
|
||||
2 |
User browses the site; visits a product page. |
||||
3 |
Ensures the user has MFA credentials and has completed the registration process.
|
||||
4 |
Registers the user’s phone number for use as an MFA credential (second factor).
|
||||
5 |
Verifies the user’s phone number for use as an MFA credential (second factor).
|
||||
6 |
Initiates the stepup flow. |
||||
7 |
Starts the passwordless flow for MFA using the |
||||
8 |
Verifies the passwordless flow for MFA with the user verification code and |
||||
9 |
Exchanges the authorization code for a new access token. |
||||
10 |
Confirms
|
||||
11 |
Product purchased. |
Using the stepup
endpoint
When you use the stepup
endpoint to initiate the stepup flow, you can start the flow in one of three ways.
See the table below for accompanying details to the flowchart. |
Approach | Description | ||||
---|---|---|---|---|---|
SSO session cookie Recommended |
Using a current, active SSO cookie initiates the With the SSO session cookie, the cookie is deposited by the SDK into the browser. This way, it can’t be leaked or used on another domain.
|
||||
Recommended |
Passing a valid |
||||
|
Passing the
|
MFA user experience
By enabling MFA with ReachFive on your site, you can provide a secure, frictionless user experience.
A typical user journey is when Stepup authentication is configured so that MFA is only required during sensitive actions like making a purchase or changing personal details, similar to the video below.
You can configure a template that is sent to users like in this experience on the ReachFive Console. |