> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ulm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Register Authenticator App Process

This Process registers a third-party authenticator app to a Digital Identity Management User, as a Multi-factor Authentication (MFA) option.

## Time-based One-Time Pass (TOTP)

Using this Process, a user registers an [RFC 6238](https://datatracker.ietf.org/doc/html/rfc6238)-compliant third-party authentication app to their Digital Identity Management User entity as an MFA method. If [MFA is triggered during Authenticate User Process](c_useCaseMFA), Digital Identity Management calls the Authenticator service, and the application then provides a Time-based One-Time Passcode (TOTP) to the user. The user supplies that TOTP to the client UI, and the client then passes the TOTP back to Digital Identity Management in a [Process Step](c_processStep) request.

As a best practice, end users should be encouraged to leverage mobile Authenticator Apps. If an attacker discovers that MFA is in use, they may then target their attacks against the secondary factor itself. For example, if an attacker discovers that an email address is the second factor, they may target the email account in order to gain access and retrieve MFA codes for verification. Conversely, mobile phones are more commonly the victim of an attack called "simjacking" wherein persistent attackers call the carrier's customer service line and pretend to be the user that they are attacking, in order to transfer service to a SIM card under the attacker's control. If successful, the attack controls the victim's phone number and can receives MFA codes.

Authenticator Apps are not subject to remotely-operated attacks; they are only compromised by physical access to an unlocked device.

Supported Authenticator Apps include any [RFC 6238](https://datatracker.ietf.org/doc/html/rfc6238). Known apps include:

* * Google Authenticator
* Microsoft Authenticator
* LastPass Authenticator (LogMeIn, Inc.)
* 1Password (AgileBits, Inc.)
* Authy (Twilio, Inc.)

## Process Flow

This flow describes the Process at a high level.

**Preconditions**

* The user is currently authenticated.
* The user is preferred Authenticator App is [RFC 6238](https://datatracker.ietf.org/doc/html/rfc6238)-compliant.

**Basic Flow**

1. The user navigates to their profile or settings menu, and selects to register an Authenticator App.

2. Digital Identity Management prompts the client for the user's password, and the client UI prompts the user to enter it.

   **Note:** The Process errors out if the end user does not have a password (i.e., they [onboarded with a social account](c_useCaseSocialOnboarding)).

3. The user provides their password, and the client passes it back to Digital Identity Management.

4. Digital Identity Management generates and returns protocol-compliant URL (intended to be encoded in a Quick Response, or QR code) Authenticator App to consume.

   **Note:** Digital Identity Management returns protocol-compliant URL to the client. The client can encode the URL into a Quick Response code (or QR Code).

5. The user either scans or manually enters the QR code into their Authenticator App on their phone.

6. The Authenticator App produces a short verification code

7. The user provides the verification code to the client application.

8. Digital Identity Management validates the verification code, and fully registers the Authenticator App to the Digital Identity Management User ID.

**Post-conditions**

* The Authenticator App is now an option for the user if they trigger an MFA check.

**Possible or Common Errors**

* Invalid password. Please try again.
* User has failed and exceeded the maximum number of retries.
* The user does not currently have a password, and must first set one.

## Settings

This Process currently has no relevant settings that configure the Process API response or Process logic/behaviour.

However, additional settings may be introduced over the course of future releases.

## User Journey Flow Diagram

This diagram illustrates the standard user journey using the **Register Authenticator App** Process.

\[product: dim]<img src="https://mintcdn.com/amdocs-ulm/XSI-_zBHRIt1HJAz/portal/m1Connect/processGuide/images/m1c_userJourneyRegisterAuthApp.png?fit=max&auto=format&n=XSI-_zBHRIt1HJAz&q=85&s=39e5683893c201abd6d690f461fb732a" alt="" width="1750" height="2193" data-path="portal/m1Connect/processGuide/images/m1c_userJourneyRegisterAuthApp.png" />\[/product: dim]

## Use Cases

The following use cases provide guided API walk-throughs of this Process for client developers:

* [Register Google Authenticator](c_useCaseRegisterAuthNApp) (or other compliant authenticator app)

* [Authenticator app registration errors](c_registerAuthNAppErrors)

* **[Register Google Authenticator](../topics/c_useCaseRegisterAuthNApp)**

* **[Register authenticator app errors](../topics/c_registerAuthNAppErrors)**

**Parent topic:**[Multi-Factor Authentication Management](../images/c_mfaProcesses)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.