Login

By editing a login configuration you can define the authentication options for your solution and customize the login experience for your users. It is common to use one configuration that applies to all environments but if you want to enable a different login configuration for an environment, it can be set under Environments.

The login configuration is used for the built-in authentication pages. Additionally, some settings apply to the app listing page that is shown at the root URL of the Appfarm Client when multiple apps are available.

Custom login app

You can build a custom authentication flow by creating a custom login app. As an example, we use a custom app for sign up and login in the Showroom. Note that this custom login app must be an Unauthenticated App and that it should be defined as the Default App in the Environments Config.

General settings

SettingDescription

Name

An internal name for this login configuration.

Page Title

Used in the <title> tag and displayed as the title of the browser tab. Defaults to Appfarm.

Favicon

Logo

Info Text

Text displayed below the logo on the login page.

App

An app to use for a custom authentication flow, replacing the built-in authentication pages.

Theme

Background Color

Setting a background color will overwrite the background color from a theme.

Background Image

Background Gradient

Authentication options

SettingDescription

Password Login

Enable login with a password set by the user.

Login Link

Enable passwordless login where a "magic link" is sent to the user's email address. After clicking this link logs the user in.

One Time Password Login

Enable one-time password login where a 6-digit code is sent to the user's email address. After entering this code the user is logged in.

Google

Enable Sign In With Google.

Custom Auth

Onboarding URL

A URL where a user can create a user account. Must be a full URL including the protocol, for example https://onboarding.appfarm.io.

When a value is entered, the following text is displayed on the login page: "Don't have an account? Sign Up". Sign Up is linked to the provided onboarding URL.

Disable iOS Fullscreen

Currently, the implementation of Progressive Web Apps on Apple devices has limitations. Some authentication methods like OAuth (Google, Facebook, Microsoft Entra ID) and login links will not work in combination with fullscreen usage. In that case, fullscreen should be disabled.

Custom auth

Appfarm supports custom authentication providers such as Microsoft Entra ID (Azure AD). A provider should first be configured under Custom auth providers and then added within the login configuration. Each custom auth provider configuration has the following settings.

SettingDescription

Name

A reference for the configuration.

Enabled

Enable users to authenticate using this configuration.

Hide Login Button

Button Text

The text shown on the button on the login page to start authentication. If not specified, Name is used.

Provider

Mail templates

Emails are sent to users in conjunction with standard user authentication operations. The details and content of those emails can be customized. The following emails can be customized:

  • Reset password

  • Welcome

  • Login link

  • One time password

You can find examples of custom templates under Email templates.

Important

All authentication emails sent by Appfarm are sent from security@appfarm.io. It is not possible to change this email address.

SettingDescription

From Display Name

The name of the sender. Defaults to Appfarm.

Reply-To Address

Subject

This should be edited and mention your company/product name. The default subjects reference Appfarm.

Text Body Template

A plain text email body. The following parameters can be used within the text to dynamically populate data:

  • {{firstName}}

  • {{lastName}}

  • {{resetLink}} (Reset password and welcome emails)

  • {{loginLink}} (Welcome and login link emails)

  • {{oneTimePassword}} (One time password email)

  • {{email}}

  • {{hostName}}

HTML Body Template

A HTML email body. The text body must be populated for a custom HTML body to be used. The same parameters for populating dynamic data are available.

Last updated