Vse novice

Identiteta in varnost

Keycloak 26.0 → 26.8: kaj nas je presenetilo in kam smo to zapisali v gradniku

· Toolkit · 2 min branja

Terminal: vrstica FROM v Dockerfilu se premakne s Keycloaka 26.0.8 na 26.8.0, zbirka testov za sporočila pade, ker 26.8 prinaša še en JAR s temami, in uspe, ko prebere natanko enega.

Gradnik Keycloak 1.x je bil pripet na 26.0.8, ki za 26.8 zaostaja za osem manjših različic, in ni dobil nobenega popravka iz teh različic. Če bi vsak produkt nadgrajeval sam, bi vsak v svojem cevovodu naletel na ista presenečenja.

Ena nadgradnja, v gradniku

Gradnik Keycloak 2.0.0 s Keycloakom 26.8.0 smo izdali 12. oktobra 2026. V Dockerfilu gradnika sta to dve vrstici: FROM s povzetkom (digest) in vrstica LABEL, ki ponovi različico. Zbirka testov strukture zdaj preveri, ali se LABEL ujema z vrstico FROM. Kar nas je presenetilo, smo zapisali v test ali dnevnik sprememb.

  • Test, ki ni prebral ničesar. Keycloak 26.8 poleg JAR-a s temami prinaša še keycloak-themes-vendor-*.jar. Test sporočil je iskal keycloak-themes-*.jar; vzorec je zajel obe datoteki, zato test ni kopiral nobene in je bilo videti, da Keycloak ne pozna nobenega od 32 slovenskih ključev. Prevod je bil v redu, test ne. Zdaj sprejme natanko en JAR in sam javi napako, če prebere manj kot 100 angleških ključev.
  • Nove privzete vrednosti realma. Realm, ki ga pripravi gradnik, se od tistega iz različic 1.x razlikuje le po Keycloakovih privzetih vrednostih za nov realm, kot kaže primerjava referenčnih izvozov realma. Med njimi so tri nova zahtevana dejanja, zahteva po shranjenem ključu (resident key) in preverjanju uporabnika pri prijavi WebAuthn brez gesla, odsotnost glave X-XSS-Protection in odjemalec realm-management, ki je v skrbniškem API-ju le za branje. Priprava realma se ni spremenila in sprejem pogojev uporabe ostaja privzeto zahtevano dejanje. Keycloak obstoječi realm migrira in ga ne ustvari znova, zato se njegove vrednosti lahko razlikujejo.
  • Teme za prijavo. Od 26.7 se predloge izvajajo s privzetimi nastavitvami FreeMarkerja 2.3.32, od 26.5 pa Keycloak HTML prikaže le še v sporočilu termsText; prav to sporočilo lahko gradnik 2.1.0 nastavi tako, da vsebuje povezavi do pogojev uporabe in politike zasebnosti. Pred izdajo smo na novi sliki zgradili Reputovo temo: strani za prijavo in pogoje sta se prikazali brez napak v predlogah.

Dnevnik sprememb navaja še: PostgreSQL 14 ali novejši, enkratne povezave za zahtevana dejanja, zavrnjene preusmeritvene naslove URI s parametrom state ali code ter korake za nadgradnjo iz gradnika 1.x.

Reputo in Leadgener sta prešla isti dan, vsak s svojo zahtevo za združitev, ki spremeni le pripeto različico gradnika in komentar ob njej. Še isti večer smo 26.8.0 namestili v obe razvojni okolji.

Ekipa, ki uporablja gradnik Keycloak, dobi nadgradnjo Keycloaka kot različico gradnika, ki je te teste že prestala, spremembe pa so zapisane v dnevniku sprememb. Na vas je, da pred prvim zagonom nove različice naredite varnostno kopijo baze Keycloaka, spremenite pripeto različico, na novi sliki zgradite svojo temo za prijavo, če jo imate, in v razvojnem okolju enkrat pregledate strani za prijavo, registracijo in pogoje.