Skip to main content
This is the standard flow for registering any RFC 6238-compliant authenticator app. Google Authenticator is simply named here as an example. An authenticated end user registers their Google Authenticator app to their Storefront Gateway User ID as a multi-factor authentication (MFA) option. Note: Although the end user is already authenticated when they invoke this Process, Storefront Gateway requires them to provide their password to “raise” their authentication level before adding or removing an external MFA security option.

Initial Request

Your client calls the Process Start API to initialize the Process:

Response: Password prompt

Storefront Gateway checks to see if the current end user has a registered password. If they do, then the Process returns a prompt for that password.
Note: If the end user onboarded with their social account, and do not have a registered password, then the Process returns an error, and ends.

Next Step: User provides password

The user enters their password, and your client passes it to Storefront Gateway in a Process Step API request:

Response: QR validation

Storefront Gateway internally generates a secret key, and the Process returns a protocol-compliant URL (intended to be encoded in a Quick Response, or QR code) to your client, intended for the end user to see and for the Authenticator App to consume. The Authenticator App reads the QR code, configures the end user’s Storefront Gateway User profile within that application, and then produces a visible code for the end user. The Process response includes a request for that app-generated code:

Final Request: User provides verification code

The end user retrieves the verification code from the authenticator app, and then enters it into your client UI. The client then passes the code to Storefront Gateway in a Process Step API request:

Process Complete

Storefront Gateway validates the verification code, and registers the TOTP option as an attribute on the User entity. The Process returns a 200 HTTP status:
The Storefront Gateway User entity is now configured to use a TOTP from that particular authenticator app as an MFA option, if and when the end user is prompted for MFA during authentication.