(oproti jejich návodu jsou tam dvě properties navíc - ta první spustí keycloak na portu 8083 místo defaultního 8080, na kterém běží Kramerius. Druhá umožní v dalším kroku nahrát předkonfigurovaný realm pro Kramerius)
-
přihlásit se na http://localhost:8083 a vytvořit si administrátorský účet s libovolným jménem a heslem, třeba
keycloakAdmin
a s ním se pak přihlásit do admin konzole keycloaku -
vlevo nahoře je přepínač realmů, defaultně je v něm
master
a po kliknutí na něj se objeví volbaAdd realm
- v následujícím dialogu je položkaImport
a tlačítkoSelect file
. Tím vyberte souborkramerius-realm.json
, který najdete v root adresáři projektu kramerius (https://github.com/ceskaexpedice/kramerius/blob/master/kramerius-realm.json) Realm by se měl úspěšně naimportovat, v seznamu klientů by měl přibýtkrameriusClient
, v uživatelíchkrameriusAdmin
a v rolíchkramerius_admin
ak4_admins
. -
Podle administrátorské dokumentace Keycloaku založte realm
kramerius
, klientkrameriusClient
, v uživatelíchkrameriusAdmin
a v rolíchcommon_users
,public_users
,kramerius_admin
ak4_admins
. Můžete také přidat externí identity providery, například Shibboleth, Facebook, Twitter apod.
Pro použití v produkčním prostředí je důležité změnit defaultní hodnoty client secret a heslo uživatele krameriusAdmin
Jako instanci keycloaku je možné použít také Spring boot aplikaci, která je k dispozici v projektu https://github.com/ceskaexpedice/keycloak - stačí ji stáhnout, zbuildovat a spustit hlavní třídu AuthorizationServerApp
. Aplikace ale používá starší verzi jádra Keycloak, do které není možné naimportovat předdefinovaný realm ze souboru kramerius-realm.json a realm kramerius je tedy třeba nastavit ručně. A navic tento keycloak zabalený ve Springu nejde použít pro přístup přes apache proxy, funguje jen na localhostu přes port 8083. Je tedy vhodnější použít standalone instalaci Keycloaku, případně jako Docker image.
Pro zjednodušení komunikace mezi klientem a serverem je součástí API Krameria endpoint pro získání access tokenu, který slouží jako fasáda/proxy k volání autentizačního API keycloaku.