Unregistered Multi-factor Authentication means that it is possible to require Unregistered SMTP or Unregistered SMS as the second factor authentication method for unregistered users returned from a SAML method or an OpenID Connect method.
While normally with Unregistered SMTP or SMS end users need to enter their email address or mobile phone number, in multi-factor authentication that information is passed as method attributes from the OpenID Connect or SAML method.
Prerequisite
SAML method or OpenID Connect method to be used as the first factor method.
Unregistered SMTP or Unregistered SMS method to be used as the second factor method.
Configuration
Configure the SAML or OIDC identity provider linked to the first factor method to return end user’s email address and/or mobile phone number.
email address is required for the Unregistered SMTP
mobile phone number is required for the Unregistered SMS
Create an attribute mapping to map the attribute names to be exactly as specified below, which is what the Unregistered SMTP and SMS methods expect for the unregistered multi-factor authentication to work. If the identity provider returns the attributes directly with the expected name, then attribute mapping is not necessary.
# Create new Attribute Mapping with name "attributemapping" and link it to methods PUT /inboundPolicy/attributemapping PUT /inboundPolicy/attributemapping/$link/method/unregistered.smtp PUT /inboundPolicy/attributemapping/$link/method/unregistered.sms
Attribute name must be
phone_number
for the mobile phone number.# Rename method attribute "mobile" as "phone_number" POST /inboundPolicy/attributemapping type=inboundPolicyItem&attributename=phone_number&attributevalue=mobile
Attribute name must be
email
for the email address.# Rename method attribute "mail" as "email" POST /inboundPolicy/attributemapping type=inboundPolicyItem&attributename=email&attributevalue=mail
Set configuration string
mfa true
for the second factor method.Management API:
# Note that you need to set also the existing configuration parameters, otherwise # they get overwritten. In below request "configuration:..." is to mark that. PUT /method/unregistered.smtp configuration=mfa%20true&configuration=...
Link the second factor method as the next factor method for the first factor method.
Management API:
PUT /method/oidc.1/$link/nextFactor/method/unregistered.smtp
Not possible to set with Management UI.
Link the second factor method to the application site and set it as an allowed method for the application.
Management API:
PUT /site/demosite/$link/method/unregistered.smtp PUT /application/demosite/demoapp/$link/method/unregistered.smtp enabled=true
First factor method being an allowed method for the application or not has the following effect.
If the first factor method is allowed, then user is required to authenticate with a second factor method if there’s at least one second factor method available. If no second factor methods are available, then access is allowed with only first factor method authentication.
A second factor method is available if it is allowed for the application and a method attribute with the expected name for the second factor method exists and has non-empty value.
If the first factor method is not allowed, then user is required to authenticate with a second factor method without exceptions. If no second factor methods are available, then access is denied.