Theme Endpoint
The Theme endpoint is called by the client application during the authentication flow to get the interface definition (branding and labels) for the portal.
Themes can be created/updated using the SCIM Customization endpoint and are identified by unique theme_id.
The returned value is the content from the payload.
For further information designing themes, see Customizing the Identity Portal.
The endpoint is exposed at the following URL (and can be obtained from the server discovery endpoint):
https://[base-server-url]/{tenant}/authn/theme [GET]
Theme Request
The supported query parameters are:
-
request_uri - required
-
theme_id - optional, if absent, the theme defined for the OpenID client which initiated the request_uri is used
Sample request to get a theme definition
GET https://[base-server-url]/{tenant}/authn/theme?request_uri=urn%3Ahid%3A105e3af0-04ec-4031-aaee-cac8fc1e999e HTTP/1.1
Sample request to get a theme definition with identifier
GET https://[base-server-url]/{tenant}/authn/theme?request_uri=urn%3Ahid%3A105e3af0-04ec-4031-aaee-cac8fc1e999e&theme_id=ID_THEME2 HTTP/1.1
Theme Response
Sample response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"localization": {
"extensions": {},
"hid_portal": {
"en": {
"service_name": "HID Authentication Service",
"service_tagline": "Rapidly build and deliver trusted identity solutions",
"company_name": "HID Global",
"application_title": "Authentication Service",
"select_factor.label": "Select a login credential",
"next_button": "Next",
"cancel_button": "Cancel",
"submit_button": "Submit",
"userid.label": "User Identifier",
.....
},
"fr:": {
"service_name": "Service d'authentification HID",
"service_tagline": "Construisez et délivrez rapidement des solutions d'identité de confiance",
"company_name": "HID Global",
"application_title": "Service d'authentification"
"next_button": "Suivant"
}
}
},
"ui": {
"extensions": {
"mycustomelement2": {"color": "orange"},
"mycustomelement1": {"color": "red"},
"mycustomelement3": {"mycustomlogo1": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAVWZqWNWH.....<shortened>...LVjB1zBZk1nJTi/LYLKyb3YxefWSOu1b1t9HnOP+eHXbHZnV95bz0evVCtToyzZqNaY6q1UK9dy/UNmzYsGHDhg1C8D/J9batc1Yi+wAAAABJRU5ErkJggg=="}
},
"hid_portal": {
"gradient-end": "orange",
"gradient-start": "red",
"logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAVWZqWNWH.....<shortened>...LVjB1zBZk1nJTi/LYLKyb3YxefWSOu1b1t9HnOP+eHXbHZnV95bz0evVCtToyzZqNaY6q1UK9dy/UNmzYsGHDhg1C8D/J9batc1Yi+wAAAABJRU5ErkJggg=="
}
}
}
Error Responses
Code | Label | Possible Errors |
---|---|---|
400 |
BAD REQUEST |
invalid_request |
Error when the server-csrf-token parameter missing
HTTP/1.1 400 Bad Request
{
"error_description": "Invalid requestMissing server-csrf-token",
"error": "invalid_request"
}