Multifactor Authentication deprecated
Appsuite provides methods for users to require secondary, additional methods of authentication before creating a valid Appsuite session. These methods may include SMS messages, Time based authenticator methods, U2F compatible devices/keyfobs, and other custom methods.
Please Note: When a user enables multifactor authentication for their account, their logins will be limited to the Appsuite UI only, as client applications (Mail app, Drive app, Exchange Active Sync) do not currently have the interface to perform the additional multifactor requirements. As of 7.10.4, users can add Application Passwords to use in order to bypass multifactor authentication for their client applications. See Application Passwords for details.
Enabling Multifactor
The open-xchange-multifactor
package is required for the core of multifactor authentication. The package can be enabled in your chart's values.yaml
:
core-mw:
packages:
status:
open-xchange-multifactor: enabled
For some methods (such as SMS), additional packages will be required. With SMS, for example, you must also enable a provider, such as open-xchange-sms-sipgate
.
Then, multifactor must be enabled as a capability. This can be done in the multifactor.properties file, or as a cascade value
com.openexchange.capability.multifactor=true
Enabling SMS
First, the SMS provider must be installed and configured. Most will require a configured username and password, or AUTH_TOKEN. Install the needed package and configure.
At that point, you should enable SMS in the multifactor.properties file
com.openexchange.multifactor.sms.enabled=true
The following properties are also available
com.openexchange.multifactor.sms.tokenLength (default is 8 characters)
com.openexchange.multifactor.sms.tokenLifetime (Number of minutes until challenge expires)
com.openexchange.multifactor.maxTokenAmount (Maximum number of challenges before locked out)
Enabling TOTP
TOTP is Time-based One Time Password. This works with several apps available in mobile stores, such as Google Authenticator.
To enable, just set in the multifactor.properties file
com.openexchange.multifactor.totp.enabled=true
Enabling Backup String
This is a method to allow a user to log into their account if they lose their primary multifactor authentication device (say losing their phone or U2F token). It is a long string that they can copy, download, or print to use to unlock the account in the event of loss
To enable, set in the multifactor.properties file
com.openexchange.multifactor.backupString.enabled=true
Enabling U2F
U2F is supported in Google Chrome, as well as Firefox (though requires user changing advanced settings).
In multifactor.properties, enable U2F
com.openexchange.multifactor.u2f.enabled=true
Then, the domain that the user will be using must be specified. This will be used with the requests to the U2F device, and must mach the website. This configuration is config-cascade aware
com.openexchange.multifactor.u2f.appId=https://yourdomain
Enabling WebAuthn
WebAuthn allows authentication with public-key cryptography. The WebAuthn provider is backwards compatible with U2F, which means that authentication with already registered U2F devices is possible.
Note that the WebAuthn provider is currently only able to perform authentication with registered U2F devices. Registrations of new devices via WebAuthn is currenlty not supported.
In multifactor.properties, enable WebAuthn
com.openexchange.multifactor.webAuthn.enabled=true
Then, the name of the domain that the user will be using must be specified. This will be used with the requests to the WebAuthn device, and must mach the website. This configuration is config-cascade aware.
com.openexchange.multifactor.webAuthn.rpId=yourdomain
Login Page
By default, the UI will change from the login page, draw the customized toolbar, then display a prompt for the multifactor authentication.
If you would prefer to have your login screen, or a different second factor screen used as the background, then you can configure in the as-config.yml
For example:
default:
host: all
signinTheme: default
multifactorBackground: pages/secondFactor