# Schermen en tokens

> De gegevens in installer.env, het token per scherm en hoe je dat wisselt of intrekt.

Bron: https://kyosk.nl/docs/schermen-en-tokens

Elk scherm heeft een scherm-id en meldt zich bij de API met een token. Daarmee weet de API welk scherm het is en bij welke klant het hoort.

## Het configuratiebestand

Het panel maakt voor elk scherm een `installer.env`. De belangrijkste gegevens:

| Gegeven | Betekenis | Geheim |
|---|---|---|
| `SCREEN_ID` | Het scherm-id, bijvoorbeeld `lobby` | Nee |
| `COMPANY_SLUG` | De klant waar het scherm bij hoort | Nee |
| `API_BASE` | Het adres van de API | Nee |
| `API_TOKEN` | Het token van dit scherm | Ja |
| `SCREEN_ON_TIME`, `SCREEN_OFF_TIME` | Wanneer het scherm aan en uit gaat | Nee |
| `SCREEN_ORIENTATION` | `landscape` (liggend) of `portrait` (staand) | Nee |
| `BRAND_COLOR` | De merkkleur van het scherm | Nee |
| `KIOSK_RENDERER_VARIANT` | `drm` (zonder grafische omgeving) of `x11` | Nee |
| `KIOSK_RELEASE_TAG` | Welke versie geïnstalleerd wordt, standaard `latest` | Nee |
| `WIFI_SSID`, `WIFI_PASSWORD` | Het wifi-netwerk, leeg betekent dat de installer ernaar vraagt | Wachtwoord is geheim |
| `TIMEZONE` | De tijdzone, standaard `Europe/Amsterdam` | Nee |

```env title="Voorbeeld, zonder geheimen"
SCREEN_ID="lobby"
COMPANY_SLUG="mijn-klant"
SCREEN_ON_TIME="07:00"
SCREEN_OFF_TIME="22:00"
SCREEN_ORIENTATION="landscape"
KIOSK_RENDERER_VARIANT="drm"
```

## Een eigen token per scherm

Standaard krijgt elk scherm een eigen token (`kst_` met daarachter een lange willekeurige reeks). Dat is veiliger dan één token voor alle schermen van een klant: een gestolen token geeft alleen toegang tot dat ene scherm, en alleen op de routes die de Pi gebruikt.

- Het panel bewaart alleen een hash van het token. Het token zelf zie je één keer, op het moment dat je het uitgeeft.
- Een token staat nooit in de lijst van opdrachten, het logboek of de meldingen.

### Een token wisselen

Kies op de schermpagina Uitgeven en bevestig. Het panel zet de opdracht `set-token` klaar. De Pi schrijft het nieuwe token weg, controleert het meteen met een echte aanroep en meldt dat terug. Pas dan wordt het nieuwe token actief.

Krijgt de Pi met het nieuwe token een fout, dan valt hij terug op het vorige token en meldt dat. Het scherm blijft dus werken.

### Een token intrekken

Kies Intrekken. Het scherm kan het token daarna niet meer gebruiken. Een nog wachtende opdracht om het token te wisselen wordt geannuleerd. Het enige actieve token van een scherm intrekken kan alleen met een bewuste bevestiging, omdat het scherm daarna offline gaat.

> [!OPMERKING] Een gewijzigd of ingetrokken token werkt binnen ongeveer een minuut, omdat de API tokens kort onthoudt. Bij een lek: zet de klant ook tijdelijk uit.

## Een Pi vervangen

1. Maak een nieuwe `installer.env` voor hetzelfde scherm-id, bij voorkeur met een nieuw token. Instellingen en slides blijven dan behouden.
2. Installeer de nieuwe Pi zoals bij een nieuw scherm. De oude Pi valt vanzelf op offline.
3. Wis de oude SD-kaart: die bevat het token en de wifi-gegevens.
