LPS:IdM/midPoint/JIS-Cards
Info
sdJIS je systém vyvíjený na ZČU. Resource řeší čtení JIS karet ze systému sdJIS.
- Resource: JIS-Cards
- Git: https://ipmil.civ.zcu.cz/midpoint/connector-ngjis
- Endpointy:
- produkce: https://stag-ws.zcu.cz/ws/services/soap/ng_jis
- vývoj (IdM agenor): http://localhost:8088/ng_jis
- vývoj (default): http://localhost:8080/ng_jis (lokálně běžící server, unit-testy)
- WSDL: https://stag-ws.zcu.cz/ws/services/soap/ng_jis?wsdl
- Dokumentace
- (zadání) IdAM-ng/2025/eJIS
- (rozhraní) RT #455128
Data uvnitř sdJIS jsou modelována v tabulkách: test-environment-stag
- J_OSOBY - osoby externě z IdM nebo lokální účty
- J_KARTY - karty jako takové (např. číslo čipu), ale bez fotky a stavu
- J_ZADOSTI - informace o žádosti a životním cyklu karty (stav, fotka, doba platnosti)
- J_EXT_VYROBA - "superhostovské karty" s vazbou na CRO ID
Interně je "hlavním" zdrojem dat tabulka J_ZADOSTI. Tj. termín "žádost" znamená de-facto karta vč. stavu.
| kind | objectClass | intent | focus | význam |
|---|---|---|---|---|
| entitlement | #JIS | JIS | ServiceType | osoba |
Model a chování
JIS
Viz JIS.
Systém vrací žádosti karet ve vybraných stavech (V5, V8, O1, E1, EB, EA).
Podporované je query podle ID žádosti a stavu žádosti, bez filtru se vrací vše
Jedna osoba může mít více aktivních karet - fyzickou plastovou kartu a k tomu (teoreticky) několik eJIS. eJIS bez fyzické karty se zatím nepředpokládá. Více eJIS karet se také zatím nepředpokládá.
Atributy:
- idZadosti: primární klíč
- cisloKarty: sekundární klíč (name), číslo čipu, eJIS používá čip z plastové karty se suffixem
- vizualniId: eJIS bude totožné s plastovou kartou (řeší se na straně sdJIS) => není unikátní
- osobní údaje: jen infomačně, nepoužívat jako zdroj dat (ale možná potenciální využití u hostovských karet)
Speciální případ jsou hostovské karty. IdM je vidí a tahá si je. Vazbu na člověka mají jen některé (v J_EXT_VYROBA). Obecně jsou ale hostovské karty BEZ UŽIVATELE.
Hostovské karty např. pro ISKaM se udržují v IdM nezávisle, nejsou napojené na service objekty s NG JIS a nijak se nesynchronizují!
Postupy
Řádkový klient
Produkce:
url=https://stag-ws.zcu.cz/ws/services/soap /opt/stag/ngjis.sh --url "$url/ng_jis" --user "$user" --password "$pass" jisIdmApi --help
Vývoj:
url=http://127.0.0.1:8088 /opt/stag/ngjis.sh --url "$url/ng_js" jisIdmApi --help
Příklad - změny karet za poslední hodinu:
/opt/stag/ngjis.sh --url "$url/ng_jis" --user "$user" --password "$pass" jisIdmApi NULL NULL "$(date '+%d.%m.%Y %H:%M:%S' --date 'hour ago')"
Testování a vývoj
Pro testovací IdM a unit-testy lze využít emulovaný IS/STAG server. Rozhraní ng_jis je podporováno.
Server
Start serveru pro testovací IdM (patří do systemd unit):
/opt/midpoint-stag/server.sh
Start lokálně:
./run.sh --server
Klient
# informace (seznam karet, resp. žádostí o karty) ./jis-data.py request
# příklad aktivace karty ./jis-data.py updaterequest 13 STAV=E1
# příklad deaktivace Brumbálovy eJIS ./jis-data.py updaterequest 13 STAV=EB
# příklad vyrobení karty (request+card) # seznam osob: ./jis-data.py person ./jis-data.py create 9450 CISLO_KARTY=CHIP_TEST01 TYP_HW=V VIZUALNI_ID=TEST01 STAV=E1 DRUH=K MISTO_VYDEJE=Plzeň EMAIL=tsuite@example.com VYDAVATEL=ZČU PLATNOST_OD=2026-01-01