Go to file
2020-10-15 20:42:18 +02:00
api-mocks Prosty sequential proxy 2020-10-11 13:51:18 +02:00
krakend Makefile 2020-10-15 17:36:15 +02:00
.env.dist .env.dist 2020-10-15 20:42:18 +02:00
.gitignore Wstępna implementacja JWT - tak tego nie rób! 2020-10-14 20:55:43 +02:00
docker-compose.yml Makefile 2020-10-15 17:36:15 +02:00
Makefile Makefile 2020-10-15 17:36:15 +02:00
README.md README 2020-10-15 20:41:24 +02:00

KrakenD api gateway playground

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, która jest dostawcą protokołu OAuth2 oraz OpenID aby zabezpieczyć nasze api za pomocą JWT.

W poprzednim przykładzie (etap1) KrakenD posłóżył nam do sekwencji zapytań do api i jednej odpowiedzi W tym etapie wprowadzimy nowy request zabezpieczony tokenem JWT:

sequenceDiagram
    Użytkownik->>KrakenD: /jwt_access <br/>[Authorizaion: Bearer token]
    KrakenD->>Hydra: .well-known/jwks.json
    Hydra-->>KrakenD: jwk
    KrakenD-->>KrakenD: validator <br/>[issuer]
    KrakenD->>Backend: /users/1.json
    Backend-->>KrakenD: response_0
    KrakenD->>+Użytkownik: Response

Flow jest typowo testowy, na razie nie ma revoke jwt, a samo pobranie tokenu należy zrobić za pomocą pliku Makefile.

Przykład wykorzystania KrakenD do zabezpieczenia bakendu za pomocą JWT:

asciicast