Maintenance messages usage and limitations

If multiple messages are configured with overlapping validity periods, then the message with the longest remaining validity period is chosen as the currently valid message.

This applies to the Loginapp and for the REST API.

Limitations

Maintenance Messages in Airlock IAM are configured for presentation on the login application. It is not possible to present individual maintenance messages for the different back-end applications.

The configuration of maintenance messages requires a database persister and cannot be used with an LDAP or MS-AD persister.

Make sure the HTML produced by the HTML editor does not violate your CSP configuration. The default CSP provided with Airlock IAM will prevent the inline styling used by the HTML editor and needs to be relaxed if inline styling is required. 

Simultaneously using the JSP-Loginapp and the Loginapp REST API

To retrieve the currently valid maintenance message using the Loginapp REST API, consider the following call:

HTTP Request - GET Maintenance Message (Example)

GET https://iam-host.com/auth/rest/public/maintenance-messages/

This should return a JSON Object that contains the message with all relevant attributes to the message.

HTTP Response - maintenance-messages

200 OK
{
    "meta": {
        "type": "jsonapi.metadata.document",
        "timestamp": "2018-12-18T14:46:58.707+01:00"
    },
    "data": [
        {
            "type": "maintenance-message.current",
            "id": "DowntimeAnouncement_1",
            "attributes": {
                "systemAvailable": false,
                "validFrom": "2018-12-16T22:00:00.000+01:00",
                "validTo": "2018-12-21T08:00:00.000+01:00",
                "language": "de",
                "text": "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width: 500px;\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t<p>This is a notice presented to all end users of this system.</p>\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p>&nbsp;</p>\n"
            }
        }
    ]
}

Note that in the example above, the REST API got the message used for the Loginapp (JSP) including the HTML markup code. This may be suitable in web applications but not for other REST clients.

It is therefore better to manage maintenance messages for the Loginapp (JSP) and the Loginapp REST UI separately. To do so, use the Locations concept.