Chybova hlaseni konektoru rikaji, co se stalo, a kam to slo
Duvod od sluzby jde primo do hlasky: z tela odpovedi se vytahne detail, error_description, message, title, error i seznam missingHeaders. Retezec, ktery vypada jako JSON, se rozbaluje dal - sluzba iDoklad presne takhle predava telo od iDokladu samotneho. Kdyz sluzba nenapsala nic, rekne se to. 401 a 403 uz nejsou jedna hlaska. 401 = udaje sluzba dostala a neuznala je. 403 = tvar udaju je v poradku, zakazuje se samo volani. V kazde hlasce je cela adresa vcetne serveru (ScriptRequestInfo.url), bez query - v query muze byt tajemstvi. Zaklad adresy je z konfigurace a konektor ho smi prepsat, takze se neda odvodit z toho, kde je nasazeny portal. Adresa je videt i na karte konektoru a v odpovedi na test, i kdyz overeni projde. Tlacitko Logy na karte konektoru a historie poslednich peti overeni. Odpoved sluzby dosud existovala jen v odpovedi na test, tedy do prekresleni stranky, a v logu containeru. Do logu containeru se nikdo divat nechodi. Zaznam se uklada i pri uspechu, jinak by neslo poznat, jestli konektor nesel nikdy, nebo prestal jit ve chvili, kdy nekdo sahnul na udaje. Migrace 003_connector_checks.sql, endpoint GET /connectors/:id/checks. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6297bbf480
commit
5a124a53d8
@@ -2,6 +2,55 @@
|
||||
|
||||
Nejnovejsi nahore.
|
||||
|
||||
## 2026-08-25 - chybova hlaseni konektoru rikaji, co se stalo
|
||||
|
||||
"Pristup zamitnut: GET /apps/idoklad/account/agenda vratilo HTTP 403.
|
||||
Zkontrolujte pristupove udaje." Tahle hlaska je k nicemu. 403 muze byt
|
||||
nepovolena IP adresa i spatne udaje a veta radi presne to, co v tu chvili
|
||||
nepomuze. Duvod pritom sluzba do tela odpovedi napsala, jen se zahodil.
|
||||
|
||||
### Zmeneno
|
||||
|
||||
- **Duvod od sluzby jde primo do hlasky.** `src/scripts/http.ts` vytahne
|
||||
z tela odpovedi `detail`, `error_description`, `message`, `title`, `error`
|
||||
i seznam `missingHeaders`. Retezec, ktery vypada jako JSON, se rozbaluje
|
||||
dal - nase sluzba iDoklad presne takhle predava telo od iDokladu samotneho.
|
||||
Kdyz sluzba nenapsala nic, hlaska to rekne, misto aby to zamlcela.
|
||||
- **401 a 403 uz nejsou jedna hlaska.** 401 = udaje sluzba dostala a neuznala,
|
||||
IP adresa s tim nema co delat. 403 = tvar udaju je v poradku, zakazuje se
|
||||
samo volani, tedy IP adresa, opravneni uctu nebo aplikace, pod kterou se vola.
|
||||
- **Cela odpoved sluzby je u overeni konektoru rozbalena rovnou**
|
||||
(`ErrorDetail` ma novy `defaultOpen`). U chyby, kterou nikdo necekal,
|
||||
je slozeny toggle to same jako zadny detail.
|
||||
|
||||
### Pridano
|
||||
|
||||
- **Cela adresa vcetne serveru v kazde hlasce.** `ScriptRequestInfo` ma nove
|
||||
`url` (origin a cesta, bez query - v query muze byt tajemstvi). Do te doby
|
||||
hlaska rikala jen `/apps/idoklad/account/agenda`, coz nerekne, jestli se to
|
||||
trefilo na spravny stroj, nebo to zaridla cizi proxy cestou. Zaklad adresy
|
||||
je z konfigurace a konektor ho smi prepsat, takze se neda odvodit z toho,
|
||||
kde je nasazeny portal. Adresa je videt i na karte konektoru, v hlavicce
|
||||
dialogu Logy a v odpovedi na test i kdyz projde (`baseUrl`).
|
||||
- **Tlacitko Logy na karte konektoru a historie poslednich peti overeni.**
|
||||
Dosud odpoved sluzby existovala jen v odpovedi na test, tedy do prekresleni
|
||||
stranky, a v logu containeru. Do logu containeru se nikdo divat nechodi.
|
||||
Zaznam se uklada i pri uspechu, jinak by neslo poznat, jestli konektor nesel
|
||||
nikdy, nebo prestal jit ve chvili, kdy nekdo sahnul na udaje.
|
||||
Migrace `003_connector_checks.sql`, endpoint
|
||||
`GET /api/dashboard/connectors/:id/checks`.
|
||||
|
||||
### Nedoreseno
|
||||
|
||||
Proc iDoklad vraci 403, zatim nevime. Vylouceno je to, co posilame: zadna
|
||||
kombinace hlavicek (`Idempotency-Key`, `Accept`, User-Agent) 403 nevyvola,
|
||||
sluzba na ne odpovida 401 jako na cokoliv jineho. Zbyva **zdrojova IP adresa
|
||||
naseho containeru** nebo **403 od iDokladu samotneho**, ktere sluzba jen
|
||||
predava dal. Rozhodne to telo te odpovedi, ktere je nove v portalu pod Logy.
|
||||
|
||||
Sonda na `/health` vedle overeni byla spatny napad a je pryc: `/health`
|
||||
povoleni IP adresy nevyzaduje, takze z toho, ze projde, o IP nic neplyne.
|
||||
|
||||
## 2026-08-20 - vystup z vetve plati i za podminkou
|
||||
|
||||
Pri stavbe cesty "objednavka -> faktura" vyslo najevo, ze se bezny postup neda
|
||||
|
||||
Reference in New Issue
Block a user