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.

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. 

Retrieve maintenance messages

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 obtained a message including HTML markup code. This may be suitable for web applications but not for other REST clients.

It is therefore advisable to manage maintenance messages separately for separate client types. To do so, use the Locations concept.