Auth0 Guardian is a mobile application for iOS and Android devices that allows users to complete multi-factor authentication (MFA) with push notifications or temporary one-time passwords. Auth Guardian can deliver push notifications to users’ enrolled devices (typically mobile phones or tablets) or generate one-time passwords directly within the app. Users can then quickly respond to these push notifications or retrieve a one-time password to complete their login. Users can download the Auth0 Guardian app from the Apple App Store or the Google Play Store. Alternatively, you can embed Auth0 Guardian capabilities in your own custom app using the Guardian SDK.

Push Notifications

In order to use push notifications, users must have either the Auth0 Guardian app or a custom app built with the Guardian SDK installed on their device. When a user attempts to authenticate, push notifications are sent to the installed app. The user must respond to the notification to complete their login, proving they both know their login information and possess the device set up for . Auth0 push notifications can be implemented using AWS Simple Notification Service (SNS) or one or more of the following direct-to-vendor services to configure vendor-specific integrations:
  • Firebase Cloud Messaging (FCM)
  • Apple Push Notification (APN)
Auth0 Guardian flow diagram

Enroll in push notifications

When you use Auth0 Guardian to configure push notifications, users are prompted to download the mobile app when they first sign up or log in to your application. If you use the Guardian SDK to implement push notifications in a custom app, users are not prompted to download any applications during enrollment. You can enable push notifications from the under Security > Multi-factor Auth > Push Notification using Auth0 Guardian.
Auth0 Dashboard > Security > Multi-factor Auth > Push Notification using Auth0 Guardian
When a user first signs up or logs in to your application, Universal Login provides a QR code they can use to register the Auth0 Guardian app or custom Guardian SDK app as a secondary authentication factor. The user has a short amount of time to scan this code with the designated app to complete their enrollment. After the user enrolls, they can use push notifications as an authentication factor. Whenever the user attempts to log in to your application, they will receive a push notification on their device via the Auth0 Guardian or custom Guardian SDK app. The user must approve this request to successfully log in to your application. To learn how to reset MFA for users who have lost their devices or recovery codes, review Reset Multi-Factor Authentication and Recovery Codes. For additional assistance, review Troubleshooting Multi-Factor Authentication Issues.

Temporary one-time passwords

The Auth0 Guardian app and the Guardian SDK also support the use of temporary one-time passwords (OTPs) as secondary authentication factors. Both the app and the SDK can generate temporary OTPs that users can use to complete MFA challenges. By default, the Auth0 Guardian app lists the user’s enrolled applications. After selecting an application, the corresponding OTP for that application displays. Each 6-digit OTP remains valid for 30 seconds. OTPs that are nearing expiration display in red. Upon expiration, the app immediately generates a new OTP. To avoid failed authentications, users should not use any red OTPs In custom Guardian SDK apps, OTP appearance may vary.

Use temporary one-time passwords

You can leverage OTPs in two primary ways:
  • As a fallback option to push notifications in the event that the Auth0 Guardian app or other custom app does not receive a push request.
  • As an MFA challenge, if you enable the One-Time Password factor in your tenant.

Auth0 Guardian app settings

User security settings

In the Auth0 Guardian app, users can enable passcodes and biometrics as layers of app security on iOS and Android. If a user enables one or more of these options, they must complete these challenges before they can respond to push notifications or retrieve one-time passwords. To enable these options on iOS or Android devices, users can follow the steps below.
To enable security settings for the Auth0 Guardian app on iOS:
  1. In the app, select the gear icon to open the Settings menu.
  2. Select Passcode to enable passcode protection.
  3. Set and confirm a 6-digit passcode.
The app is now protected by the passcode. The user must enter this passcode before they can respond to push notifications or retrieve OTPs.After enabling passcode protection, the user can configure device biometrics as an alternate security measure. To enable device biometrics:
  1. In the app, select the gear icon to open the Settings menu.
  2. Enable device biometrics by selecting one of the available options, such as Face ID or Touch ID.

Localization options

The Auth0 Guardian app supports localization for multiple languages and dialects on iOS and Android. In the Language section of the Settings menu, users can select their preferred language. By default, the app uses the same language as the device system.
The majority of push notification content displays to users in their preferred language. However, the titles of push notifications are not translated as language settings are not retrieved until after a title is populated.
The Auth0 Guardian app supports the following languages and dialects:
LanguageCode
Albaniansq
Amharicam
Arabic*ar
Arabic (Egypt)*ar-EG
Arabic (Saudi Arabia)*ar-SA
Armeniahy
Azerbaijaniaz
Basqueeu-ES
Bengalibn
Bosnianbs
Bulgarianbg
Catalanca-ES
Chinese - Hong Kongzh-HK
Chinese - Simplifiedzh-CN
Chinese - Traditionalzh-TW
Croatianhr
Czechcs
Danishda
Dutchnl
Englishen
English - Canadaen-CA
Estonianet
Farsi (Persian)*fa
Finnishfi
Frenchfr-FR
French - Canadafr-CA
Galiciangl-ES
Georgianka
Germande
Greekel
Gujratigu
Hebrew*he
Hindihi
Hungarianhu
Icelandicis
Indonesianid
Italianit
Japaneseja
Kannadakn
Koreanko
Latvianlv
Lithuanianlt
Macedonianmk
Malayms
Malayalamml
Marathimr
Mongolianmn
Montenegrinecnr
Myanmarmy
Norwegianno
Norwegian - Bokmålnb
Norwegian - Nynorsknn
Polishpl
Portuguese - Brazilpt-BR
Portuguese - Portugalpt-PT
Punjabipa
Romanianro
Russianru
Serbiansr
Slovaksk
Sloveniansl
Somaliso
Spanishes
Spanish - Argentinaes-AR
Spanish - Latin Americaes-419
Spanish - Mexicoes-MX
Swahilisw
Swedishsv
Tagalogtl
Tamazightzgh
Tamilta
Telugute
Thaith
Turkishtr
Ukrainianuk
Urdu*ur
Vietnamesevi
Welshcy

Guardian app themes

The Auth0 Guardian app for both iOS and Android supports light and dark mode themes. In the Theme section of the Settings menu, users can select the following options:
  • System: Uses default system theme
  • Light: Enables the light mode theme
  • Dark: Enables the dark mode theme

Customization options for protected applications

To make it easier for users to distinguish between their protected applications in the Auth0 Guardian app, each application can be customized with a distinct name, accent color, and icon.
The default name assigned to your application in the Auth0 Guardian app is determined by your tenant name or the Friendly Name set in your tenant settings. Similarly, the default logo stems from the Logo URL provided in your tenant settings.To edit your tenant settings, navigate to Auth0 Dashboard > Settings > General.
To customize a protected application:
  1. Select an application from the list.
    • Tip: You can also swipe left on the application to reveal Edit and Delete options.
  2. On the Account Detail page, choose Edit.
  3. Update the application’s name, color, and icon as needed.
  4. Select Save.

Guardian SDKs

You can install the Guardian SDK (available for iOS and Android) to build your own multi-factor authentication application with complete control over the branding and look-and-feel. With the Guardian SDK, you can build your own custom mobile applications that work like Guardian or integrate some Guardian functionalities, such as receiving push notifications in your existing mobile applications. A typical scenario could be for a banking app. You can use the Guardian SDK in your existing mobile app to receive and confirm push notifications when someone performs an ATM transaction.

Use Actions to enable Multi-Factor with Auth0 Guardian

To enable Auth0 Guardian within an Action, pass guardian as the provider parameter when you enable multi-factor authentication:
exports.onExecutePostLogin = async (event, api) => {
  api.multifactor.enable('guardian', { allowRememberBrowser: false });
};
To force your users to log in with Auth0 Guardian every time, create the Action with allowRememberBrowser: false.

Multi-Factor with Auth0 Guardian and Authorization Extension

This template provides an example and starting point to trigger multi-factor authentication with Auth0 Guardian for push notifications when a condition is met. Upon first login, the user can enroll the device. See Enable Multi-Factor Authentication for more information about M
exports.onExecutePostLogin = async (event, api) => {
const groups = event.user.app_metadata.authorization.groups;
const GROUPS_WITH_MFA = {
// Add groups that need MFA here
// Example
admins: true
};

const needsMFA = !!groups.find(function (group) {
return GROUPS_WITH_MFA[group];
});

if (needsMFA) {
// optional, defaults to true. Set to false to force Guardian authentication every time.
// See https://auth0.com/docs/secure/multi-factor-authentication/customize-mfa#change-frequency-of-mfa-prompts for details
api.multifactor.enable('guardian', { allowRememberBrowser: false });
}

};

Learn more