This commit is contained in:
Aleksander Cynarski 2020-10-15 18:20:06 +02:00
parent 13fe5de466
commit 306b196f45

View File

@ -1,21 +1,25 @@
# KrakenD api gateway playground
Poszczególne etapy pracy i poznawania krakend w osobnych brancz'ach.
Całość oparta do docker.
- etap1 (podstawka)
Proste zmokowane api oraz krakend config-watcher (restertujący usługę po zmianie pliku konfiguracyjnego). Fajny patent wykorzystujący [Reflex](https://github.com/cespare/reflex).
- etap2 (JWT)
Tutaj już będzie deko więcej roboty.
## etap2 (JWT)
Tutaj już będzie deko więcej roboty. Backend z etapu1, czyli prosty nie zabezpieczony serwer REST.
Do naszej infrastruktury dodajemy usługę [Hydra](https://www.ory.sh/hydra/docs/), która jest dostawcą protokołu **OAuth2** oraz **OpenID** aby zabezpieczyć nasze api za pomocą [JWT](https://jwt.io/).
W poprzednim przykładzie (etap1) KrakenD posłóżył nam do sekwencji zapytań do api i jednej odpowiedzi
```mermaid
sequenceDiagram
Użytkownik->>KrakenD: /sequential/{id}
KrakenD->>Backend: /users/{id}.json
Backend-->>KrakenD: response_0
KrakenD->>Backend: /projects/{response_0.user_id}.json
Backend-->>KrakenD: response_1
KrakenD-->>KrakenD: merge response[]
KrakenD->>+Użytkownik: Response
```
Przykład wykorzystania KrakenD do zabezpieczenia bakendu za pomocą JWT:
[![asciicast](https://asciinema.org/a/Py3dbR2m5Jt3FdhGI7eINtpdu.png)](https://asciinema.org/a/Py3dbR2m5Jt3FdhGI7eINtpdu)
[![asciicast](https://asciinema.org/a/Py3dbR2m5Jt3FdhGI7eINtpdu.png)](https://asciinema.org/a/Py3dbR2m5Jt3FdhGI7eINtpdu)