---
title: Push authentication journeys
description: Configure authentication journeys (trees) for passwordless authentication and to receive push notifications.
component: pingam
version: 8
page_id: pingam:am-authentication:authn-mfa-trees-push
canonical_url: https://docs.pingidentity.com/pingam/8/am-authentication/authn-mfa-trees-push.html
keywords: ["Authentication", "Multi-factor Authentication (MFA)", "Journeys", "Nodes &amp; Trees"]
page_aliases: ["authentication-guide:authn-mfa-trees-push.adoc"]
section_ids:
  auth-mfa-push-fr-auth-service: Configure the ForgeRock Authenticator (Push) service
  auth-mfa-push-notification-service: Configure the Push Notification service
  proc-authn-mfa-tree-push: Create a push authentication journey
  proc-authn-mfa-tree-push-passwordless: Create a passwordless authentication journey
---

# Push authentication journeys

Configure authentication journeys (trees) for passwordless authentication and to receive push notifications.

When configured for passwordless authentication, the authentication flow requires the user to enter their user ID, but not their password. AM sends a push notification to their registered device to complete authentication with the ForgeRock Authenticator application.

Before implementing passwordless push authentication, consider the [Limitations when using passwordless push authentication](mfa-push-passwordless-limitations.html).

## Configure the ForgeRock Authenticator (Push) service

In the AM admin UI, configure the ForgeRock Authenticator (Push) service for the realm where you create the tree.

This service specifies the user profile attribute that stores registered device metadata.

1. In the AM admin UI for the realm, click Services > [icon: plus, set=fa]Add a Service.

2. Select ForgeRock Authenticator (Push) Service in the service type drop-down list, and create the new service configuration.

3. Accept the default configuration unless you must encrypt the device metadata in user profiles:

   * Profile Storage Attribute

     `pushDeviceProfiles` (default)

   * Device Profile Encryption Scheme

     If you choose an encryption scheme, also edit the settings to access the keys. For details about access to AM keys, read [Secrets, certificates, and keys](../security/secrets-certs-keys.html).

     Default: `No encryption of device settings.`

   * ForgeRock Authenticator (Push) Device Skippable Attribute Name

     `push2faEnabled` (default)

   For additional details, refer to the reference documentation, [ForgeRock Authenticator (Push) Service](../am-reference/services-configuration.html#global-authenticatorpushservice).

## Configure the Push Notification service

In the AM admin UI, configure the Push Notification service for the realm.

|   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| - | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | AM uses an external AWS service to send push notifications. Its configuration requires access keys and other metadata. As a Ping Identity customer, you have streamlined access to the required metadata.Before you start, log in to [Backstage](https://backstage.pingidentity.com), then follow the instructions in [How To Configure Service Credentials (Push Auth, Docker) in Backstage](https://backstage.pingidentity.com/knowledge/backstagehelp/article/a92326771).Download the AWS credential data in JSON format and refer to that as you configure the service. |

1. In the AM admin UI for the realm, click Services > [icon: plus, set=fa]Add a Service.

2. Select Push Notification Service in the service type drop-down list.

3. Update the following fields with the data you generated on Backstage, then create the new service configuration:

   * SNS Access Key ID

     The generated Key ID; the `"accessKeyId"` in the JSON

   * SNS Access Key Secret

     The generated Secret; the `"accessKeySecret"` in the JSON

   * SNS Endpoint for APNS

     The generated APNS; the `"APNS"` in the JSON

   * SNS Endpoint for GCM

     The generated GCM; the `"GCM"` in the JSON

   You can also store the Access Key Secret in a secret store. For additional details, refer to the reference documentation, [Push Notification service](../am-reference/services-configuration.html#global-pushnotification).

## Create a push authentication journey

The procedure assumes the following:

* Users provide user IDs and passwords as the first step of multi-factor authentication (MFA).

* AM sends the push notification to the device as an additional factor to complete authentication.

* You have prepared the prerequisite services, described in [Configure the ForgeRock Authenticator (Push) service](#auth-mfa-push-fr-auth-service) and [Configure the Push Notification service](#auth-mfa-push-notification-service).

  1. In the AM admin UI under Realms > *realm name* > Authentication > Trees, create a tree for push notification.

  2. Add the following nodes to your tree:

     * [Page node](https://docs.pingidentity.com/auth-node-ref/8/page.html)

     * [Username Collector node](https://docs.pingidentity.com/auth-node-ref/8/am-only/username-collector.html)

     * [Password Collector node](https://docs.pingidentity.com/auth-node-ref/8/am-only/password-collector.html)

     * [Data Store Decision node](https://docs.pingidentity.com/auth-node-ref/8/data-store-decision.html)

     * [Push Sender node](https://docs.pingidentity.com/auth-node-ref/8/push-sender.html)

     * [Push Wait node](https://docs.pingidentity.com/auth-node-ref/8/push-wait.html)

     * [Push Result Verifier node](https://docs.pingidentity.com/auth-node-ref/8/push-result-verifier.html)

     * [Recovery Code Collector Decision node](https://docs.pingidentity.com/auth-node-ref/8/recovery-code-collector-decision.html)

     * [Retry Limit Decision node](https://docs.pingidentity.com/auth-node-ref/8/retry-limit-decision.html)

     * [MFA Registration Options node](https://docs.pingidentity.com/auth-node-ref/8/mfa-registration-options.html)

     * [Push Registration node](https://docs.pingidentity.com/auth-node-ref/8/push-registration.html)

     * [Recovery Code Display node](https://docs.pingidentity.com/auth-node-ref/8/recovery-code-display.html)

     * [Get Authenticator App node](https://docs.pingidentity.com/auth-node-ref/8/get-authenticator-app.html)

     * [Opt-out Multi-Factor Authentication node](https://docs.pingidentity.com/auth-node-ref/8/opt-out-multi-factor.html)

  3. Connect the nodes as demonstrated in the following figure:

     ![Example push authentication tree](_images/trees-node-push-sender-example.png)Figure 1. Example push authentication tree

     > **Collapse: Node connections**
     >
     > **List of node connections**
     >
     > | Source node                                                                                             | Outcome path   | Target node                         |
     > | ------------------------------------------------------------------------------------------------------- | -------------- | ----------------------------------- |
     > | Page Node containing:- Username Collector / Platform Username
     >
     > - Password Collector / Platform Password | →              | Data Store Decision                 |
     > | Data Store Decision                                                                                     | True           | Push Sender                         |
     > |                                                                                                         | False          | Failure                             |
     > | Push Sender                                                                                             | Sent           | Push Wait                           |
     > |                                                                                                         | Not Registered | MFA Registration Options            |
     > | Push Wait                                                                                               | Done           | Push Result Verifier                |
     > |                                                                                                         | Exit           | Recovery Code Collector Decision    |
     > | Push Result Verifier                                                                                    | Success        | Success                             |
     > |                                                                                                         | Failure        | Failure                             |
     > |                                                                                                         | Expired        | Push Sender                         |
     > |                                                                                                         | Waiting        | Push Wait                           |
     > | MFA Registration Options                                                                                | Register       | Push Registration                   |
     > |                                                                                                         | Get App        | Get Authenticator App               |
     > |                                                                                                         | Skip           | Success                             |
     > |                                                                                                         | Opt-out        | Opt-out Multi-Factor Authentication |
     > | Recovery Code Collector Decision                                                                        | True           | Success                             |
     > |                                                                                                         | False          | Retry Limit Decision                |
     > | Push Registration                                                                                       | Success        | Recovery Code Display Node          |
     > |                                                                                                         | Failure        | Failure                             |
     > |                                                                                                         | Time Out       | MFA Registration Options            |
     > | Get Authenticator App                                                                                   | →              | MFA Registration Options            |
     > | Opt-out Multi-Factor Authentication                                                                     | →              | Success                             |
     > | Retry Limit Decision                                                                                    | Retry          | Recovery Code Collector Decision    |
     > |                                                                                                         | Reject         | Failure                             |
     > | Recovery Code Display Node                                                                              | →              | Push Sender                         |

  4. Save your changes.

  5. Test your authentication tree as follows:

     1. Copy and paste the Preview URL into a browser in incognito mode. The URL looks something like: `https://am.example.com:8443/am/XUI/?realm=alpha&authIndexType=service&authIndexValue=myPushAuthTree`.

        A login screen prompting you to enter your user ID and password appears.

     2. Verify that you can use the ForgeRock Authenticator application to perform MFA.

        If the authentication tree is correctly configured, authentication is successful and AM displays the user profile page. For details, refer to [Test push authentication](mfa-authenticating-push.html).

## Create a passwordless authentication journey

The procedure assumes the following:

* Users provide only their user IDs as the first step of MFA.

* Users have pre-registered a device for push authentication.

* AM sends the push notification to the device as an additional factor to complete authentication, without the need for the user's password.

* You have prepared the prerequisite services, described in [Configure the ForgeRock Authenticator (Push) service](#auth-mfa-push-fr-auth-service) and [Configure the Push Notification service](#auth-mfa-push-notification-service).

  1. In the AM admin UI under Realms > *realm name* > Authentication > Trees, create a tree for passwordless authentication.

  2. Add the following nodes to your tree:

     * [Page node](https://docs.pingidentity.com/auth-node-ref/8/page.html)

     * [Username Collector node](https://docs.pingidentity.com/auth-node-ref/8/am-only/username-collector.html)

     * [Push Sender node](https://docs.pingidentity.com/auth-node-ref/8/push-sender.html)

     * [Push Result Verifier node](https://docs.pingidentity.com/auth-node-ref/8/push-result-verifier.html)

     * [Polling Wait node](https://docs.pingidentity.com/auth-node-ref/8/polling-wait.html)

  3. Connect the nodes as demonstrated in the following figure:

     ![An authentication tree set up for passwordless push authentication.](_images/passwordless-auth-tree.png)Figure 2. Passwordless push authentication

  4. Save your changes.

  5. Test your authentication tree as follows:

     1. Copy and paste the Preview URL into a browser in incognito mode. The URL looks something like: `https://am.example.com:8443/am/XUI/?realm=alpha&authIndexType=service&authIndexValue=myPasswordlessAuthTree`.

        A login screen appears, prompting you to enter your user ID.

     2. Verify that you can use the ForgeRock Authenticator application to perform MFA.

        If the authentication tree is correctly configured, authentication is successful and AM displays the user profile page without the user entering their password.

        For details, refer to [Test push authentication](mfa-authenticating-push.html).
