Skip to main content

Developing the Voting Portal

Dedicated kiosk URLs​

An environment can expose kiosk voting through separate voting portal and Keycloak hostnames. Configure these optional settings:

SettingUsed byExample
KIOSK_VOTING_PORTAL_URLVoting Portal, Admin Portal, Windmillhttps://voting-example-kiosk.sequent.vote
KIOSK_KEYCLOAK_URLVoting Portalhttps://login-example-kiosk.sequent.vote/auth/

When KIOSK_VOTING_PORTAL_URL is configured, kiosk links generated by the Admin Portal use it. A kiosk request made through the normal voting portal is redirected to the configured kiosk origin while retaining its path, query and fragment. The voting-portal-kiosk Keycloak client also receives this URL as its root URL and login base URL.

When KIOSK_KEYCLOAK_URL is configured, the Voting Portal uses it for kiosk authentication. Normal voting continues to use KEYCLOAK_URL. If either kiosk setting is absent or empty, the corresponding normal URL is used for backwards compatibility.

Keycloak must generate frontend URLs from the requested, proxy-controlled hostname when normal and kiosk login hostnames serve the same realms. Use dynamic hostname resolution with trusted proxy headers, and restrict the proxy routes to the declared normal and kiosk hostnames. Client certificate enforcement, if required, is configured separately at the edge.